elastic_bretherton.cc File Reference
#include <iostream>
#include <fstream>
#include <cmath>
#include <typeinfo>
#include <algorithm>
#include <cstdio>
#include <complex>
#include <set>
#include "generic.h"
#include "navier_stokes.h"
#include "fluid_interface.h"
#include "beam.h"
#include "meshes/bretherton_spine_mesh.h"
#include "meshes/one_d_lagrangian_mesh.h"

Classes

class  ElementCmp
 Function-type-object to perform comparison of elements. More...
 
class  SpineGravityTractionElement< ELEMENT >
 
class  FixSpineHeightElement
 Point element that is used to set the bubble pressure. More...
 
class  FluxConstraint
 Generalised element used to set the pressure gradient. More...
 
class  AirwayReopeningProblem< ELEMENT >
 Bretherton problem. More...
 

Namespaces

 Global_Physical_Variables
 Global variables.
 
 No_Slip
 

Functions

Vector< doubleGlobal_Physical_Variables::G (2)
 Direction of gravity. More...
 
void Global_Physical_Variables::hydrostatic_pressure (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Function that prescribes the hydrostatic pressure field at the outlet. More...
 
void Global_Physical_Variables::spring_load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 Load function for the wall elements. More...
 
void Global_Physical_Variables::spring_load_lower (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 Load function for the wall elements. More...
 
void No_Slip::no_slip_condition_first (Node *node_pt)
 Function that is used to set and update the no-slip boundary condition. More...
 
void No_Slip::no_slip_condition_second (Node *node_pt)
 
int main (int argc, char *argv[])
 

Variables

double Global_Physical_Variables::ReCa =0.0
 Reynolds divided by Capillary number. More...
 
double Global_Physical_Variables::Bo = 0.0
 Bond number. More...
 
double Global_Physical_Variables::Pext = 0.0
 External Pressure. More...
 
double Global_Physical_Variables::Gamma = 1.0e-7
 
double Global_Physical_Variables::T = 0.0
 Period of oscillations. More...
 
double Global_Physical_Variables::Kstiff = 0.5*50.0e-7
 Spring stiffness. More...
 
double Global_Physical_Variables::Kseparation = H
 Huge stiffness for hitting. More...
 
double Global_Physical_Variables::Ktable = 0.0001
 Huge stiffness for the table. More...
 
double Global_Physical_Variables::Tube_width = 10.0
 Natural width of the open tube. More...
 
double Global_Physical_Variables::Table_position = 10.78
 Position of the table. More...
 
double Global_Physical_Variables::Q =1.0e-2
 Ratio of scales. More...
 
double Global_Physical_Variables::Rest_length_linear =1.0
 Rest length of the linear springs. More...
 
bool Global_Physical_Variables::Non_linear_springs = false
 Do we include the non-linear springs. More...
 
GeomObjectGlobal_Physical_Variables::Upper_wall_pt
 Pointer to the upper wall. More...
 
GeomObjectGlobal_Physical_Variables::Lower_wall_pt
 Pointer to the lower wall. More...
 
map< double, pair< GeomObject *, Vector< double > > > Global_Physical_Variables::upper_map
 Upper wall map. More...
 
map< double, pair< GeomObject *, Vector< double > > > Global_Physical_Variables::lower_map
 Lower wall map. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)

Driver code for unsteady two-layer fluid problem. If there are any command line arguments, we regard this as a validation run and perform only a single step.

2263 {
2264  // Store command line arguments
2265  CommandLineArgs::setup(argc,argv);
2266 
2267  // Set physical parameters:
2268  using namespace Global_Physical_Variables;
2269 
2270  //Set direction of gravity: Vertically downwards
2271  G[0] = 0.0;
2272  G[1] = -1.0;
2273 
2274  // Womersley number = Reynolds number (St = 1)
2275  ReSt = 0.0;
2277 
2278  // The Capillary number
2279  Ca = 0.05;
2280 
2281  // The Bond number
2282  Bo = 0.0;
2283 
2284  // Re/Fr -- a measure of gravity...
2285  ReInvFr = Bo/Ca;
2286 
2287  // The ratio of scales
2288  Q = Ca*Gamma;
2289 
2290  // The value of sigma0
2291  T = 100.0*Gamma/H;
2292 
2293  //Set up the problem
2295  problem;
2296 
2297  // Self test:
2298  problem.self_test();
2299 
2300  // Number of steps:
2301  unsigned nstep;
2302  if (CommandLineArgs::Argc>1)
2303  {
2304  // Validation run: Just one step
2305  nstep=2;
2306  }
2307  else
2308  {
2309  // Full run otherwise
2310  nstep=200;
2311  }
2312 
2313  // Run the parameter study: Perform nstep steps
2314  problem.parameter_study(nstep,false);
2315 }
Bretherton problem.
Definition: elastic_bretherton.cc:1216
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
Global variables.
Definition: TwenteMeshGluing.cpp:60
double ReSt
Womersley number.
Definition: rayleigh_instability.cc:56
double Bo
Bond number.
Definition: elastic_bretherton.cc:97
double Gamma
Definition: elastic_bretherton.cc:110
double Q
Ratio of scales.
Definition: elastic_bretherton.cc:131
double Ca
Capillary number.
Definition: fibre.cc:61
double ReInvFr
Product of Reynolds number and inverse of Froude number.
Definition: fibre.cc:58
double Re
Reynolds number.
Definition: fibre.cc:55
Vector< double > G(3)
Direction of gravity.
Definition: spherical_shell_convection.cc:62
double H
Nondim thickness.
Definition: steady_ring.cc:50
int Argc
Number of arguments + 1.
Definition: oomph_utilities.cc:407
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References oomph::CommandLineArgs::Argc, Global_Physical_Variables::Bo, Global_Physical_Variables::Ca, G, Global_Physical_Variables::Gamma, H, problem, Global_Physical_Variables::Q, GlobalPhysicalVariables::Re, GlobalPhysicalVariables::ReInvFr, GlobalPhysicalVariables::ReSt, Global_Physical_Variables::ReSt, and Flag_definition::setup().