Public Member Functions | Private Member Functions | List of all members
oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT > Class Template Reference

#include <axisym_interface_elements.h>

Inheritance diagram for oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >:
oomph::SpineUpdateFluidInterfaceElement< FluidInterfaceElement, AxisymmetricDerivatives, ELEMENT > oomph::FluidInterfaceElement oomph::AxisymmetricDerivatives

Public Member Functions

 SpineAxisymmetricFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index)
 Constructor, the arguments are a pointer to the "bulk" element and the face index. 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 Vector< double > &interpolated_x, const Vector< double > &interpolated_n, const double &W, const double &J)
 Helper function to calculate the additional contributions to be added at each integration point. Empty for this implemenetation. 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 (here actually a 1D point element of type SpinePointFluidInterfaceBoundingElement<ELEMENT>) that allows the application of a contact angle boundary condition on the the specified face. More...
 
 SpineAxisymmetricFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index)
 
- Public Member Functions inherited from oomph::SpineUpdateFluidInterfaceElement< FluidInterfaceElement, AxisymmetricDerivatives, ELEMENT >
 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...
 
- Public Member Functions inherited from oomph::FluidInterfaceElement
 FluidInterfaceElement ()
 Constructor, set the default values of the booleans and pointers (null) More...
 
virtual double sigma (const Vector< double > &s_local)
 Virtual function that specifies the non-dimensional surface tension as a function of local position within the element. The default behaviour is a constant surface tension of value 1.0 This function can be overloaded in more specialised elements to incorporate variations in surface tension. More...
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 Calculate the residuals by calling the generic residual contribution. More...
 
const double & ca () const
 The value of the Capillary number. More...
 
double *& ca_pt ()
 Pointer to the Capillary number. More...
 
const double & st () const
 The value of the Strouhal number. More...
 
double *& st_pt ()
 The pointer to the Strouhal number. More...
 
double u (const unsigned &j, const unsigned &i)
 Return the i-th velocity component at local node j. More...
 
double interpolated_u (const Vector< double > &s, const unsigned &i)
 Calculate the i-th velocity component at the local coordinate s. More...
 
double pext () const
 Return the value of the external pressure. More...
 
void set_external_pressure_data (Data *external_pressure_data_pt)
 Set the Data that contains the single pressure value that specifies the "external pressure" for the interface/free-surface. Setting this only makes sense if the interface is, in fact, a free surface (well, an interface to another inviscid fluid if you want to be picky). More...
 
void set_external_pressure_data (Data *external_pressure_data_pt, const unsigned &index_of_external_pressure_value)
 Set the Data that contains the pressure value that specifies the "external pressure" for the interface/free-surface. Setting this only makes sense if the interface is, in fact, a free surface (well, an interface to another inviscid fluid if you want to be picky). Second argument specifies the index of the pressure value within the Data object. More...
 
void output (std::ostream &outfile)
 Overload the output function. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output function. 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...
 
- Public Member Functions inherited from oomph::AxisymmetricDerivatives
 AxisymmetricDerivatives ()
 

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 spine heights – used for strong imposition of contact angle condition. More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::SpineUpdateFluidInterfaceElement< FluidInterfaceElement, AxisymmetricDerivatives, ELEMENT >
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...
 
- Protected Member Functions inherited from oomph::FluidInterfaceElement
int pext_local_eqn ()
 Access function for the local equation number that corresponds to the external pressure. More...
 
virtual void fill_in_generic_residual_contribution_interface (Vector< double > &residuals, DenseMatrix< double > &jacobian, unsigned flag)
 Helper function to calculate the residuals and (if flag==1) the Jacobian of the equations. This is implemented generically using the surface divergence information that is overloaded in each element i.e. axisymmetric, two- or three-dimensional. More...
 
- Protected Member Functions inherited from oomph::AxisymmetricDerivatives
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. More...
 
- Protected Attributes inherited from oomph::FluidInterfaceElement
Vector< unsigned > U_index_interface
 Nodal index at which the i-th velocity component is stored. More...
 
int External_data_number_of_external_pressure
 The Data that contains the external pressure is stored as external Data for the element. Which external Data item is it? (int so it can be initialised to -1, indicating that external pressure hasn't been set). More...
 
Data * Pext_data_pt
 Pointer to the Data item that stores the external pressure. More...
 
unsigned Index_of_external_pressure_value
 Which of the values in Pext_data_pt stores the external pressure. More...
 

Detailed Description

template<class ELEMENT>
class oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >

Axisymmetric interface elements that are used with a spine mesh, i.e. the mesh deformation is handled by Kistler & Scriven's "method of spines". These elements are FaceElements attached to 2D bulk Fluid elements and the particular type of fluid element is passed as a template parameter to the element. It shouldn't matter whether the passed element is the underlying (fixed) element or the templated SpineElement<Element>. Optionally, an external pressure may be specified, which must be passed to the element as external data. If there is no such object, the external pressure is assumed to be zero.

Definition at line 64 of file axisym_interface_elements.h.

Constructor & Destructor Documentation

template<class ELEMENT >
oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::SpineAxisymmetricFluidInterfaceElement ( FiniteElement *const &  element_pt,
const int &  face_index 
)
inline

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

Definition at line 94 of file axisym_interface_elements.h.

References oomph::FluidInterfaceElement::U_index_interface.

template<class ELEMENT >
oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::SpineAxisymmetricFluidInterfaceElement ( FiniteElement *const &  element_pt,
const int &  face_index 
)
inline

Definition at line 531 of file specific_node_update_interface_elements.h.

Member Function Documentation

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

Helper function to calculate the additional contributions to be added at each integration point. Empty for this implemenetation.

Definition at line 128 of file axisym_interface_elements.h.

template<class ELEMENT >
void oomph::SpineAxisymmetricFluidInterfaceElement< 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 114 of file axisym_interface_elements.h.

References oomph::FluidInterfaceElement::fill_in_generic_residual_contribution_interface().

template<class ELEMENT >
void oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::hijack_kinematic_conditions ( const Vector< unsigned > &  bulk_node_number)
inlineprivatevirtual

Hijacking the kinematic condition corresponds to hijacking the spine heights – used for strong imposition of contact angle condition.

Implements oomph::FluidInterfaceElement.

Definition at line 79 of file axisym_interface_elements.h.

template<class ELEMENT >
int oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::kinematic_local_eqn ( const unsigned &  n)
inlineprivatevirtual

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

Implements oomph::FluidInterfaceElement.

Definition at line 73 of file axisym_interface_elements.h.

template<class ELEMENT >
virtual FluidInterfaceBoundingElement* oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::make_bounding_element ( const int &  face_index)
inlinevirtual

Create an "bounding" element (here actually a 1D point element of type SpinePointFluidInterfaceBoundingElement<ELEMENT>) that allows the application of a contact angle boundary condition on the the specified face.

Reimplemented from oomph::SpineUpdateFluidInterfaceElement< FluidInterfaceElement, AxisymmetricDerivatives, ELEMENT >.

Definition at line 161 of file axisym_interface_elements.h.

References oomph::FluidInterfaceElement::U_index_interface, and oomph::FluidInterfaceBoundingElement::u_index_interface_boundary().

template<class ELEMENT >
void oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::output ( std::ostream &  outfile)
inline

Overload the output function.

Definition at line 143 of file axisym_interface_elements.h.

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

Output the element.

Definition at line 146 of file axisym_interface_elements.h.

template<class ELEMENT >
void oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::output ( FILE *  file_pt)
inline

Overload the C-style output function.

Definition at line 150 of file axisym_interface_elements.h.

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

C-style Output function.

Definition at line 153 of file axisym_interface_elements.h.


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