Single fluid interface problem including transport of an insoluble surfactant. More...
Public Member Functions | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_y, const unsigned &n_theta, const double &r_min, const double &r_max, const double &l_y, const double &theta_max) | |
Constructor: Pass number of elements in x and y directions. Also lengths of the domain in x- and y-directions and the height of the layer. More... | |
void | actions_before_newton_convergence_check () |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them. More... | |
void | unsteady_run (const unsigned &nstep) |
Run an unsteady simulation with specified number of steps. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
double | compute_total_mass () |
Compute the total mass. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_z) | |
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction) More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_convergence_check () |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here. More... | |
void | set_initial_condition () |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start. More... | |
double | global_temporal_error_norm () |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!) More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
double | compute_total_mass () |
Compute the total mass of the insoluble surfactant. More... | |
InterfaceProblem (const unsigned &n_r, const unsigned &n_z, const double &l_z) | |
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction) More... | |
~InterfaceProblem () | |
Destructor (empty) More... | |
void | set_initial_condition () |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start. More... | |
double | global_temporal_error_norm () |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!) More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
void | unsteady_run (const double &t_max, const double &dt) |
Do unsteady run up to maximum time t_max with given timestep dt. More... | |
double | compute_total_mass () |
Compute the total mass of the insoluble surfactant. More... | |
Public Attributes | |
MyHorizontalSingleLayerSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
Mesh * | Interface_mesh_pt |
Mesh for the free surface (interface) elements. More... | |
ElasticRectangularQuadMesh< ELEMENT > * | Bulk_mesh_pt |
Access function for the specific mesh. More... | |
ConstitutiveLaw * | Constitutive_law_pt |
Pointer to the constitutive law. More... | |
Private Member Functions | |
void | deform_free_surface (const double &epsilon) |
Deform the mesh/free surface to a prescribed function. More... | |
void | deform_free_surface (const double &epsilon) |
Deform the mesh/free surface to a prescribed function. More... | |
Private Attributes | |
ofstream | Trace_file |
Trace file. More... | |
double | R_max |
Axial lengths of domain. More... | |
double | L_y |
AnnularSpineMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to bulk mesh. More... | |
Mesh * | Surface_mesh_pt |
Pointer to the surface mes. More... | |
Node * | Document_node_pt |
Pointer to a node for documentation purposes. More... | |
Single fluid interface problem including transport of an insoluble surfactant.
Single axisymmetric fluid interface problem including the transport of an soluble surfactant.
Single axisymmetric fluid interface problem including the transport of an insoluble surfactant.
Definition at line 196 of file 3d_rayleigh_instability_surfactant.cc.
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_y, | ||
const unsigned & | n_theta, | ||
const double & | r_min, | ||
const double & | r_max, | ||
const double & | l_y, | ||
const double & | theta_max | ||
) |
Constructor: Pass number of elements in x and y directions. Also lengths of the domain in x- and y-directions and the height of the layer.
Problem constructor.
Definition at line 270 of file 3d_rayleigh_instability_surfactant.cc.
References Global_Physical_Variables::Beta, oomph::SurfactantTransportInterfaceElement::beta_pt(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt, Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), InterfaceProblem< ELEMENT, TIMESTEPPER >::Document_node_pt, Global_Physical_Variables::G(), Global_Physical_Variables::Peclet_S, oomph::SurfactantTransportInterfaceElement::peclet_s_pt(), Global_Physical_Variables::Peclet_St_S, oomph::SurfactantTransportInterfaceElement::peclet_strouhal_s_pt(), Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, oomph::FluidInterfaceElement::set_external_pressure_data(), and InterfaceProblem< ELEMENT, TIMESTEPPER >::Surface_mesh_pt.
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_z | ||
) |
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction)
Constructor for single fluid interface problem.
Definition at line 915 of file rayleigh_instability_insoluble_surfactant.cc.
References Global_Physical_Variables::Beta, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::beta_pt(), Global_Physical_Variables::Ca, oomph::FluidInterfaceElement::ca_pt(), Global_Physical_Variables::G(), Global_Physical_Variables::P_ext, Global_Physical_Variables::Peclet_S, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_s_pt(), Global_Physical_Variables::Peclet_St_S, oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::peclet_strouhal_s_pt(), Global_Physical_Variables::Re, Global_Physical_Variables::ReInvFr, Global_Physical_Variables::ReSt, and oomph::FluidInterfaceElement::set_external_pressure_data().
|
inline |
Destructor (empty)
Definition at line 761 of file rayleigh_instability_insoluble_surfactant.cc.
InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem | ( | const unsigned & | n_r, |
const unsigned & | n_z, | ||
const double & | l_z | ||
) |
Constructor: Pass the number of elements in radial and axial directions and the length of the domain in the z direction)
|
inline |
Destructor (empty)
Definition at line 424 of file rayleigh_instability_soluble_surfactant.cc.
|
inline |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them.
Definition at line 213 of file 3d_rayleigh_instability_surfactant.cc.
|
inline |
Spine heights/lengths are unknowns in the problem so their values get corrected during each Newton step. However, changing their value does not automatically change the nodal positions, so we need to update all of them here.
Definition at line 767 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Compute the total mass.
Definition at line 222 of file 3d_rayleigh_instability_surfactant.cc.
References oomph::SurfactantTransportInterfaceElement::integrate_c().
|
inline |
Compute the total mass of the insoluble surfactant.
Definition at line 855 of file rayleigh_instability_insoluble_surfactant.cc.
References oomph::SpineAxisymmetricMarangoniSurfactantFluidInterfaceElement< ELEMENT >::integrate_c().
|
inline |
Compute the total mass of the insoluble surfactant.
Definition at line 517 of file rayleigh_instability_soluble_surfactant.cc.
References oomph::SurfactantTransportInterfaceElement::integrate_c().
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
Definition at line 880 of file rayleigh_instability_insoluble_surfactant.cc.
References Global_Physical_Variables::Alpha, and Global_Physical_Variables::Film_Thickness.
|
inlineprivate |
Deform the mesh/free surface to a prescribed function.
Definition at line 542 of file rayleigh_instability_soluble_surfactant.cc.
References Global_Physical_Variables::Alpha, and Global_Physical_Variables::Film_Thickness.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 443 of file 3d_rayleigh_instability_surfactant.cc.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
|
inline |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!)
Definition at line 801 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
The global temporal error norm, based on the movement of the nodes in the radial direction only (because that's the only direction in which they move!)
Definition at line 457 of file rayleigh_instability_soluble_surfactant.cc.
|
inline |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start.
Definition at line 775 of file rayleigh_instability_insoluble_surfactant.cc.
|
inline |
Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start.
Definition at line 429 of file rayleigh_instability_soluble_surfactant.cc.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
Perform run up to specified time t_max with given timestep dt.
Definition at line 1165 of file rayleigh_instability_insoluble_surfactant.cc.
References Global_Physical_Variables::Epsilon, and Global_Physical_Variables::Pvd_file.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const double & | t_max, |
const double & | dt | ||
) |
Do unsteady run up to maximum time t_max with given timestep dt.
void InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run | ( | const unsigned & | nstep | ) |
Run an unsteady simulation with specified number of steps.
Unsteady run with specified number of steps.
Definition at line 484 of file 3d_rayleigh_instability_surfactant.cc.
References Global_Physical_Variables::Alpha, Global_Physical_Variables::Epsilon, and Global_Physical_Variables::Film_Thickness.
Referenced by main().
|
private |
Pointer to bulk mesh.
Definition at line 255 of file 3d_rayleigh_instability_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
MyHorizontalSingleLayerSpineMesh<ELEMENT>* InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
Definition at line 843 of file rayleigh_instability_insoluble_surfactant.cc.
ElasticRectangularQuadMesh<ELEMENT>* InterfaceProblem< ELEMENT, TIMESTEPPER >::Bulk_mesh_pt |
Access function for the specific mesh.
Definition at line 499 of file rayleigh_instability_soluble_surfactant.cc.
ConstitutiveLaw* InterfaceProblem< ELEMENT, TIMESTEPPER >::Constitutive_law_pt |
Pointer to the constitutive law.
Definition at line 505 of file rayleigh_instability_soluble_surfactant.cc.
|
private |
Pointer to a node for documentation purposes.
Node for documentatin.
Definition at line 261 of file 3d_rayleigh_instability_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
Mesh * InterfaceProblem< ELEMENT, TIMESTEPPER >::Interface_mesh_pt |
Mesh for the free surface (interface) elements.
Definition at line 846 of file rayleigh_instability_insoluble_surfactant.cc.
|
private |
Definition at line 252 of file 3d_rayleigh_instability_surfactant.cc.
|
private |
Axial lengths of domain.
Definition at line 250 of file 3d_rayleigh_instability_surfactant.cc.
|
private |
Pointer to the surface mes.
Definition at line 258 of file 3d_rayleigh_instability_surfactant.cc.
Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().
|
private |
Trace file.
Definition at line 247 of file 3d_rayleigh_instability_surfactant.cc.