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
FluidInterfaceBoundingElement
make_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 153 of file specific_node_update_interface_elements.h.

Constructor & Destructor Documentation

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 197 of file specific_node_update_interface_elements.h.

Member Function Documentation

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 282 of file specific_node_update_interface_elements.h.

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 182 of file specific_node_update_interface_elements.h.

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 269 of file specific_node_update_interface_elements.h.

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 167 of file specific_node_update_interface_elements.h.

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 162 of file specific_node_update_interface_elements.h.

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.

Reimplemented in oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::SpineLineFluidInterfaceElement< ELEMENT >, and oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >.

Definition at line 320 of file specific_node_update_interface_elements.h.

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 301 of file specific_node_update_interface_elements.h.

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 304 of file specific_node_update_interface_elements.h.

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 308 of file specific_node_update_interface_elements.h.

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 311 of file specific_node_update_interface_elements.h.


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