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.
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Calculate the contribution to the residuals and the jacobian.
 
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.
 
void output (std::ostream &outfile)
 Overload the output function.
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output the element.
 
void output (FILE *file_pt)
 Overload the C-style output function.
 
void output (FILE *file_pt, const unsigned &n_plot)
 C-style Output function.
 
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.
 

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.
 

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.
 
void hijack_kinematic_conditions (const Vector< unsigned > &bulk_node_number)
 Hijacking the kinematic condition corresponds to hijacking the variables associated with the spine heights.
 

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: