33 #ifndef OOMPH_SURFACTANT_TRANSPORT_ELEMENTS_HEADER 34 #define OOMPH_SURFACTANT_TRANSPORT_ELEMENTS_HEADER 39 #include <oomph-lib-config.h> 90 {
return -this->
beta();}
97 const unsigned &flag,
const Shape &psif,
const DShape &dpsifds,
101 const double &
W,
const double &J);
152 void output(std::ostream &outfile,
const unsigned &n_plot);
158 void output(FILE* file_pt,
const unsigned &n_plot)
183 const unsigned n_node = element_pt->
nnode();
185 for(
unsigned n=0;n<n_node;n++)
189 ->index_of_first_value_assigned_by_face_element(
id);
201 template<
class ELEMENT>
204 LineDerivatives,ELEMENT>
217 template<
class ELEMENT>
231 template<
class ELEMENT>
234 AxisymmetricDerivatives,ELEMENT>
247 template<
class ELEMENT>
260 template<
class ELEMENT>
263 AxisymmetricDerivatives,ELEMENT>
276 template<
class ELEMENT>
290 template<
class ELEMENT>
293 SurfaceDerivatives,ELEMENT>
306 template<
class ELEMENT>
SpineLineSurfactantTransportInterfaceElement(FiniteElement *const &element_pt, const int &face_index)
Spine version of the LineFluidInterfaceBoundingElement.
unsigned nadditional_values(const unsigned &n)
virtual void output(std::ostream &outfile)
Output the element data — typically the values at the nodes in a format suitable for post-processing...
void fill_in_contribution_to_jacobian_and_mass_matrix(Vector< double > &residuals, DenseMatrix< double > &jacobian, DenseMatrix< double > &mass_matrix)
int & face_index()
Index of the face (a number that uniquely identifies the face in the element)
void output(FILE *file_pt)
Overload the C-style output function.
double peclet_s()
Return the surface peclect number.
double * Peclet_S_pt
Pointer to Surface Peclet number.
Specialise to surface geometry.
A general Finite Element class.
double interpolated_x(const Vector< double > &s, const unsigned &i) const
Return FE interpolated coordinate x[i] at local coordinate s. Overloaded to get information from bulk...
double *& peclet_s_pt()
Access function for pointer to the surface Peclet number.
This policy class is used to associate specific bounding elements with specific FluidInterface elemen...
Specialise to the Axisymmetric geometry.
void output(FILE *file_pt, const unsigned &n_plot)
C-style Output function.
Generic Spine node update interface template class that can be combined with a given surface equation...
Specialise to the Line geometry.
double peclet_strouhal_s()
Return the surface peclect strouhal number.
A class that contains the information required by Nodes that are located on Mesh boundaries. A BoundaryNode of a particular type is obtained by combining a given Node with this class. By differentiating between Nodes and BoundaryNodes we avoid a lot of un-necessary storage in the bulk Nodes.
double integrate_c()
Compute the concentration intergated over the surface area.
double interpolated_C(const Vector< double > &s)
Get the surfactant concentration.
double * Peclet_Strouhal_S_pt
Pointer to the surface Peclect Strouhal number.
ElasticAxisymmetricSurfactantTransportInterfaceElement(FiniteElement *const &element_pt, const int &face_index)
void set_c_index(const Vector< unsigned > &c_index)
double beta()
Return the Elasticity number.
This policy class is used to allow additional values to be added to the nodes from new surface equati...
double dsigma_dC(const Vector< double > &s)
double dcdt_surface(const unsigned &l) const
The time derivative of the surface concentration.
Pseudo-elasticity version of the PointFluidInterfaceBoundingElement.
Vector< unsigned > C_index
void output(std::ostream &outfile)
Overload the output function.
SurfactantTransportInterfaceElement()
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
double *& beta_pt()
Access function for pointer to the Elasticity number.
static double Default_Physical_Constant_Value
Default value of the physical constants.
void setup_equation_indices(SurfactantTransportInterfaceElement *const &element_pt, const unsigned &id)
Specialise to the Axisymmetric geometry.
Generic Elastic node update interface template class that can be combined with a given surface equati...
double * Beta_pt
Pointer to an Elasticity number.
SpineSurfaceSurfactantTransportInterfaceElement(FiniteElement *const &element_pt, const int &face_index)
SpineAxisymmetricSurfactantTransportInterfaceElement(FiniteElement *const &element_pt, const int &face_index)
double *& peclet_strouhal_s_pt()
Access function for pointer to the surface Peclet x Strouhal number.
double sigma(const Vector< double > &s)
unsigned nnode() const
Return the number of nodes.
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Add the elemental contribution to the jacobian matrix. and the residuals vector. Note that this funct...
Spine version of the PointFluidInterfaceBoundingElement.
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 functio...