refineable_two_layer_soluble_surfactant.cc File Reference

Classes

class  DependentPositionPointElement
 
class  ElasticRefineableTwoLayerMesh< ELEMENT >
 
class  SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >
 

Namespaces

 oomph
 DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
 
 oomph::Control_Parameters
 
 oomph::Global_Physical_Variables
 Namespace for the physical parameters in the problem.
 

Functions

void oomph::Global_Physical_Variables::hydrostatic_pressure_outlet_upper (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 
void oomph::Global_Physical_Variables::hydrostatic_pressure_inlet_upper (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Function that prescribes hydrostatic pressure field at the inlet. More...
 
void oomph::Global_Physical_Variables::hydrostatic_pressure_outlet_lower (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 
void oomph::Global_Physical_Variables::hydrostatic_pressure_inlet_lower (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Function that prescribes hydrostatic pressure field at the inlet. More...
 
void oomph::Global_Physical_Variables::wall_unit_normal_inlet_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal at the inlet. More...
 
void oomph::Global_Physical_Variables::wall_unit_normal_outlet_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specified the wall unit normal at the outlet. More...
 
int main (int argc, char **argv)
 Driver code for 2D Boussinesq convection problem. More...
 

Variables

bool oomph::Control_Parameters::Periodic_BCs = true
 
double oomph::Global_Physical_Variables::L = 28.0
 Geometry. More...
 
double oomph::Global_Physical_Variables::R = 1.0
 Fluid property Ratios. More...
 
double oomph::Global_Physical_Variables::M = 0.5
 
double oomph::Global_Physical_Variables::H0 = 0.2
 
double oomph::Global_Physical_Variables::Ha = H0/5.0
 
double oomph::Global_Physical_Variables::Re = 0.0
 Hydrodynamic Parameters. More...
 
double oomph::Global_Physical_Variables::Ca = 0.001
 
double oomph::Global_Physical_Variables::ReInvFr = 0.0
 
double oomph::Global_Physical_Variables::Ma = 10.0
 Surfactant Parameters. More...
 
double oomph::Global_Physical_Variables::Beta_s =Ca*Ma
 Surface Elasticity number (Capillary number x Marangoni number) More...
 
double oomph::Global_Physical_Variables::Pe_s = 10.0
 Surface Peclet number. More...
 
double oomph::Global_Physical_Variables::Pe_b = 10.0
 Bulk Peclet number. More...
 
double oomph::Global_Physical_Variables::Pe_m = 10.0
 Micelle Pelect number. More...
 
double oomph::Global_Physical_Variables::Biot = 0.1
 Solubility Parameters. More...
 
double oomph::Global_Physical_Variables::K_b = 3.0
 The ratio of adsorption-desorption times. More...
 
double oomph::Global_Physical_Variables::Beta_b = 1.0
 
double oomph::Global_Physical_Variables::K_m = 1.0
 
double oomph::Global_Physical_Variables::N = 10.0
 Power of the concentration in bulk -> micelle flux expression. More...
 
double oomph::Global_Physical_Variables::Delta_P = 1.0
 The imposed pressure gradient. More...
 
Vector< doubleoomph::Global_Physical_Variables::Tau (2, 1.0)
 
Vector< doubleoomph::Global_Physical_Variables::D (2, 1.0)
 
Vector< doubleoomph::Global_Physical_Variables::Direction_of_gravity (2)
 Gravity vector, will be set in the main code. More...
 
double oomph::Global_Physical_Variables::Nu = 0.1
 Pseudo-solid Poisson ratio. More...
 
double oomph::Global_Physical_Variables::Inlet_Angle = 2.0*atan(1.0)
 
Vector< doubleoomph::Global_Physical_Variables::Wall_normal
 Direction of the wall normal vector (at the inlet) More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver code for 2D Boussinesq convection problem.

1915 {
1916  ofstream trace("RESLT/trace.dat");
1917 
1918  // Set the direction of gravity
1921 
1922  //Set the diffusivities (inverse peclect numbers)
1925 
1929 
1930 
1931  //Construct our problem
1936  problem;
1937 
1938 
1939  // Apply the boundary condition at time zero
1940  problem.set_boundary_conditions(0.0);
1941 
1942  //Perform a single steady Newton solve
1943  problem.steady_newton_solve();
1944 
1945  //Document the solution
1946  problem.doc_solution(trace);
1947 
1948  //Now release the interface for real fun
1949  problem.unpin_surface();
1950 
1951  //Set the timestep
1952  double dt = 0.1;
1953 
1954  //Initialise the value of the timestep and set initial values
1955  //of previous time levels assuming an impulsive start.
1956  problem.deform_interface(Global_Physical_Variables::Ha,1);
1957  problem.doc_solution(trace);
1958  problem.assign_initial_values_impulsive(dt);
1959 
1960  //Set the number of timesteps to our default value
1961  unsigned n_steps = 1000;
1962 
1963  //Set the freqency of refinement
1964  unsigned refine_after_n_steps = 5;
1965 
1966  //If we have a command line argument, perform fewer steps
1967  //(used for self-test runs)
1968  if(argc > 1) {n_steps = 5; refine_after_n_steps=3;}
1969 
1970  //Perform n_steps timesteps
1971  for(unsigned i=0;i<n_steps;++i)
1972  {
1973  double dt_next = dt;
1974  //Spatial adapt every 5 steps with a fixed timestep
1975  if((i>0) && (i%refine_after_n_steps==0))
1976  {
1977  problem.unsteady_newton_solve(dt,1,false);
1978  }
1979  else
1980  {
1981  //Unsteady timestep (for fixed mesh)
1982  dt_next = problem.adaptive_unsteady_newton_solve(dt,1.0e-5);
1983  }
1984  dt = dt_next;
1985  problem.doc_solution(trace);
1986  }
1987 
1988 } // end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: refineable_two_layer_soluble_surfactant.cc:646
Specialise to the Line geometry.
Definition: soluble_surfactant_transport_equations.h:624
Definition: hijacked_elements.h:132
Refineable version of the PseudoSolidNodeUpdateELement.
Definition: pseudosolid_node_update_elements.h:585
Class for refineable QPVDElement elements.
Definition: refineable_solid_elements.h:181
Vector< double > D(2, 1.0)
Diffusivity (identically one from our non-dimensionalisation)
Vector< double > Direction_of_gravity(2)
Gravity vector.
Vector< double > Wall_normal
Direction of the wall normal vector.
Definition: axi_static_cap.cc:59
double Pe_b
Bulk Peclet number.
Definition: refineable_two_layer_soluble_surfactant.cc:136
double Ha
Definition: refineable_two_layer_soluble_surfactant.cc:100
double Pe_m
Micelle Pelect number.
Definition: refineable_two_layer_soluble_surfactant.cc:139
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References Global_Physical_Variables::D, Global_Physical_Variables::Direction_of_gravity, oomph::Global_Physical_Variables::Ha, i, oomph::Global_Physical_Variables::Pe_b, oomph::Global_Physical_Variables::Pe_m, problem, and Global_Physical_Variables::Wall_normal.