Public Member Functions | Protected Member Functions | Private Attributes | Static Private Attributes | List of all members
oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT > Class Template Reference
Inheritance diagram for oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >:
oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT > oomph::SpineUpdateFluidInterfaceElement< FluidInterfaceElement, AxisymmetricDerivatives, ELEMENT > oomph::FluidInterfaceElement oomph::AxisymmetricDerivatives

Public Member Functions

 SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index)
 
double beta ()
 Return the Elasticity number. More...
 
double peclet_s ()
 Return the surface peclect number. More...
 
double peclet_strouhal_s ()
 Return the surface peclect strouhal number. More...
 
double *& beta_pt ()
 Access function for pointer to the Elasticity number. More...
 
double *& peclet_s_pt ()
 Access function for pointer to the surface Peclet number. More...
 
double *& peclet_strouhal_s_pt ()
 Access function for pointer to the surface Peclet x Strouhal number. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 
double integrate_c () const
 Compute the concentration intergated over the area. More...
 
- Public Member Functions inherited from oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >
 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...
 
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 ()
 

Protected Member Functions

double interpolated_C (const Vector< double > &s)
 Get the surfactant concentration. More...
 
double dcdt_surface (const unsigned &l) const
 The time derivative of the surface concentration. More...
 
double sigma (const Vector< double > &s)
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Fill in the contribution to the residuals Calculate the contribution to 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)
 Overload the Helper function to calculate the residuals and jacobian entries. This particular function ensures that the additional entries are calculated inside the integration loop. More...
 
void fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix)
 
- 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...
 

Private Attributes

double * Beta_pt
 Pointer to an Elasticity number. More...
 
double * Peclet_S_pt
 Pointer to Surface Peclet number. More...
 
double * Peclet_Strouhal_S_pt
 Pointer to the surface Peclect Strouhal number. More...
 
unsigned C_index
 

Static Private Attributes

static double Default_Physical_Constant_Value = 1.0
 Default value of the physical constants. More...
 

Additional Inherited Members

- 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::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >

Spine-based Marangoni surface tension elements that add a linear dependence on concentration of a surface chemical to the surface tension, which decreases with increasing concentration. The non-dimensionalisation is the same as Campana et al (2004) but we may wish to revisit this.

Definition at line 119 of file rayleigh_instability_insoluble_surfactant.cc.

Constructor & Destructor Documentation

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

Constructor that passes the bulk element and face index down to the underlying

Definition at line 536 of file rayleigh_instability_insoluble_surfactant.cc.

Member Function Documentation

template<class ELEMENT>
void oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< 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 
)
inlineprotectedvirtual

Overload the Helper function to calculate the residuals and jacobian entries. This particular function ensures that the additional entries are calculated inside the integration loop.

Reimplemented from oomph::FluidInterfaceElement.

Definition at line 283 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::beta ( )
inline

Return the Elasticity number.

Definition at line 562 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double* & oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::beta_pt ( )
inline

Access function for pointer to the Elasticity number.

Definition at line 571 of file rayleigh_instability_insoluble_surfactant.cc.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::dcdt_surface ( const unsigned &  l) const
inlineprotected

The time derivative of the surface concentration.

Definition at line 169 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
void oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
)
inlineprotected

Fill in the contribution to the residuals Calculate the contribution to the jacobian.

Definition at line 219 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
void oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::fill_in_contribution_to_jacobian_and_mass_matrix ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian,
DenseMatrix< double > &  mass_matrix 
)
inlineprotected

Add the element's contribution to its residuals vector, jacobian matrix and mass matrix

Definition at line 525 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::integrate_c ( ) const
inline

Compute the concentration intergated over the area.

Definition at line 631 of file rayleigh_instability_insoluble_surfactant.cc.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::compute_total_mass().

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::interpolated_C ( const Vector< double > &  s)
inlineprotected

Get the surfactant concentration.

Definition at line 142 of file rayleigh_instability_insoluble_surfactant.cc.

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

Return the surface peclect number.

Definition at line 565 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double* & oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_s_pt ( )
inline

Access function for pointer to the surface Peclet number.

Definition at line 574 of file rayleigh_instability_insoluble_surfactant.cc.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_strouhal_s ( )
inline

Return the surface peclect strouhal number.

Definition at line 568 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double* & oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_strouhal_s_pt ( )
inline

Access function for pointer to the surface Peclet x Strouhal number.

Definition at line 577 of file rayleigh_instability_insoluble_surfactant.cc.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::sigma ( const Vector< double > &  s)
inlineprotectedvirtual

The surface tension function is linear in the concentration with constant of proportionality equal to the elasticity number.

Reimplemented from oomph::FluidInterfaceElement.

Definition at line 196 of file rayleigh_instability_insoluble_surfactant.cc.

References Global_Physical_Variables::Beta.

Member Data Documentation

template<class ELEMENT>
double* oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::Beta_pt
private

Pointer to an Elasticity number.

Definition at line 124 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
unsigned oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::C_index
private

Index at which the surfactant concentration is stored at the nodes

Definition at line 134 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::Default_Physical_Constant_Value = 1.0
staticprivate

Default value of the physical constants.

Definition at line 137 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double* oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::Peclet_S_pt
private

Pointer to Surface Peclet number.

Definition at line 127 of file rayleigh_instability_insoluble_surfactant.cc.

template<class ELEMENT>
double* oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::Peclet_Strouhal_S_pt
private

Pointer to the surface Peclect Strouhal number.

Definition at line 130 of file rayleigh_instability_insoluble_surfactant.cc.


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