#include <surfactant_transport_elements.h>
Public Member Functions | |
SurfactantTransportInterfaceElement () | |
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... | |
![]() | |
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... | |
virtual FluidInterfaceBoundingElement * | make_bounding_element (const int &face_index) |
Create a bounding element e.g. to apply a contact angle boundary condition. More... | |
virtual void | hijack_kinematic_conditions (const Vector< unsigned > &bulk_node_number)=0 |
Hijack the kinematic condition at the node numbers passed in the vector. The node numbers correspond to the local numbers of nodes in the associated bulk element. This is required so that contact-angle conditions can be applied by the FluidInterfaceBoundingElements. 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... | |
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) |
double | dsigma_dC (const Vector< double > &s) |
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) |
![]() | |
virtual int | kinematic_local_eqn (const unsigned &n)=0 |
Access function that returns the local equation number for the (scalar) kinematic equation associated with the j-th local node. This must be overloaded by specific interface elements and depends on the method for handing the free-surface deformation. More... | |
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... | |
virtual double | compute_surface_derivatives (const Shape &psi, const DShape &dpsids, const DenseMatrix< double > &interpolated_t, const Vector< double > &interpolated_x, DShape &dpsidS, DShape &dpsidS_div)=0 |
Compute the surface gradient and surface divergence operators given the shape functions, derivatives, tangent vectors and position. All derivatives and tangent vectors should be formed with respect to the local coordinates. More... | |
Protected Attributes | |
Vector< unsigned > | C_index |
![]() | |
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 | |
static double | Default_Physical_Constant_Value = 1.0 |
Default value of the physical constants. 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... | |
Generic surfactant transport equations implemented independently of the dimension and then specialised using the generic mechanisms introduce in the FluidInterfaceElements
Definition at line 53 of file surfactant_transport_elements.h.
|
inline |
Constructor that passes the bulk element and face index down to the underlying
Definition at line 119 of file surfactant_transport_elements.h.
References Default_Physical_Constant_Value.
|
protectedvirtual |
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.
Reimplemented in oomph::ElasticUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, AxisymmetricDerivatives, ELEMENT >, oomph::SpineUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, LineDerivatives, ELEMENT >, oomph::SpineUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, AxisymmetricDerivatives, ELEMENT >, and oomph::SpineUpdateFluidInterfaceElement< SurfactantTransportInterfaceElement, SurfaceDerivatives, ELEMENT >.
Definition at line 122 of file surfactant_transport_elements.cc.
References C_index, oomph::FluidInterfaceElement::ca(), dcdt_surface(), dsigma_dC(), interpolated_C(), oomph::FluidInterfaceElement::interpolated_u(), peclet_s(), and oomph::FluidInterfaceElement::U_index_interface.
Referenced by dsigma_dC().
|
inline |
Return the Elasticity number.
Definition at line 131 of file surfactant_transport_elements.h.
References Beta_pt.
Referenced by dsigma_dC(), and sigma().
|
inline |
Access function for pointer to the Elasticity number.
Definition at line 140 of file surfactant_transport_elements.h.
References Beta_pt.
|
protected |
The time derivative of the surface concentration.
Definition at line 71 of file surfactant_transport_elements.cc.
References C_index.
Referenced by add_additional_residual_contributions_interface().
|
inlineprotected |
Return the derivative of sigma with respect to C For use in computing the Jacobian
Definition at line 89 of file surfactant_transport_elements.h.
References add_additional_residual_contributions_interface(), and beta().
Referenced by add_additional_residual_contributions_interface().
|
inlineprotected |
Add the element's contribution to its residuals vector, jacobian matrix and mass matrix
Definition at line 106 of file surfactant_transport_elements.h.
double oomph::SurfactantTransportInterfaceElement::integrate_c | ( | ) |
Compute the concentration intergated over the surface area.
Definition at line 347 of file surfactant_transport_elements.cc.
References C_index, and oomph::FluidInterfaceElement::compute_surface_derivatives().
Referenced by output().
|
protected |
Get the surfactant concentration.
Definition at line 45 of file surfactant_transport_elements.cc.
References C_index.
Referenced by add_additional_residual_contributions_interface(), and output().
|
inline |
Overload the output function.
Definition at line 150 of file surfactant_transport_elements.h.
void oomph::SurfactantTransportInterfaceElement::output | ( | std::ostream & | outfile, |
const unsigned & | n_plot | ||
) |
Overload the output function.
Definition at line 290 of file surfactant_transport_elements.cc.
References interpolated_C(), oomph::FluidInterfaceElement::interpolated_u(), sigma(), oomph::FluidInterfaceElement::u(), and oomph::FluidInterfaceElement::U_index_interface.
|
inline |
Overload the C-style output function.
Definition at line 155 of file surfactant_transport_elements.h.
|
inline |
C-style Output function.
Definition at line 158 of file surfactant_transport_elements.h.
References integrate_c().
|
inline |
Return the surface peclect number.
Definition at line 134 of file surfactant_transport_elements.h.
References Peclet_S_pt.
Referenced by add_additional_residual_contributions_interface().
|
inline |
Access function for pointer to the surface Peclet number.
Definition at line 143 of file surfactant_transport_elements.h.
References Peclet_S_pt.
|
inline |
Return the surface peclect strouhal number.
Definition at line 137 of file surfactant_transport_elements.h.
References Peclet_Strouhal_S_pt.
|
inline |
Access function for pointer to the surface Peclet x Strouhal number.
Definition at line 146 of file surfactant_transport_elements.h.
References Peclet_Strouhal_S_pt.
|
inline |
Definition at line 128 of file surfactant_transport_elements.h.
Referenced by oomph::FluidInterfaceAdditionalValues< SurfactantTransportInterfaceElement >::setup_equation_indices().
|
protectedvirtual |
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 97 of file surfactant_transport_elements.cc.
References beta(), and C_index.
Referenced by output().
|
private |
Pointer to an Elasticity number.
Definition at line 58 of file surfactant_transport_elements.h.
|
protected |
Index at which the surfactant concentration is stored at the nodes
Definition at line 70 of file surfactant_transport_elements.h.
Referenced by add_additional_residual_contributions_interface(), dcdt_surface(), integrate_c(), interpolated_C(), and sigma().
|
staticprotected |
Default value of the physical constants.
Definition at line 74 of file surfactant_transport_elements.h.
Referenced by SurfactantTransportInterfaceElement().
|
private |
Pointer to Surface Peclet number.
Definition at line 61 of file surfactant_transport_elements.h.
Referenced by peclet_s(), and peclet_s_pt().
|
private |
Pointer to the surface Peclect Strouhal number.
Definition at line 64 of file surfactant_transport_elements.h.
Referenced by peclet_strouhal_s(), and peclet_strouhal_s_pt().