Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT > Class Template Reference

Generic Spine node update interface template class that can be combined with a given surface equations class and surface derivative class to provide a concrete implementation of any surface element that uses spines. More...

#include <specific_node_update_interface_elements.h>

Inheritance diagram for oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >:

Public Member Functions

 SpineUpdateFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index, const unsigned &id=0)
 Constructor, the arguments are a pointer to the "bulk" element and the index of the face to be created. More...
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Calculate the contribution to the residuals and the jacobian. More...
 
void add_additional_residual_contributions_interface (Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag, const Shape &psif, const DShape &dpsifds, const DShape &dpsifdS, const DShape &dpsifdS_div, const Vector< double > &s, const Vector< double > &interpolated_x, const Vector< double > &interpolated_n, const double &W, const double &J)
 Helper function to calculate the additional contributions These are those filled in by the particular equations. More...
 
void output (std::ostream &outfile)
 Overload the output function. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output the element. More...
 
void output (FILE *file_pt)
 Overload the C-style output function. More...
 
void output (FILE *file_pt, const unsigned &n_plot)
 C-style Output function. More...
 
virtual FluidInterfaceBoundingElementmake_bounding_element (const int &face_index)
 Create an "bounding" element of the type specified by the BoundingElementType policy class Here, this allows the application of a contact angle boundary condition on the the specified face. More...
 

Protected Member Functions

double compute_surface_derivatives (const Shape &psi, const DShape &dpsids, const DenseMatrix< double > &interpolated_t, const Vector< double > &interpolated_x, DShape &surface_gradient, DShape &surface_divergence)
 Fill in the specific surface derivative calculations by calling the appropriate class function. More...
 

Private Member Functions

int kinematic_local_eqn (const unsigned &n)
 In spine elements, the kinematic condition is the equation used to determine the unknown spine heights. Overload the function accordingly. More...
 
void hijack_kinematic_conditions (const Vector< unsigned > &bulk_node_number)
 Hijacking the kinematic condition corresponds to hijacking the variables associated with the spine heights. More...
 

Detailed Description

template<class EQUATION_CLASS, class DERIVATIVE_CLASS, class ELEMENT>
class oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >

Generic Spine node update interface template class that can be combined with a given surface equations class and surface derivative class to provide a concrete implementation of any surface element that uses spines.

Definition at line 152 of file specific_node_update_interface_elements.h.

Constructor & Destructor Documentation

◆ SpineUpdateFluidInterfaceElement()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::SpineUpdateFluidInterfaceElement ( FiniteElement *const &  element_pt,
const int &  face_index,
const unsigned &  id = 0 
)
inline

Constructor, the arguments are a pointer to the "bulk" element and the index of the face to be created.

Definition at line 203 of file specific_node_update_interface_elements.h.

References oomph::FluidInterfaceAdditionalValues< ELEMENT >::nadditional_values(), and oomph::FluidInterfaceAdditionalValues< ELEMENT >::setup_equation_indices().

Member Function Documentation

◆ add_additional_residual_contributions_interface()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::add_additional_residual_contributions_interface ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian,
const unsigned &  flag,
const Shape &  psif,
const DShape &  dpsifds,
const DShape &  dpsifdS,
const DShape &  dpsifdS_div,
const Vector< double > &  s,
const Vector< double > &  interpolated_x,
const Vector< double > &  interpolated_n,
const double &  W,
const double &  J 
)
inline

Helper function to calculate the additional contributions These are those filled in by the particular equations.

Definition at line 293 of file specific_node_update_interface_elements.h.

◆ compute_surface_derivatives()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
double oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::compute_surface_derivatives ( const Shape &  psi,
const DShape &  dpsids,
const DenseMatrix< double > &  interpolated_t,
const Vector< double > &  interpolated_x,
DShape &  surface_gradient,
DShape &  surface_divergence 
)
inlineprotected

Fill in the specific surface derivative calculations by calling the appropriate class function.

Definition at line 183 of file specific_node_update_interface_elements.h.

◆ fill_in_contribution_to_jacobian()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
)
inline

Calculate the contribution to the residuals and the jacobian.

Definition at line 279 of file specific_node_update_interface_elements.h.

◆ hijack_kinematic_conditions()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::hijack_kinematic_conditions ( const Vector< unsigned > &  bulk_node_number)
inlineprivate

Hijacking the kinematic condition corresponds to hijacking the variables associated with the spine heights.

Definition at line 168 of file specific_node_update_interface_elements.h.

◆ kinematic_local_eqn()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
int oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::kinematic_local_eqn ( const unsigned &  n)
inlineprivate

In spine elements, the kinematic condition is the equation used to determine the unknown spine heights. Overload the function accordingly.

Definition at line 161 of file specific_node_update_interface_elements.h.

◆ make_bounding_element()

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
virtual FluidInterfaceBoundingElement* oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::make_bounding_element ( const int &  face_index)
inlinevirtual

Create an "bounding" element of the type specified by the BoundingElementType policy class Here, this allows the application of a contact angle boundary condition on the the specified face.

Definition at line 352 of file specific_node_update_interface_elements.h.

◆ output() [1/4]

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::output ( FILE *  file_pt)
inline

Overload the C-style output function.

Definition at line 335 of file specific_node_update_interface_elements.h.

◆ output() [2/4]

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::output ( FILE *  file_pt,
const unsigned &  n_plot 
)
inline

C-style Output function.

Definition at line 341 of file specific_node_update_interface_elements.h.

◆ output() [3/4]

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::output ( std::ostream &  outfile)
inline

Overload the output function.

Definition at line 323 of file specific_node_update_interface_elements.h.

◆ output() [4/4]

template<class EQUATION_CLASS , class DERIVATIVE_CLASS , class ELEMENT >
void oomph::SpineUpdateFluidInterfaceElement< EQUATION_CLASS, DERIVATIVE_CLASS, ELEMENT >::output ( std::ostream &  outfile,
const unsigned &  n_plot 
)
inline

Output the element.

Definition at line 329 of file specific_node_update_interface_elements.h.


The documentation for this class was generated from the following file: