marangoni_convection_box.cc File Reference

Classes

class  ComplexGreater< T >
 Driver for a multi-physics problem that couples the Navier–Stokes. More...
 
class  oomph::SpineVolumeConstraintPointElement< ELEMENT >
 
class  oomph::FixedVolumeSpineLineMarangoniFluidInterfaceElement< ELEMENT >
 
class  ConvectionProblem< NST_ELEMENT, AD_ELEMENT >
 

Namespaces

 oomph
 DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
 
 Global_Physical_Variables
 Global variables.
 

Functions

void Global_Physical_Variables::wall_unit_normal_left_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal. More...
 
void Global_Physical_Variables::wall_unit_normal_right_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal. More...
 
int main (int argc, char **argv)
 Driver code for 2D Boussinesq convection problem. More...
 

Variables

const double Global_Physical_Variables::Pi =MathematicalConstants::Pi
 Set the value of Pi. More...
 
double Global_Physical_Variables::Volume = 1.2
 The volume of the domain. More...
 
double Global_Physical_Variables::Angle = 0.5*Pi
 The contact angle. More...
 
Vector< doubleGlobal_Physical_Variables::Direction_of_gravity (2)
 Gravity vector. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver code for 2D Boussinesq convection problem.

1047 {
1048  // Set the direction of gravity
1051 
1052  //Construct our problem
1055 
1056  //Set "interesting" Marangoni and Capillary numbers
1059 
1060  // Apply the boundary condition at time zero
1061  problem.set_boundary_conditions(0.0);
1062 
1063  //Perform a single steady Newton solve
1064  problem.steady_newton_solve();
1065 
1066  //Document the solution
1067  problem.doc_solution();
1068 
1069  //Decrease the contact angle
1070  for(unsigned i=0;i<3;i++)
1071  {
1073  problem.steady_newton_solve();
1074  problem.doc_solution();
1075  }
1076 
1077  //Now we timestep the system
1078  //Note that we are not taking any contact line dynamics into
1079  //account, we are merely evolving between steady solutions
1080  {
1081  problem.switch_boundary_conditions();
1082 
1083  //Set the timestep
1084  double dt = 0.5;
1085 
1086  //Initialise the value of the timestep and set initial values
1087  //of previous time levels assuming an impulsive start.
1088  problem.assign_initial_values_impulsive(dt);
1089 
1090 
1091  //Set the number of timesteps to our default value
1092  unsigned n_steps = 200;
1093 
1094  //If we have a command line argument, perform fewer steps
1095  //(used for self-test runs)
1096  if(argc > 1) {n_steps = 2;}
1097 
1098  //Perform n_steps timesteps
1099  for(unsigned i=0;i<n_steps;++i)
1100  {
1101  problem.unsteady_newton_solve(dt);
1102  problem.doc_solution();
1103  }
1104  }
1105 
1106 } // end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: mpi/multi_domain/boussinesq_convection/multi_domain_boussinesq_convection.cc:75
Definition: marangoni_convection_box.cc:193
Vector< double > Direction_of_gravity(2)
Gravity vector.
double Marangoni
Marangoni number.
Definition: surfactant.cc:615
double Angle
The contact angle.
Definition: marangoni_convection_box.cc:564
double Capillary
Capillary number.
Definition: surfactant.cc:619
const double Pi
Set the value of Pi.
Definition: marangoni_convection_box.cc:558
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References Global_Physical_Variables::Angle, Global_Physical_Variables::Capillary, oomph::Global_Physical_Variables::Direction_of_gravity, i, Global_Physical_Variables::Marangoni, Global_Physical_Variables::Pi, and problem.