Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT > Class Template Reference

Interface class to handle the mass transport between bulk and surface as well as the surfactant transport along the. More...

Inheritance diagram for ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >:
oomph::ElasticAxisymmetricSurfactantTransportInterfaceElement< ELEMENT > oomph::ElasticUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, AxisymmetricDerivatives, ELEMENT > oomph::SurfactantTransportInterfaceElement oomph::AxisymmetricDerivatives oomph::FluidInterfaceElement

Public Member Functions

 ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement (FiniteElement *const &element_pt, const int &face_index)
 Constructor that passes the bulk element and face index down to the underlying. More...
 
double alpha ()
 Return the adsorption number. More...
 
double k ()
 Return the solubility nubmer. More...
 
double *& alpha_pt ()
 Access function for pointer to adsorption number. More...
 
double *& k_pt ()
 Access function for pointer to solubility number. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Overload the output function. More...
 
- Public Member Functions inherited from oomph::ElasticAxisymmetricSurfactantTransportInterfaceElement< ELEMENT >
 ElasticAxisymmetricSurfactantTransportInterfaceElement (FiniteElement *const &element_pt, const int &face_index)
 
- Public Member Functions inherited from oomph::ElasticUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, AxisymmetricDerivatives, ELEMENT >
 ElasticUpdateFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index, const unsigned &id=0)
 Constructor, pass a pointer to the bulk element and the face index of the bulk element to which the element is to be attached to. The optional identifier can be used to distinguish the additional nodal value (Lagr mult) created by this element from those created by other FaceElements. More...
 
double zeta_nodal (const unsigned &n, const unsigned &k, const unsigned &i) const
 The "global" intrinsic coordinate of the element when viewed as part of a geometric object should be given by the FaceElement representation, by default. More...
 
double & lagrange (const unsigned &n)
 Return the lagrange multiplier at local node n. More...
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Fill in contribution to residuals and Jacobian. 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...
 
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 to be added at each integration point. This deals with Lagrange multiplier contribution, as well as any additional contributions by the other equations. More...
 
virtual FluidInterfaceBoundingElementmake_bounding_element (const int &face_index)
 Create an "bounding" element (here actually a 2D line element of type ElasticLineFluidInterfaceBoundingElement<ELEMENT> that allows the application of a contact angle boundary condition on the the specified face. More...
 
- Public Member Functions inherited from oomph::SurfactantTransportInterfaceElement
 SurfactantTransportInterfaceElement ()
 Constructor that passes the bulk element and face index down to the underlying. More...
 
void set_c_index (const Vector< unsigned > &c_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)
 Overload the output function. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Overload the 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...
 
double integrate_c ()
 Compute the concentration intergated over the surface area. 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_bulk (const Vector< double > &s)
 Get the bulk surfactant concentration. More...
 
double dc_bulk_dt_surface (const unsigned &l) const
 The time derivative of the bulk surface concentration. 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...
 
- Protected Member Functions inherited from oomph::ElasticUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, 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 function from the derivative class. More...
 
- Protected Member Functions inherited from oomph::SurfactantTransportInterfaceElement
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)
 The surface tension function is linear in the concentration with constant of proportionality equal to the elasticity number. More...
 
virtual double dsigma_dC (const Vector< double > &s)
 Return the derivative of sigma with respect to C For use in computing the Jacobian. More...
 
void fill_in_contribution_to_jacobian_and_mass_matrix (Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix)
 Add the element's contribution to its residuals vector, jacobian matrix and mass matrix. 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 * Alpha_pt
 Pointer to adsorption number. More...
 
double * K_pt
 Pointer to solubility number. More...
 
unsigned C_bulk_index
 Storage for the index at which the bulk concentration is stored. More...
 

Additional Inherited Members

- Protected Attributes inherited from oomph::SurfactantTransportInterfaceElement
Vector< unsigned > C_index
 Index at which the surfactant concentration is stored at the nodes. 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...
 
- Static Protected Attributes inherited from oomph::SurfactantTransportInterfaceElement
static double Default_Physical_Constant_Value
 Default value of the physical constants. More...
 

Detailed Description

template<class ELEMENT>
class ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >

Interface class to handle the mass transport between bulk and surface as well as the surfactant transport along the.

Definition at line 142 of file rayleigh_instability_soluble_surfactant.cc.

Constructor & Destructor Documentation

◆ ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement()

template<class ELEMENT >
ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement ( 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 328 of file rayleigh_instability_soluble_surfactant.cc.

Member Function Documentation

◆ add_additional_residual_contributions_interface()

template<class ELEMENT >
void ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< 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 212 of file rayleigh_instability_soluble_surfactant.cc.

References oomph::ElasticUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, AxisymmetricDerivatives, ELEMENT >::add_additional_residual_contributions_interface().

◆ alpha()

template<class ELEMENT >
double ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::alpha ( )
inline

Return the adsorption number.

Definition at line 343 of file rayleigh_instability_soluble_surfactant.cc.

◆ alpha_pt()

template<class ELEMENT >
double* & ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::alpha_pt ( )
inline

Access function for pointer to adsorption number.

Definition at line 349 of file rayleigh_instability_soluble_surfactant.cc.

◆ dc_bulk_dt_surface()

template<class ELEMENT >
double ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::dc_bulk_dt_surface ( const unsigned &  l) const
inlineprotected

The time derivative of the bulk surface concentration.

Definition at line 185 of file rayleigh_instability_soluble_surfactant.cc.

◆ interpolated_C_bulk()

template<class ELEMENT >
double ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::interpolated_C_bulk ( const Vector< double > &  s)
inlineprotected

Get the bulk surfactant concentration.

Definition at line 158 of file rayleigh_instability_soluble_surfactant.cc.

◆ k()

template<class ELEMENT >
double ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::k ( )
inline

Return the solubility nubmer.

Definition at line 346 of file rayleigh_instability_soluble_surfactant.cc.

◆ k_pt()

template<class ELEMENT >
double* & ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::k_pt ( )
inline

Access function for pointer to solubility number.

Definition at line 352 of file rayleigh_instability_soluble_surfactant.cc.

◆ output()

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

Overload the output function.

Definition at line 355 of file rayleigh_instability_soluble_surfactant.cc.

Member Data Documentation

◆ Alpha_pt

template<class ELEMENT >
double* ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::Alpha_pt
private

Pointer to adsorption number.

Definition at line 147 of file rayleigh_instability_soluble_surfactant.cc.

◆ C_bulk_index

template<class ELEMENT >
unsigned ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::C_bulk_index
private

Storage for the index at which the bulk concentration is stored.

Definition at line 153 of file rayleigh_instability_soluble_surfactant.cc.

◆ K_pt

template<class ELEMENT >
double* ElasticAxisymmetricSolubleSurfactantTransportInterfaceElement< ELEMENT >::K_pt
private

Pointer to solubility number.

Definition at line 149 of file rayleigh_instability_soluble_surfactant.cc.


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