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. More...
Public Member Functions | |
SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement (FiniteElement *const &element_pt, const int &face_index) | |
Constructor that passes the bulk element and face index down to the underlying. More... | |
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) | |
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... | |
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... | |
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) |
The surface tension function is linear in the concentration with constant of proportionality equal to the elasticity number. More... | |
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) |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix. More... | |
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 |
Index at which the surfactant concentration is stored at the nodes. More... | |
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... | |
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 115 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Constructor that passes the bulk element and face index down to the underlying.
Definition at line 532 of file rayleigh_instability_insoluble_surfactant.cc.
|
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 279 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Return the Elasticity number.
Definition at line 558 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Access function for pointer to the Elasticity number.
Definition at line 567 of file rayleigh_instability_insoluble_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
inlineprotected |
The time derivative of the surface concentration.
Definition at line 165 of file rayleigh_instability_insoluble_surfactant.cc.
|
inlineprotected |
Fill in the contribution to the residuals Calculate the contribution to the jacobian.
Definition at line 215 of file rayleigh_instability_insoluble_surfactant.cc.
|
inlineprotected |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix.
Definition at line 521 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Compute the concentration intergated over the area.
Definition at line 627 of file rayleigh_instability_insoluble_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::compute_total_mass().
|
inlineprotected |
Get the surfactant concentration.
Definition at line 138 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Definition at line 575 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Return the surface peclect number.
Definition at line 561 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Access function for pointer to the surface Peclet number.
Definition at line 570 of file rayleigh_instability_insoluble_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
inline |
Return the surface peclect strouhal number.
Definition at line 564 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Access function for pointer to the surface Peclet x Strouhal number.
Definition at line 573 of file rayleigh_instability_insoluble_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
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 192 of file rayleigh_instability_insoluble_surfactant.cc.
References Global_Physical_Variables::Beta.
|
private |
Pointer to an Elasticity number.
Definition at line 120 of file rayleigh_instability_insoluble_surfactant.cc.
|
private |
Index at which the surfactant concentration is stored at the nodes.
Definition at line 130 of file rayleigh_instability_insoluble_surfactant.cc.
|
staticprivate |
Default value of the physical constants.
Definition at line 133 of file rayleigh_instability_insoluble_surfactant.cc.
|
private |
Pointer to Surface Peclet number.
Definition at line 123 of file rayleigh_instability_insoluble_surfactant.cc.
|
private |
Pointer to the surface Peclect Strouhal number.
Definition at line 126 of file rayleigh_instability_insoluble_surfactant.cc.