Global_Physical_Variables Namespace Reference

Global variables. More...

Functions

void constant_pressure (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Constant pressure load. More...
 
void wind_function (const Vector< double > &x, Vector< double > &wind)
 Wind. More...
 
void swimming (const Vector< double > &x, Vector< double > &swim)
 
void diff_function (const Vector< double > &x, DenseMatrix< double > &D)
 
void wall_unit_normal_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal. More...
 
void axial_pressure_gradient (const double &time, const Vector< double > &x, Vector< double > &result)
 A function to specify a constant axial body force. More...
 
void press_load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 Load function: Perturbation pressure to force non-axisymmetric deformation. More...
 
doubleexternal_pressure ()
 Access function to value of external pressure. More...
 
void load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 Load function: Apply a constant external pressure to the beam. More...
 
Vector< doubleP (5)
 
Vector< doubleG (2)
 Direction of gravity. More...
 
void 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 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 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 load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 
double flux (const double &t)
 
void prescribed_traction (const double &t, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Traction applied on the fluid at the left (inflow) boundary. More...
 
void set_params ()
 
void pcos_load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 
void outside_solid_boundary_traction (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &result)
 Traction applied to the outside of the solid mesh. More...
 
void fluid_inflow_boundary_traction (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &result)
 Inflow traction applied to the fluid mesh. More...
 
void validation_solid_fsi_boundary_traction (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &result)
 Traction applied to the solid mesh at fsi interface (for validation only) More...
 
void validation_fluid_fsi_boundary_traction (const double &time, const Vector< double > &x, const Vector< double > &n, Vector< double > &result)
 
void pulse_wave_solution (const double &time, const Vector< double > &x, Vector< double > &soln)
 "Exact" solution for propagating pulse wave More...
 
void update_dependent_parameters ()
 Helper function to update dependent parameters. More...
 
void doc_dependent_parameters ()
 Doc dependent parameters. More...
 
std::string Directory ("RESLT")
 
template<class ELEMENT >
void edge_sign_setup (Mesh *mesh_pt)
 Global function that completes the edge sign setup. More...
 
void gravity (const double &time, const Vector< double > &xi, Vector< double > &b)
 Non-dimensional gravity as body force. More...
 
Vector< doubleGravity (2)
 Gravity vector. More...
 
void body_force (const double &time, const Vector< double > &x, Vector< double > &result)
 Functional body force. More...
 
void zero_body_force (const double &time, const Vector< double > &x, Vector< double > &result)
 Zero functional body force. More...
 
Vector< doubleDirection_of_gravity (3)
 Gravity vector. More...
 
void wall_unit_normal_left_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal. More...
 
void wall_unit_normal_right_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal. More...
 
Vector< doubleTau (2, 1.0)
 
void viscosity_ratio_function (double &temperature, double &result)
 Viscosity ratio function modeled following a Arrhenius fashion. More...
 
void prescribed_beta_on_fixed_r_boundary (const Vector< double > &x_vector, double &beta)
 Beta on a boundary on which r is fixed. More...
 
void prescribed_alpha_on_fixed_r_boundary (const Vector< double > &x_vect, double &alpha)
 Alfa on a boundary on which r is fixed. More...
 
void inflow (const Vector< double > &x, Vector< double > &veloc)
 
Vector< doubleG (2, 0.0)
 The Vector direction of gravity, set in main() More...
 
void wall_unit_normal_inlet_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specifies the wall unit normal at the inlet. More...
 
void wall_unit_normal_outlet_fct (const Vector< double > &x, Vector< double > &normal)
 Function that specified the wall unit normal at the outlet. More...
 
void hydrostatic_pressure_outlet (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 hydrostatic_pressure_inlet (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 get_exact_u (const double &t, const Vector< double > &x, Vector< double > &u)
 Exact solution of the problem as a vector containing u,v,p. More...
 
double height (const double &x)
 Height of domain. More...
 
void traction_function (const double &time, const Vector< double > &x, Vector< double > &traction)
 Unused (but assigned) function to specify tractions. More...
 
void growth_function (const Vector< double > &xi, double &gamma)
 Growth function. More...
 
double multiplier (const Vector< double > &xi)
 
void body_force (const Vector< double > &xi, const double &t, Vector< double > &b)
 Body force vector: Vertically downwards with magnitude Gravity. More...
 

Variables

StrainEnergyFunctionStrain_energy_function_pt =0
 Pointer to strain energy function. More...
 
ConstitutiveLawConstitutive_law_pt
 Pointer to constitutive law. More...
 
double E = 1.0
 Elastic modulus. More...
 
double Nu = 0.3
 Poisson's ratio. More...
 
double C1 = 1.3
 "Mooney Rivlin" coefficient for generalised Mooney Rivlin law More...
 
double P = 0.0
 Uniform pressure. More...
 
double lenScale = 1
 Length scale. More...
 
double timeScale = 1
 Time scale. More...
 
double Peclet =200.0
 Peclet number. More...
 
double Length =10.0
 Length of the pipe. More...
 
double Radius =1.0
 Radius of the pipe. More...
 
double Peclet_St = 1.0
 Peclet number multiplied by Strouhal number. More...
 
Vector< doubleWall_normal
 Direction of the wall normal vector. More...
 
double Re = 0.1
 Reynolds number. More...
 
double ReInvFr = 0.01
 Product of Reynolds number and inverse of Froude number. More...
 
double Ca = 10.0
 Capillary number. More...
 
double P_ext = 0.0
 External pressure. More...
 
Vector< doubleG (3) = 1.0
 Direction of gravity. More...
 
double ReSt = 5.0
 Womersley number. More...
 
double Epsilon = 0.1
 Free surface cosine deform parameter. More...
 
ofstream Pvd_file
 
double Delta = 0.128
 The curvature of the torus. More...
 
double St = 1.0
 Strouhal number. More...
 
double Viscosity_Ratio = 0.1
 
double Density_Ratio = 0.5
 
double Dean = 100.0
 The Dean number. More...
 
double Lambda_sq =0.0
 Pseudo-solid mass density. More...
 
double Mu = 0.0
 
double H =0.05
 Nondim thickness. More...
 
double Xprescr = 1.0
 Prescribed position (only used for displacement control) More...
 
double Pcos =0.0
 Perturbation pressure. More...
 
DataPext_data_pt =0
 Pointer to pressure load. More...
 
unsigned Nbuckl =3
 Buckling wavenumber. More...
 
double Sigma0 =1.0e3
 2nd Piola Kirchhoff pre-stress More...
 
unsigned Long_run_flag =1
 Flag for long/short run: Default = perform long run. More...
 
unsigned Fixed_timestep_flag =1
 Flag for fixed timestep: Default = fixed timestep. More...
 
bool Consistent_newmark_ic
 
double T_kick
 Duration of transient load. More...
 
double Alpha =1.0
 Scaling factor for wall thickness (to be used in an exercise) More...
 
double L = 8.0
 Length of beam. More...
 
doubleLambda_pt
 
doubleMu_pt
 
double ReCa =0.0
 Reynolds divided by Capillary number. More...
 
double Bo = 0.0
 Bond number. More...
 
double Pext = 0.0
 External Pressure. More...
 
double Gamma = 1.0e-7
 
double T = 0.0
 Period of oscillations. More...
 
double Kstiff = 0.5*50.0e-7
 Spring stiffness. More...
 
double Kseparation = H
 Huge stiffness for hitting. More...
 
double Ktable = 0.0001
 Huge stiffness for the table. More...
 
double Tube_width = 10.0
 Natural width of the open tube. More...
 
double Table_position = 10.78
 Position of the table. More...
 
double Q =1.0e-2
 Ratio of scales. More...
 
double Rest_length_linear =1.0
 Rest length of the linear springs. More...
 
bool Non_linear_springs = false
 Do we include the non-linear springs. More...
 
GeomObjectUpper_wall_pt
 Pointer to the upper wall. More...
 
GeomObjectLower_wall_pt
 Pointer to the lower wall. More...
 
map< double, pair< GeomObject *, Vector< double > > > upper_map
 Upper wall map. More...
 
map< double, pair< GeomObject *, Vector< double > > > lower_map
 Lower wall map. More...
 
Data * P_ext_data_pt =0
 Pointer to Data object that stores external pressure. More...
 
double Pmin =1.5
 
double Pmax =2.0
 
double P_step =0.0
 
double Yprescr = 1.0
 
double Yprescr_min =0.6
 
double Period =2.0
 Period for fluctuations in flux. More...
 
double Min_flux =1.0
 Min. flux. More...
 
double Max_flux =2.0
 Max. flux. More...
 
double P_up =0.0
 Default pressure on the left boundary. More...
 
double Alpha_sq =50.0
 Square of Womersly number (a frequency parameter) More...
 
double Density_ratio =1.0
 Density ratio of the solid and the fluid. More...
 
bool Pin_fluid_on_fsi =false
 For validation only. More...
 
double Wo = 0.0
 
double Inner_radius =0.5
 Inner radius of tube. More...
 
double Outer_radius =1.0
 Outer radius of tube. More...
 
double P_inlet_const =Length*4.0/(Inner_radius*Inner_radius)
 Constant inlet pressure (for steady Poiseuille flow) More...
 
double T_cos =0.0
 
double P_outside_scale =0.0
 
double P_wall =1.0
 Constant wall pressure for validation. More...
 
double Tau =2.0/Inner_radius
 Shear stress (for steady Poiseuille flow) More...
 
double Wavespeed =0.0
 Storage for Moens Korteweg wavespeed – dependent parameter! More...
 
double Pressure_wavespeed =0.0
 Storage for pressure wavespeed in solid – dependent parameter! More...
 
double Chris_p_factor =1.0
 
double Poro_elastic_to_navier_stokes_fluid_density =1.0
 
double Permeability =5.0
 
double Porosity =0.18
 Porosity. More...
 
double Density_ratio_poro =1.0
 
double Inverse_slip_rate_coefficient =0.0
 Inverse slip rate coefficient. More...
 
double Lambda_lame = 0.0
 Lambda - first Lame parameter – dependent parameter; compute from nu. More...
 
double Mu_lame = 0.0
 mu - second Lame parameter – dependent parameter; compute from nu More...
 
double Rho_f_over_rho = 0.0
 
double Element_area_fluid =0.002
 Target element area for fluid mesh. More...
 
double Element_area_solid =0.002
 Target element area for poro-elasticmesh. More...
 
double Fluid_mesh_bl_thickness =0.01
 Fluid mesh boundary layer thickness. More...
 
double Solid_mesh_bl_thickness =0.01
 Poro-elastic mesh boundary layer thickness. More...
 
double P_inlet_initial =500.0
 Constant inlet pressure (for steady Poiseuille flow) More...
 
double P_inlet_step =P_inlet_initial
 
double T_tanh =0.25
 Parameter for tanh origin for pressure incrementation. More...
 
double Alpha_tanh =100.0
 Steepness parameter for tanh for pressure incrementation. More...
 
double Mesh_Nu = 0.1
 Mesh poisson ratio. More...
 
ConstitutiveLawMesh_constitutive_law_pt =0
 Pointer to constitutive law for the mesh. More...
 
double Gravity =0.0
 Non-dim gravity. More...
 
double C2 =1.3
 "Mooney Rivlin" coefficient for generalised Mooney Rivlin law More...
 
double Re_invFr =100
 Reynolds/Froude number. More...
 
double Prescribed_y = 1.0
 Prescribed position of control point. More...
 
WarpedLine Boundary_geom_object (0.0)
 GeomObject specifying the shape of the boundary: Initially it's flat. More...
 
bool Actually_attach_face_elements =true
 Actually attach elements? More...
 
double Inverse_Prandtl =1.0
 1/Prandtl number More...
 
double Rayleigh = 1800.0
 Rayleigh number. More...
 
Vector< doubleDirection_of_gravity (2)
 Gravity vector. More...
 
double Reynolds =10.0
 Reynolds number. More...
 
double Lewis = 10.0
 The Lewis number. More...
 
Vector< doubleDiff (2, 1.0) = 1.0/Pe
 Double relative diffusivities. More...
 
double Rayleigh_T = 1800.0
 
double Rayleigh_S = -1000
 Solutal Rayleigh number. More...
 
double Lambda = 1.414
 Length of domain. More...
 
double Scaled_Bond = 0.0
 
double Biot = 0.0
 Biot number. More...
 
double Marangoni = 125.0
 Marangoni number. More...
 
double Capillary = 0.0045
 Capillary number. More...
 
double Beta = 100.0
 Surface Elasticity number. More...
 
double Peclet_S = 1.0
 Surface Peclet number. More...
 
double Peclet_St_S = 100.0
 \shorT Sufrace Peclet number multiplied by Strouhal number More...
 
const double Pi =MathematicalConstants::Pi
 Set the value of Pi. More...
 
double Volume = 1.2
 The volume of the domain. More...
 
double Angle = 0.5*Pi
 The contact angle. More...
 
double Film_Thickness = 0.2
 
double Alpha_absorption = 1.0
 Alpha for absorption kinetics. More...
 
double K = 0.01
 The ratio of adsorption-desorption times. More...
 
double Pe = 10000.0
 Peclet number. More...
 
double PeSt = Pe
 
double Pe_reference_scale =1.0
 
Vector< doubleD (2, 1.0)
 Diffusivity (identically one from our non-dimensionalisation) More...
 
double DD_s = 1000.0
 The ratio of bulk diffusion to surface diffusion. More...
 
double Ra = 10.0
 Rayleigh number. More...
 
double Bi = 0.01
 Biot number. More...
 
double T_ext = 0.0
 Exterior temperature. More...
 
double T_inlet = 1.0
 Inlet temperature. More...
 
double eta = 0.0
 Eta factor (exponent of the exponecial function) More...
 
doubleH_lo_pt
 Pointer to film thickness at outflow on the lower wall. More...
 
doubleH_up_pt
 Pointer to film thickness at outflow on the upper wall. More...
 
doubleY_lo_pt
 Pointer to y-position at inflow on the lower wall. More...
 
doubleY_up_pt
 Pointer to y-position at inflow on the upper wall. More...
 
double Pitch = 1.0
 
DataPout_data_pt
 Pointer to Data holding downstream pressure load. More...
 
double Omega = 0.0
 Rotation rate. More...
 
double N_wave = 3
 Set the number of waves desired in the domain. More...
 
double Inlet_Angle = 2.0*atan(1.0)
 The contact angle that is imposed at the inlet (pi) More...
 
double Max_permitted_error =-1.0
 
double Min_permitted_error =-1.0
 
double A =1.0
 x-Half axis length More...
 
double A_hat =0.1
 x-Half axis amplitude More...
 
double X_indent_start =0.5
 Start of indented region. More...
 
double L_total =4.0
 Total length of domain. More...
 
double Height = 1.0
 
double Length_tip = 0.50
 
double Length_liq = 1.0
 
double Length_can = 1.5
 
unsigned Ncan = 2
 
unsigned Ntip = 2
 
unsigned Nliq = 2
 
double Rat_press = 2.87
 
double R_l =0.01
 
double R_r =1.
 
int xmesh =30
 
int ymesh =15
 
double Rstep_prestart =30.0
 
double Rmax_prestart =94.
 
double Rstep =0.1
 
double Rmax =100.
 
double epsilon =0.1
 
bool inlet_traction =false
 
double eta_inlet =1.0
 
bool outlet_traction =true
 
double eta_outlet =0.0
 
bool pinv =true
 
bool stokes =false
 
bool log_mesh =true
 
bool new_outlet_region =true
 
int uniform = 0
 
int adaptive = 0
 
double T_pcos_end =10.0
 Only keep p_cos switched on until T_pcos_end. More...
 
double Prescribed_z = 0.0
 Prescribed position of control point. More...
 
double Uniform_gamma =1.1
 Uniform volumetric expansion. More...
 
double lambda =1.0
 

Detailed Description

Global variables.

Extension of global variables for self tests.

Namespace for the physical parameters in the problem.

A namespace for the physical parameters in the problem.

Global parameters.

Namepspace for global parameters.

Global variables that represent physical properties.

Namespace for global parameters.

Namespace for physical parameters.

Namespace for phyical parameters.

Namespace for physical variables.

//////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////

Namepspace for global parameters, chosen from Campana et al. as in the axisymmetric problem.

Namespace for physical parameters The parameter values are chosen to be those used in Figures 8, 9 in Campana et al.

Namespace for physical parameters The parameter values are chosen to be those used in Figures 7, 12 in Campana & Saita

//////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////// //////////////////////////////////////////////////////// ////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////

Function Documentation

◆ axial_pressure_gradient()

void Global_Physical_Variables::axial_pressure_gradient ( const double time,
const Vector< double > &  x,
Vector< double > &  result 
)

A function to specify a constant axial body force.

77 {
78  using namespace Global_Physical_Variables;
79 
80  result[0] = 0.0;
81  result[1] = 0.0;
82  //Axial pressure gradient in siggers waters scaling is our original
83  //Reynolds number
84  result[2] = Dean/(x[0]*Delta*sqrt(2.0*Delta)); //1.0;
85 }
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
Global variables.
Definition: TwenteMeshGluing.cpp:60
double Dean
The Dean number.
Definition: pressure_driven_torus.cc:55
double Delta
The curvature of the torus.
Definition: torus.cc:51
list x
Definition: plotDoE.py:28

References Dean, Delta, sqrt(), and plotDoE::x.

Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), and UnstructuredTorusProblem< ELEMENT >::UnstructuredTorusProblem().

◆ body_force() [1/2]

void Global_Physical_Variables::body_force ( const double time,
const Vector< double > &  x,
Vector< double > &  result 
)

Functional body force.

Body force vector: Vertically downwards with magnitude Gravity.

60  {
61  result[0]=0.0;
62  result[1]=-Re_invFr;
63  }
double Re_invFr
Reynolds/Froude number.
Definition: mpi/distribution/circular_driven_cavity/circular_driven_cavity.cc:52

References Re_invFr.

Referenced by ElasticFishProblem< ELEMENT >::ElasticFishProblem(), and main().

◆ body_force() [2/2]

void Global_Physical_Variables::body_force ( const Vector< double > &  xi,
const double t,
Vector< double > &  b 
)

Body force vector: Vertically downwards with magnitude Gravity.

119  {
120  b[0]=0.0;
121  b[1]=-Gravity;
122  }
Scalar * b
Definition: benchVecAdd.cpp:17
double Gravity
Non-dim gravity (default assignment for FSI1 test case)
Definition: interaction/turek_flag/turek_flag.cc:106

References b, and Global_Parameters::Gravity.

◆ constant_pressure()

void Global_Physical_Variables::constant_pressure ( const Vector< double > &  xi,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  traction 
)

Constant pressure load.

Constant pressure load. The arguments to this function are imposed on us by the SolidTractionElements which allow the traction to depend on the Lagrangian and Eulerian coordinates x and xi, and on the outer unit normal to the surface. Here we only need the outer unit normal.

81  {
82  unsigned dim = traction.size();
83  for (unsigned i = 0; i < dim; i++) {
84  traction[i] = -P * n[i];
85  }
86 
87  } // end of pressure load
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
double P
Uniform pressure.
Definition: TwenteMeshGluing.cpp:77

References i, n, and P.

Referenced by UnstructuredSolidProblem< ELEMENT, MESH >::actions_after_adapt(), DiskShockWaveProblem< ELEMENT, TIMESTEPPER >::actions_after_adapt(), BlockCompressionProblem< ELEMENT >::create_traction_elements(), SheetGlueProblem< ELEMENT >::create_traction_elements(), DiskShockWaveProblem< ELEMENT, TIMESTEPPER >::DiskShockWaveProblem(), CantileverProblem< ELEMENT >::set_traction_pt(), and StaticDiskCompressionProblem< ELEMENT >::StaticDiskCompressionProblem().

◆ diff_function()

void Global_Physical_Variables::diff_function ( const Vector< double > &  x,
DenseMatrix< double > &  D 
)

Diffusivity tensor (again 3x3 but only the upper 2x2 block affects the axisymmetric advection diffusion equations)

88  {
89  //Radial component
90  D(0,0) = 0.5;
91  //Radial-Axial component
92  D(0,1) = 0.0;
93  //Axial-Radial component
94  D(1,0) = 0.0;
95  //Axial component
96  D(1,1) = 1.0;
97 
98  //These will not affect the equation
99  D(0,2) = 0.0;
100  D(1,2) = 0.0;
101  D(2,0) = 0.0;
102  D(2,1) = 0.0;
103  D(2,2) = 0.0;
104  }
dominoes D
Definition: Domino.cpp:55

References D.

◆ Direction_of_gravity()

Vector<double> Global_Physical_Variables::Direction_of_gravity ( )

Gravity vector.

◆ Directory()

std::string Global_Physical_Variables::Directory ( "RESLT"  )

Referenced by main().

◆ doc_dependent_parameters()

void Global_Physical_Variables::doc_dependent_parameters ( )

Doc dependent parameters.

226  {
227  oomph_info << std::endl;
228  oomph_info << "Problem parameters" << std::endl;
229  oomph_info << "==================" << std::endl;
230  oomph_info << "Womersley number (ReSt) : "
231  << Wo << std::endl;
232  oomph_info << "Wall inertia parameter (Lambda^2) : "
233  << Lambda_sq << std::endl;
234  oomph_info << "Moens-Korteweg wavespeed : "
235  << Wavespeed << std::endl;
236  oomph_info << "Pressure wavespeed in solid : "
237  << Pressure_wavespeed << std::endl;
238  oomph_info << std::endl;
239 
240  }
double Wo
Definition: linearised_fsi_pulsewave.cc:57
double Pressure_wavespeed
Storage for pressure wavespeed in solid – dependent parameter!
Definition: linearised_fsi_pulsewave.cc:166
double Lambda_sq
Pseudo-solid mass density.
Definition: pressure_driven_torus.cc:62
double Wavespeed
Storage for Moens Korteweg wavespeed – dependent parameter!
Definition: linearised_fsi_pulsewave.cc:163
OomphInfo oomph_info
Definition: oomph_definitions.cc:319

References Lambda_sq, oomph::oomph_info, Pressure_wavespeed, Wavespeed, and Wo.

Referenced by main().

◆ edge_sign_setup()

template<class ELEMENT >
void Global_Physical_Variables::edge_sign_setup ( Mesh mesh_pt)

Global function that completes the edge sign setup.

294  {
295  // The dictionary keeping track of edge signs
296  std::map<Edge,unsigned> assignments;
297 
298  // Loop over all elements
299  unsigned n_element = mesh_pt->nelement();
300  for(unsigned e=0;e<n_element;e++)
301  {
302  ELEMENT* el_pt = dynamic_cast<ELEMENT*>(mesh_pt->element_pt(e));
303 
304  // Assign edge signs: Loop over the vertex nodes (always
305  // first 3 nodes for triangles)
306  for(unsigned i=0;i<3;i++)
307  {
308  Node *nod_pt1, *nod_pt2;
309  nod_pt1 = el_pt->node_pt(i);
310  nod_pt2 = el_pt->node_pt((i+1)%3);
311  Edge edge(nod_pt1,nod_pt2);
312  unsigned status = assignments[edge];
313 
314  // This relies on the default value for an int being 0 in a map
315  switch(status)
316  {
317  // If not assigned on either side, give it a + on current side
318  case 0:
319  assignments[edge]=1;
320  break;
321  // If assigned + on other side, give it a - on current side
322  case 1:
323  assignments[edge]=2;
324  el_pt->sign_edge(i)=-1;
325  break;
326  // If assigned - on other side, give it a + on current side
327  case 2:
328  assignments[edge]=1;
329  break;
330  }
331  } // end of loop over vertex nodes
332 
333  } // end of loop over elements
334  }
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Edge class.
Definition: mesh.h:2692
GeneralisedElement *& element_pt(const unsigned long &e)
Return pointer to element e.
Definition: mesh.h:448
unsigned long nelement() const
Return number of elements in the mesh.
Definition: mesh.h:590
Definition: nodes.h:906
void assignments()
Definition: skew_symmetric_matrix3.cpp:38

References anonymous_namespace{skew_symmetric_matrix3.cpp}::assignments(), e(), oomph::Mesh::element_pt(), i, and oomph::Mesh::nelement().

◆ external_pressure()

double Global_Physical_Variables::external_pressure ( )

Access function to value of external pressure.

Return a reference to the external pressure load on the elastic ring. A reference is obtained by de-referencing the pointer to the data value that contains the external load

Return a reference to the external pressure load on the elastic tube.

80  {return *Pext_data_pt->value_pt(0);}
double * value_pt(const unsigned &i) const
Definition: nodes.h:324
Data * Pext_data_pt
Pointer to pressure load.
Definition: steady_ring.cc:60

References Pext_data_pt, and oomph::Data::value_pt().

Referenced by FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), main(), ElasticRingProblem< ELEMENT >::parameter_study(), and ShellProblem< ELEMENT >::solve().

◆ fluid_inflow_boundary_traction()

void Global_Physical_Variables::fluid_inflow_boundary_traction ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  result 
)

Inflow traction applied to the fluid mesh.

110  {
111  double ramp_factor=1.0;
112  if (T_cos!=0.0)
113  {
114  if (time<=T_cos)
115  {
116  ramp_factor=0.5*(1.0-cos(2.0*MathematicalConstants::Pi*time/T_cos));
117  }
118  }
119  //oomph_info << "ramp factor: " << ramp_factor << std::endl;
120  result[0]=0.0;
121  result[1]=P_inlet_const*ramp_factor;
122  result[2]=0;
123  }
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
double Pi
Definition: two_d_biharmonic.cc:235
double P_inlet_const
Constant inlet pressure (for steady Poiseuille flow)
Definition: linearised_fsi_pulsewave.cc:81
double T_cos
Definition: linearised_fsi_pulsewave.cc:85

References cos(), P_inlet_const, BiharmonicTestFunctions2::Pi, and T_cos.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fluid_traction_elements().

◆ flux()

double Global_Physical_Variables::flux ( const double t)

Flux: Pulsatile flow fluctuating between Min_flux and Max_flux with period Period

73  {
74  return Min_flux+
76  }
double Period
Period for fluctuations in flux.
Definition: interaction/fsi_channel_with_leaflet/fsi_channel_with_leaflet.cc:62
double Min_flux
Min. flux.
Definition: interaction/fsi_channel_with_leaflet/fsi_channel_with_leaflet.cc:65
double Max_flux
Max. flux.
Definition: interaction/fsi_channel_with_leaflet/fsi_channel_with_leaflet.cc:68
t
Definition: plotPSD.py:36

References cos(), Max_flux, Min_flux, Period, BiharmonicTestFunctions2::Pi, and plotPSD::t.

Referenced by FSIChannelWithLeafletProblem< ELEMENT >::actions_before_implicit_timestep(), and FSIChannelWithLeafletProblem< ELEMENT >::doc_solution().

◆ G() [1/2]

Vector<double> Global_Physical_Variables::G ( )

Direction of gravity.

◆ G() [2/2]

Vector<double> Global_Physical_Variables::G ( ,
0.  0 
)

The Vector direction of gravity, set in main()

◆ get_exact_u()

void Global_Physical_Variables::get_exact_u ( const double t,
const Vector< double > &  x,
Vector< double > &  u 
)

Exact solution of the problem as a vector containing u,v,p.

136  {
137  using namespace MathematicalConstants;
138 
139  // Strouhal number
140  double St = ReSt/Re;
141 
142  // Half axis
143  double a=A+A_hat*cos(2.0*Pi*t/T);
144  double adot=-2.0*A_hat*Pi*sin(2.0*Pi*t/T)/T;
145  u.resize(3);
146 
147  // Velocity solution
148  u[0]=adot*x[0]/a;
149  u[1]=-adot*x[1]/a;
150 
151  // Pressure solution
152  u[2]=(2.0*A_hat*Pi*Pi*Re*(x[0]*x[0]*St*cos(2.0*Pi*t/T)*A +
153  x[0]*x[0]*St*A_hat - x[0]*x[0]*A_hat +
154  x[0]*x[0]*A_hat*cos(2.0*Pi*t/T)*cos(2.0*Pi*t/T) -
155  x[1]*x[1]*St*cos(2.0*Pi*t/T)*A -
156  x[1]*x[1]*St*A_hat - x[1]*x[1]*A_hat +
157  x[1]*x[1]*A_hat*cos(2.0*Pi*t/T)*cos(2.0*Pi*t/T) ))
158  /(T*T*(A*A + 2.0*A*A_hat*cos(2.0*Pi*t/T) +
159  A_hat*A_hat*cos(2.0*Pi*t/T)*cos(2.0*Pi*t/T) ));
160  }
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
const Scalar * a
Definition: level2_cplx_impl.h:32
double Re
Reynolds number.
Definition: axisym_navier_stokes/counter_rotating_disks/counter_rotating_disks.cc:61
double ReSt
Product of Reynolds and Strouhal numbers.
Definition: axisym_navier_stokes/counter_rotating_disks/counter_rotating_disks.cc:64
double A_hat
x-Half axis amplitude
Definition: osc_quarter_ellipse.cc:129
double St
Strouhal number.
Definition: elastic_two_layer_interface_axisym.cc:66

References a, A_hat, cos(), BiharmonicTestFunctions2::Pi, GlobalPhysicalVariables::Re, GlobalPhysicalVariables::ReSt, sin(), St, plotPSD::t, and plotDoE::x.

Referenced by OscEllipseProblem< ELEMENT, TIMESTEPPER >::doc_solution(), and OscEllipseProblem< ELEMENT, TIMESTEPPER >::set_initial_condition().

◆ Gravity()

Vector<double> Global_Physical_Variables::Gravity ( )

Gravity vector.

◆ gravity()

void Global_Physical_Variables::gravity ( const double time,
const Vector< double > &  xi,
Vector< double > &  b 
)

Non-dimensional gravity as body force.

220  {
221  b[0]=0.0;
222  b[1]=-Gravity;
223  }
double Gravity
Non-dim gravity.
Definition: meshing/quad_from_triangle_mesh/unstructured_two_d_solid.cc:214

References b, and Gravity.

Referenced by CantileverProblem< ELEMENT >::CantileverProblem(), and CompressedSquareProblem< ELEMENT >::CompressedSquareProblem().

◆ growth_function()

void Global_Physical_Variables::growth_function ( const Vector< double > &  xi,
double gamma 
)

Growth function.

86  {
88  }
double Uniform_gamma
Uniform volumetric expansion.
Definition: disk_compression.cc:82
Mdouble gamma(Mdouble gamma_in)
This is the gamma function returns the true value for the half integer value.
Definition: ExtendedMath.cc:116

Referenced by StaticDiskCompressionProblem< ELEMENT >::StaticDiskCompressionProblem().

◆ height()

double Global_Physical_Variables::height ( const double x)

Height of domain.

430  {
431  if ((x>X_indent_start)&&(x<(X_indent_start+L)))
432  {
434  }
435  else
436  {
437  return H;
438  }
439  }
MatrixXf H
Definition: HessenbergDecomposition_matrixH.cpp:4
MatrixXd L
Definition: LLT_example.cpp:6
double X_indent_start
Start of indented region.
Definition: simple_spine_channel.cc:414

References H, L, BiharmonicTestFunctions2::Pi, sin(), plotDoE::x, and X_indent_start.

Referenced by GranuHeap::actionsAfterTimeStep(), FlowAroundCylinderProblem< ELEMENT >::add_eigenproblem(), oomph::TetMeshBase::assess_mesh_quality(), ChannelSpineFlowProblem< ELEMENT >::ChannelSpineFlowProblem(), Beam::checkBeamDeflection(), ClosedCSCWalls::ClosedCSCWalls(), CollapsibleChannelProblem< ELEMENT >::CollapsibleChannelProblem(), CSCWalls::CSCWalls(), CylinderAndInterfaceMesh< ELEMENT >::CylinderAndInterfaceMesh(), oomph::CylinderWithFlagDomain::CylinderWithFlagDomain(), oomph::CylinderWithFlagMesh< ELEMENT >::CylinderWithFlagMesh(), ThreeDimBethertonProblem< ELEMENT >::doc_solution(), FlowAroundCylinderProblem< ELEMENT >::FlowAroundCylinderProblem(), ChuteWithHopper::getMaximumVelocityInducedByGravity(), main(), ChuteBottom::makeRoughBottom(), MandelbrotWidget::mouseMoveEvent(), MandelbrotWidget::mousePressEvent(), MandelbrotWidget::paintEvent(), ParticleCreation::ParticleCreation(), protectiveWall::protectiveWall(), RectangleWithHoleDomain::RectangleWithHoleDomain(), RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), oomph::RefineableQuadMeshWithMovingCylinder< ELEMENT >::RefineableQuadMeshWithMovingCylinder(), RefineableRotatingCylinderProblem< ELEMENT >::RefineableRotatingCylinderProblem(), MandelbrotWidget::resizeEvent(), RenderingWidget::resizeGL(), ChuteWithHopper::setHopper(), SphericalIndenter::setIndenterHeight(), Camera::setViewport(), SinusoidalWall::SinusoidalWall(), SpikedLine::SpikedLine(), oomph::StraightLine::StraightLine(), T_protectiveWall::T_protectiveWall(), ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem(), TurekNonFSIProblem< ELEMENT >::TurekNonFSIProblem(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), Tutorial11::Tutorial11(), inflowFromPeriodic::writeXBallsScript(), and ChuteWithPeriodicInflow::writeXBallsScript().

◆ hydrostatic_pressure()

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.

154  {
155  traction[0] = -ReInvFr*G[1]*x[1];
156  traction[1] = 0.0;
157  }
JacobiRotation< float > G
Definition: Jacobi_makeGivens.cpp:2
double ReInvFr
Product of Rynolds number and inverse of Froude number.
Definition: axisym_navier_stokes/counter_rotating_disks/counter_rotating_disks.cc:67

References G, GlobalPhysicalVariables::ReInvFr, and plotDoE::x.

Referenced by AirwayReopeningProblem< ELEMENT >::construct_pressure_gradient_outlet_elements(), and ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem().

◆ hydrostatic_pressure_inlet()

void Global_Physical_Variables::hydrostatic_pressure_inlet ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  traction 
)

Function that prescribes hydrostatic pressure field at the inlet.

118  {
119  traction[0] = -ReInvFr*G[1]*(1.0 - x[1]);
120  traction[1] = 0.0;
121  }

References G, GlobalPhysicalVariables::ReInvFr, and plotDoE::x.

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements().

◆ hydrostatic_pressure_outlet()

void Global_Physical_Variables::hydrostatic_pressure_outlet ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  traction 
)

Function that prescribes the hydrostatic pressure field at the outlet.

109  {
110  traction[0] = ReInvFr*G[1]*(1.0 - x[1]);
111  traction[1] = 0.0;
112  }

References G, GlobalPhysicalVariables::ReInvFr, and plotDoE::x.

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_traction_elements().

◆ inflow()

void Global_Physical_Variables::inflow ( const Vector< double > &  x,
Vector< double > &  veloc 
)

Set inflow velocity, based on spine heights at outflow and channel width at inflow

77  {
78 #ifdef PARANOID
79  std::ostringstream error_stream;
80  bool throw_error=false;
81  if (H_lo_pt==0)
82  {
83  error_stream << "You must set H_lo_pt\n";
84  throw_error = true;
85  }
86  if (H_up_pt==0)
87  {
88  error_stream << "You must set H_up_pt\n";
89  throw_error = true;
90  }
91  if (Y_lo_pt==0)
92  {
93  error_stream << "You must set Y_lo_pt\n";
94  throw_error = true;
95  }
96  if (Y_up_pt==0)
97  {
98  error_stream << "You must set Y_up_pt\n";
99  throw_error = true;
100  }
101 
102  //If one of the errors has occured
103  if(throw_error)
104  {
105  throw OomphLibError(error_stream.str(),
108  }
109 #endif
110 
111 
112  // Get average film thickness far ahead
113  double h_av=0.5*(*H_lo_pt+*H_up_pt);
114 
115  // Get position of upper and lower wall at inflow
116  double y_up=*Y_up_pt;
117  double y_lo=*Y_lo_pt;
118 
119  // Constant in velocity profile
120  double C =6.0*(2.0*h_av+y_lo-y_up)/
121  (y_up*y_up*y_up-y_lo*y_lo*y_lo-h_av*y_up*
122  y_up*y_up+h_av*y_lo*y_lo*y_lo-3.0*y_lo*y_up*y_up+
123  3.0*y_lo*y_lo*y_up+3.0*y_lo*y_up*y_up*h_av-3.0*y_lo*y_lo*y_up*h_av);
124 
125  // y coordinate
126  double y=x[1];
127 
128  // Parallel, parabolic inflow
129  veloc[0]=-1.0+C*(1.0-h_av)*((y_lo-y)*(y_up-y));
130  veloc[1]=0.0;
131  }
Definition: matrices.h:74
Definition: oomph_definitions.h:222
Scalar * y
Definition: level1_cplx_impl.h:128
double * H_lo_pt
Pointer to film thickness at outflow on the lower wall.
Definition: bretherton.cc:63
double * Y_up_pt
Pointer to y-position at inflow on the upper wall.
Definition: bretherton.cc:72
double * H_up_pt
Pointer to film thickness at outflow on the upper wall.
Definition: bretherton.cc:66
double * Y_lo_pt
Pointer to y-position at inflow on the lower wall.
Definition: bretherton.cc:69
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86

References H_lo_pt, H_up_pt, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, plotDoE::x, y, Y_lo_pt, and Y_up_pt.

Referenced by BrethertonProblem< ELEMENT >::actions_before_newton_convergence_check(), and BrethertonProblem< ELEMENT >::activate_inflow_dependency().

◆ load() [1/2]

void Global_Physical_Variables::load ( const Vector< double > &  xi,
const Vector< double > &  x,
const Vector< double > &  N,
Vector< double > &  load 
)

Load function: Apply a constant external pressure to the beam.

Load function: Apply a constant external pressure to the wall. Note: This is the load without the fluid contribution! Fluid load gets added on by FSIWallElement.

54  {
55  for(unsigned i=0;i<2;i++) {load[i] = -P_ext*N[i];}
56  }
@ N
Definition: constructor.cpp:22
double P_ext
External pressure.
Definition: fibre.cc:64
void load(const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
Load function: Apply a constant external pressure to the beam.
Definition: tensioned_string.cc:52

References i, N, and P_ext.

Referenced by ElasticBeamProblem::ElasticBeamProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), and load().

◆ load() [2/2]

void Global_Physical_Variables::load ( const Vector< double > &  xi,
const Vector< double > &  x,
const Vector< double > &  N,
Vector< double > &  load 
)

Load function: Apply a constant external pressure to the wall. Note: This is the load without the fluid contribution! Fluid load gets added on by FSIWallElement.

78  {
79  for(unsigned i=0;i<2;i++)
80  {
81  load[i] = -P_ext_data_pt->value(0)*N[i];
82  }
83  } //end of load
Data * P_ext_data_pt
Pointer to Data object that stores external pressure.
Definition: fsi_chan_problem.h:48

References i, load(), N, and P_ext_data_pt.

◆ multiplier()

◆ outside_solid_boundary_traction()

void Global_Physical_Variables::outside_solid_boundary_traction ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  result 
)

Traction applied to the outside of the solid mesh.

99  {
100  result[0]=-P_outside_scale*time*time*n[0];
101  result[1]=-P_outside_scale*time*time*n[1];
102  result[2]=0;
103  }
double P_outside_scale
Definition: linearised_fsi_pulsewave.cc:89

References n, and P_outside_scale.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_solid_traction_elements().

◆ P()

Vector<double> Global_Physical_Variables::P ( )

◆ pcos_load()

void Global_Physical_Variables::pcos_load ( const Vector< double > &  xi,
const Vector< double > &  x,
const Vector< double > &  N,
Vector< double > &  load 
)

Non-FSI load function, a constant external pressure plus a (small) sinusoidal perturbation of wavenumber two.

127  {
128  for(unsigned i=0;i<2;i++)
129  {load[i] = (Pext - Pcos*cos(2.0*xi[0]))*N[i];}
130  }
void load(Archive &ar, ParticleHandler &handl)
Definition: Particles.h:21
double Pext
External Pressure.
Definition: elastic_bretherton.cc:99
double Pcos
Perturbation pressure.
Definition: steady_ring.cc:56

References cos(), i, load(), N, Pcos, and Pext.

Referenced by FSIRingProblem::FSIRingProblem().

◆ prescribed_alpha_on_fixed_r_boundary()

void Global_Physical_Variables::prescribed_alpha_on_fixed_r_boundary ( const Vector< double > &  x_vect,
double alpha 
)

Alfa on a boundary on which r is fixed.

118  {
119  // Use alpha<0 for put T_inf<u(r,z)<T_inlet
120  // alpha = -Bi and beta = -Bi*T_inf with Bi>0
121  alpha = -Bi;
122  }
RealScalar alpha
Definition: level1_cplx_impl.h:151
double Bi
Biot number.
Definition: thermal_fibre.cc:85

References alpha, and Bi.

Referenced by AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem().

◆ prescribed_beta_on_fixed_r_boundary()

void Global_Physical_Variables::prescribed_beta_on_fixed_r_boundary ( const Vector< double > &  x_vector,
double beta 
)

Beta on a boundary on which r is fixed.

111  {
112  beta = -Bi*T_ext;
113  }
Scalar beta
Definition: level2_cplx_impl.h:36
double T_ext
Exterior temperature.
Definition: thermal_fibre.cc:88

References beta, Bi, and T_ext.

Referenced by AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem().

◆ prescribed_traction()

void Global_Physical_Variables::prescribed_traction ( const double t,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  traction 
)

Traction applied on the fluid at the left (inflow) boundary.

Traction required at the left boundary.

190  {
191  traction.resize(2);
192  traction[0]=P_up;
193  traction[1]=0.0;
194 
195  } //end traction
double P_up
Default pressure on the left boundary.
Definition: fsi_collapsible_channel.cc:183

References P_up.

Referenced by FSICollapsibleChannelProblem< ELEMENT >::actions_after_adapt(), CollapsibleChannelProblem< ELEMENT >::actions_after_adapt(), CollapsibleChannelProblem< ELEMENT >::CollapsibleChannelProblem(), and FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem().

◆ press_load()

void Global_Physical_Variables::press_load ( const Vector< double > &  xi,
const Vector< double > &  x,
const Vector< double > &  N,
Vector< double > &  load 
)

Load function: Perturbation pressure to force non-axisymmetric deformation.

Load function, normal pressure loading.

Load function: Constant external pressure with cos variation to induce buckling in n=2 mode

Load function: Constant external pressure with cos variation to induce buckling in desired mode

68  {
69  for(unsigned i=0;i<2;i++)
70  {
71  load[i] = (Pext_data_pt->value(0)-Pcos*cos(2.0*xi[0]))*N[i];
72  }
73  }
double value(const unsigned &i) const
Definition: nodes.h:293

References cos(), i, load(), N, Pcos, Pext_data_pt, and oomph::Data::value().

Referenced by ElasticRingProblem< ELEMENT >::ElasticRingProblem(), PlateProblem< ELEMENT >::PlateProblem(), and ShellProblem< ELEMENT >::ShellProblem().

◆ pulse_wave_solution()

void Global_Physical_Variables::pulse_wave_solution ( const double time,
const Vector< double > &  x,
Vector< double > &  soln 
)

"Exact" solution for propagating pulse wave

172  {
173  // Three velocities and pressure
174  soln.resize(4,0.0);
175 
176  // Wave position
177  double z_wave=Length-Wavespeed*time;
178 
179  // Just do the pressure
180  if (x[1]>z_wave)
181  {
182  soln[3]=P_inlet_const;
183  }
184  else
185  {
186  soln[3]=0.0;
187  }
188  }
double Length
Length of the pipe.
Definition: pipe.cc:52

References Length, P_inlet_const, Wavespeed, and plotDoE::x.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution().

◆ set_params()

void Global_Physical_Variables::set_params ( )

Set the parameters that are used in the code as a function of the Womersley number, the density ratio and H

88  {
89  cout << "\n\n======================================================" <<std::endl;
90  cout << "\nSetting parameters. \n\n";
91  cout << "Prescribed: Square of Womersley number: Alpha_sq = "
92  << Alpha_sq << std::endl;
93  cout << " Density ratio: Density_ratio = "
94  << Density_ratio << std::endl;
95  cout << " Wall thickness: H = "
96  << H << std::endl;
97  cout << " Poisson ratio: Nu = "
98  << Nu << std::endl;
99  cout << " Pressure perturbation: Pcos = "
100  << Pcos << std::endl;
101 
102 
103  Q=1.0/12.0*pow(H,3)/Alpha_sq;
104  cout << "\nDependent: Stress ratio: Q = "
105  << Q << std::endl;
106 
107  Lambda_sq=1.0/12.0*pow(H,3)*Density_ratio;
108  cout << " Timescale ratio: Lambda_sq = "
109  << Lambda_sq << std::endl;
110 
111  Re=Alpha_sq;
112  cout << " Reynolds number: Re = "
113  << Re << std::endl;
114 
115  ReSt=Re;
116  cout << " Womersley number: ReSt = "
117  << ReSt << std::endl;
118  cout << "\n======================================================\n\n"
119  <<std::endl;
120 
121  }
MatrixXf Q
Definition: HouseholderQR_householderQ.cpp:1
EIGEN_DEVICE_FUNC const GlobalUnaryPowReturnType< Derived, ScalarExponent > pow(const Eigen::ArrayBase< Derived > &x, const ScalarExponent &exponent)
Definition: GlobalFunctions.h:137
double Nu
Definition: ConstraintElementsUnitTest.cpp:40
double Alpha_sq
Square of Womersly number (a frequency parameter)
Definition: interaction/fsi_osc_ring/fsi_osc_ring.cc:52
double Density_ratio
Density ratio of the solid and the fluid.
Definition: interaction/fsi_osc_ring/fsi_osc_ring.cc:55

References Alpha_sq, Density_ratio, H, Lambda_sq, Constitutive_Parameters::Nu, Pcos, Eigen::bfloat16_impl::pow(), Q, GlobalPhysicalVariables::Re, and GlobalPhysicalVariables::ReSt.

Referenced by FSIRingProblem::dynamic_run().

◆ spring_load()

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.

162  {
163  load[0] = -Pext*N[0];
164  load[1] = -Pext*N[1];// + Kstiff*(Rest_length_linear - x[1]);
165 
166  //Now we wish to penalise the tube if it goes above the natural width
167  //Find the position of the lower wall
168  pair<GeomObject*,Vector<double> > paired_lower
169  = lower_map[xi[0]];
170  Vector<double> lower_x(2);
171  paired_lower.first->position(paired_lower.second,lower_x);
172 
173  //Now work out the distance between the walls
174  Vector<double> d_vec(2);
175  for(unsigned i=0;i<2;++i) {d_vec[i] = lower_x[i] - x[i];}
176  const double distance = sqrt(d_vec[0]*d_vec[0] + d_vec[1]*d_vec[1]);
177 
178  const double width = 2*Rest_length_linear;
179 
180  const double strain = (distance - width)/width;
181 
182  for(unsigned i=0;i<2;i++)
183  {
184  load[i] += Kstiff*strain*d_vec[i]/distance;
185  }
186 
187  //Note, it turns out the a linear stiffness of 0.0002
188  //is exactly correct for
189  //a tube of wall thickness, whatever, so let's stick with it.
190 
192  {
193  //Now add on the penalty
194  if(strain > (-3.0*H*H/12.0))
195  {
196  for(unsigned i=0;i<2;i++)
197  {
198  load[i] += H*d_vec[i]/distance*strain;
199  }
200  }
201  //Now the non-linear part of the tube law can be approximated
202  //by 0.7*sqrt(P-3), see my other notes
203  else
204  {
205  for(unsigned i=0;i<2;i++)
206  {
207  load[i] -= (1.0/12.0)*H*H*H*(3.0 + 1.98*strain*strain)*
208  d_vec[i]/distance;
209  }
210  }
211  }
212  }
bool Non_linear_springs
Do we include the non-linear springs.
Definition: elastic_bretherton.cc:137
map< double, pair< GeomObject *, Vector< double > > > lower_map
Lower wall map.
Definition: elastic_bretherton.cc:149
double Kstiff
Spring stiffness.
Definition: elastic_bretherton.cc:116
double Rest_length_linear
Rest length of the linear springs.
Definition: elastic_bretherton.cc:134

References H, i, Kstiff, load(), lower_map, N, Non_linear_springs, Pext, Rest_length_linear, sqrt(), and plotDoE::x.

Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem().

◆ spring_load_lower()

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.

218  {
219  load[0] = Pext*N[0];
220  load[1] = Pext*N[1];// - Kstiff*(Rest_length_linear + x[1]);
221  //Add a table
222  double table_strain = Table_position + x[1];
223  if(table_strain < 0.0)
224  {
225  //Add a huge restoring force
226  load[1] -= Ktable*table_strain;
227  }
228 
229  //Now we wish to penalise the tube if it goes above the natural width
230  //Find the position of the upper wall
231  pair<GeomObject*,Vector<double> > paired_upper
232  = upper_map[xi[0]];
233  Vector<double> upper_x(2);
234  paired_upper.first->position(paired_upper.second,upper_x);
235 
236  //Now work out the distance between the walls
237  Vector<double> d_vec(2);
238  for(unsigned i=0;i<2;++i) {d_vec[i] = upper_x[i] - x[i];}
239  const double distance = sqrt(d_vec[0]*d_vec[0] + d_vec[1]*d_vec[1]);
240 
241  const double width = 2*Rest_length_linear;
242 
243  const double strain = (distance - width)/width;
244 
245  for(unsigned i=0;i<2;i++)
246  {
247  load[i] += Kstiff*strain*d_vec[i]/distance;
248  }
249 
251  {
252  //Now add on the penalty
253  if(strain > (-3.0*H*H/12.0))
254  {
255  for(unsigned i=0;i<2;i++)
256  {
257  load[i] += H*d_vec[i]/distance*strain;
258  }
259  }
260  else
261  {
262  for(unsigned i=0;i<2;i++)
263  {
264  load[i] -= (1.0/12.0)*H*H*H*(3.0 + 1.98*strain*strain)*
265  d_vec[i]/distance;
266  }
267  }
268  }
269  }
double Table_position
Position of the table.
Definition: elastic_bretherton.cc:128
map< double, pair< GeomObject *, Vector< double > > > upper_map
Upper wall map.
Definition: elastic_bretherton.cc:146
double Ktable
Huge stiffness for the table.
Definition: elastic_bretherton.cc:122

References H, i, Kstiff, Ktable, load(), N, Non_linear_springs, Pext, Rest_length_linear, sqrt(), Table_position, upper_map, and plotDoE::x.

Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem().

◆ swimming()

void Global_Physical_Variables::swimming ( const Vector< double > &  x,
Vector< double > &  swim 
)
76  {
77  //Radial direction
78  swim[0] = 0.0;
79  //Vertical direction
80  swim[1] = -5*x[1];
81  //Azimuthal direction (ignored)
82  swim[2] = 0.0;
83  }

References plotDoE::x.

◆ Tau()

Vector<double> Global_Physical_Variables::Tau ( ,
1.  0 
)

Timescales for transport equations (identically one from our non-dimensionalisation)

◆ traction_function()

void Global_Physical_Variables::traction_function ( const double time,
const Vector< double > &  x,
Vector< double > &  traction 
)

Unused (but assigned) function to specify tractions.

99  {
100  //Impose traction
101  traction[0] = 0.0;
102  traction[1] = 0.0;
103  }

Referenced by oomph::jh_mesh< ELEMENT >::make_traction_elements().

◆ update_dependent_parameters()

void Global_Physical_Variables::update_dependent_parameters ( )

Helper function to update dependent parameters.

193  {
194 #ifdef PARANOID
195  if (Inner_radius!=0.5)
196  {
197  throw OomphLibError(
198  "Inner radius must be 1/2 for non-dimensionalisation to be consistent.",
201  }
202 #endif
203 
204  // Non-dim wall thickness
205  double h=Outer_radius-Inner_radius;
206 
207  //Wavespeed
208  Wavespeed=sqrt(h/(2.0*Inner_radius)/(Q*Re));
209 
210  // The Womersley number
211  Wo = Re*St;
212 
213  // Wall inertia parameter
215 
216  // Pressure wavespeed in solid
217  // Commented out to avoid a division by zero
218  //Pressure_wavespeed=sqrt( ( (1.0-Nu)/((1.0+Nu)*(1.0-2.0*Nu)) ) /
219  // (Density_ratio*Q*Re) );
220 
221  }
double Outer_radius
Outer radius of tube.
Definition: linearised_fsi_pulsewave.cc:75
double Inner_radius
Inner radius of tube.
Definition: linearised_fsi_pulsewave.cc:72
double Density_ratio
Ratio of pore fluid density to solid matrix density.
Definition: unstructured_two_d_curved.cc:74

References ProblemParameters::Density_ratio, Inner_radius, Lambda_sq, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Outer_radius, Q, GlobalPhysicalVariables::Re, sqrt(), St, Wavespeed, and Wo.

Referenced by main().

◆ validation_fluid_fsi_boundary_traction()

void Global_Physical_Variables::validation_fluid_fsi_boundary_traction ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  result 
)

"fsi" traction applied to the fluid mesh (for validation case in which fluid is driven by prescribed traction on fsi boundary rather than "lagrange multiplier traction" that enforces no slip

151  {
152  // Pressure increases linearly
153  result[0]=-P_inlet_const*x[1]/Length;
154 
155  // Shear stress is constant
156  result[1]=Tau;
157 
158  // No swirl
159  result[2]=0.0;
160  }
double Tau
Shear stress (for steady Poiseuille flow)
Definition: linearised_fsi_pulsewave.cc:142

References Length, P_inlet_const, Tau, and plotDoE::x.

◆ validation_solid_fsi_boundary_traction()

void Global_Physical_Variables::validation_solid_fsi_boundary_traction ( const double time,
const Vector< double > &  x,
const Vector< double > &  n,
Vector< double > &  result 
)

Traction applied to the solid mesh at fsi interface (for validation only)

134  {
135  result[0]=-P_wall*n[0];
136  result[1]=-P_wall*n[1];
137  result[2]=0;
138  }
double P_wall
Constant wall pressure for validation.
Definition: linearised_fsi_pulsewave.cc:127

References n, and P_wall.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_solid_traction_elements().

◆ viscosity_ratio_function()

void Global_Physical_Variables::viscosity_ratio_function ( double temperature,
double result 
)

Viscosity ratio function modeled following a Arrhenius fashion.

104  {
105  result = G*exp(eta*(T_inlet-temperature));
106  }
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
double eta
Eta factor (exponent of the exponecial function)
Definition: thermal_fibre.cc:99
double T_inlet
Inlet temperature.
Definition: thermal_fibre.cc:91

References eta, Eigen::bfloat16_impl::exp(), G, and T_inlet.

Referenced by AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem().

◆ wall_unit_normal_fct()

void Global_Physical_Variables::wall_unit_normal_fct ( const Vector< double > &  x,
Vector< double > &  normal 
)

Function that specifies the wall unit normal.

64  {
66  }
Vector< double > Wall_normal
Direction of the wall normal vector.
Definition: axi_static_cap.cc:59
void normal(const Vector< double > &x, Vector< double > &normal)
Definition: free_surface_rotation.cc:65

References WallFunction::normal(), and Wall_normal.

Referenced by CapProblem< ELEMENT >::CapProblem(), PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), and RefineableRotatingCylinderProblem< ELEMENT >::finish_problem_setup().

◆ wall_unit_normal_inlet_fct()

void 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.

86  {
88  }

References WallFunction::normal(), and Wall_normal.

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements().

◆ wall_unit_normal_left_fct()

void Global_Physical_Variables::wall_unit_normal_left_fct ( const Vector< double > &  x,
Vector< double > &  normal 
)

Function that specifies the wall unit normal.

572  {
573  normal[0]=-1.0;
574  normal[1]= 0.0;
575 
576  }

References WallFunction::normal().

◆ wall_unit_normal_outlet_fct()

void 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.

93  {
94  //Set the normal
96  //and flip the sign
97  unsigned n_dim = normal.size();
98  for(unsigned i=0;i<n_dim;++i) {normal[i] *= -1.0;}
99  }

References i, WallFunction::normal(), and Wall_normal.

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements().

◆ wall_unit_normal_right_fct()

void Global_Physical_Variables::wall_unit_normal_right_fct ( const Vector< double > &  x,
Vector< double > &  normal 
)

Function that specifies the wall unit normal.

582  {
583  normal[0]=1.0;
584  normal[1]=0.0;
585  }

References WallFunction::normal().

◆ wind_function()

void Global_Physical_Variables::wind_function ( const Vector< double > &  x,
Vector< double > &  wind 
)

Wind.

59  {
60  //Poiseulle flow no radial flow, but quadratic axial flow
61  //plus a possible swirl component which will do nothing
62  //because the concentration cannot have gradients in the swirl
63  //direction
64  wind[0] = 0.0;
65  wind[1] = (Radius*Radius - x[0]*x[0]);
66  wind[2] = 0.0;
67  }
double Radius
Radius of the pipe.
Definition: pipe.cc:55

References Radius, and plotDoE::x.

Referenced by RefineableAdvectionDiffusionPipeProblem< ELEMENT >::RefineableAdvectionDiffusionPipeProblem().

◆ zero_body_force()

void Global_Physical_Variables::zero_body_force ( const double time,
const Vector< double > &  x,
Vector< double > &  result 
)

Zero functional body force.

68  {
69  result[0]=0.0;
70  result[1]=0.0;
71  }

Referenced by main().

Variable Documentation

◆ A

double Global_Physical_Variables::A =1.0

x-Half axis length

Amplitude of indentation.

Referenced by OscEllipseProblem< ELEMENT, TIMESTEPPER >::OscEllipseProblem().

◆ A_hat

double Global_Physical_Variables::A_hat =0.1

◆ Actually_attach_face_elements

bool Global_Physical_Variables::Actually_attach_face_elements =true

Actually attach elements?

Referenced by main().

◆ adaptive

◆ Alpha

◆ Alpha_absorption

double Global_Physical_Variables::Alpha_absorption = 1.0

Alpha for absorption kinetics.

◆ Alpha_sq

double Global_Physical_Variables::Alpha_sq =50.0

Square of Womersly number (a frequency parameter)

Referenced by FSIRingProblem::dynamic_run(), and set_params().

◆ Alpha_tanh

double Global_Physical_Variables::Alpha_tanh =100.0

Steepness parameter for tanh for pressure incrementation.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and main().

◆ Angle

◆ Beta

◆ Bi

◆ Biot

double Global_Physical_Variables::Biot = 0.0

◆ Bo

◆ Boundary_geom_object

◆ C1

◆ C2

◆ Ca

double Global_Physical_Variables::Ca = 10.0

Capillary number.

The Capillary number.

Referenced by AirwayReopeningProblem< ELEMENT >::actions_after_change_in_global_parameter(), AirwayReopeningProblem< ELEMENT >::actions_before_newton_convergence_check(), oomph::SurfactantTransportInterfaceElement::add_additional_residual_contributions_interface(), AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), AxialSolidQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::AxialSolidQuarterTubeMesh(), AxialSpineQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::AxialSpineQuarterTubeMesh(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem(), BrethertonProblem< ELEMENT >::BrethertonProblem(), PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), InterfaceProblem< ELEMENT, TIMESTEPPER >::create_interface_elements(), CapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), AirwayReopeningProblem< ELEMENT >::doc_solution(), BrethertonProblem< ELEMENT >::doc_solution(), ThreeDimBethertonProblem< ELEMENT >::doc_solution(), AirwayReopeningProblem< ELEMENT >::dump(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), oomph::PerturbedSpineLinearisedAxisymmetricFluidInterfaceElement< ELEMENT >::fill_in_generic_residual_contribution_interface(), oomph::FluidInterfaceElement::fill_in_generic_residual_contribution_interface(), RefineableRotatingCylinderProblem< ELEMENT >::finish_problem_setup(), FreeSurfaceRotationProblem< ELEMENT >::FreeSurfaceRotationProblem(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), main(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements(), MeltSpinningProblem< ELEMENT >::MeltSpinningProblem(), BrethertonProblem< ELEMENT >::parameter_study(), AirwayReopeningProblem< ELEMENT >::parameter_study(), AirwayReopeningProblem< ELEMENT >::read(), oomph::SpineLineMarangoniFluidInterfaceElement< ELEMENT >::sigma(), oomph::FixedVolumeSpineLineMarangoniFluidInterfaceElement< ELEMENT >::sigma(), oomph::SpineLineMarangoniSurfactantFluidInterfaceElement< ELEMENT >::sigma(), SolidFreeSurfaceRotationProblem< ELEMENT >::SolidFreeSurfaceRotationProblem(), RefineableRotatingCylinderProblem< ELEMENT >::solve(), MeltSpinningProblem< ELEMENT >::steady_run(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::steady_run(), and ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem().

◆ Capillary

double Global_Physical_Variables::Capillary = 0.0045

Capillary number.

Capillary number (of which the results are independent for a pinned surface)

Referenced by ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), and main().

◆ Chris_p_factor

double Global_Physical_Variables::Chris_p_factor =1.0

Referenced by main().

◆ Consistent_newmark_ic

bool Global_Physical_Variables::Consistent_newmark_ic

Boolean flag to decide if to set IC for Newmark directly or consistently : No Default

Referenced by main(), and ElasticRingProblem< ELEMENT >::unsteady_run().

◆ Constitutive_law_pt

ConstitutiveLaw * Global_Physical_Variables::Constitutive_law_pt
Initial value:
=
Definition: constitutive_laws.h:699
double Nu
Poisson's ratio.
Definition: TwenteMeshGluing.cpp:71

Pointer to constitutive law.

We need a constitutive law for the solid mechanics.

Constitutive law used to determine the mesh deformation.

Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), UnstructuredSolidProblem< ELEMENT, MESH >::actions_after_adapt(), BlockCompressionProblem< ELEMENT >::BlockCompressionProblem(), CantileverProblem< ELEMENT >::CantileverProblem(), CompressedSquareProblem< ELEMENT >::CompressedSquareProblem(), DeformableFishPoissonProblem< ELEMENT >::DeformableFishPoissonProblem(), DiskOscillationProblem< ELEMENT >::DiskOscillationProblem(), DiskShockWaveProblem< ELEMENT, TIMESTEPPER >::DiskShockWaveProblem(), ElasticFishProblem< ELEMENT >::ElasticFishProblem(), ElasticInclinedPlaneProblem< ELEMENT, TIMESTEPPER >::ElasticInclinedPlaneProblem(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), main(), UnstructuredFluidProblem< ELEMENT >::set_boundary_conditions(), SheetGlueProblem< ELEMENT >::SheetGlueProblem(), SimpleShearProblem< ELEMENT >::SimpleShearProblem(), StaticDiskCompressionProblem< ELEMENT >::StaticDiskCompressionProblem(), ThermalProblem< ELEMENT >::ThermalProblem(), and UnstructuredTorusProblem< ELEMENT >::UnstructuredTorusProblem().

◆ D

Vector<double> Global_Physical_Variables::D(2, 1.0) ( ,
1.  0 
)

◆ DD_s

double Global_Physical_Variables::DD_s = 1000.0

The ratio of bulk diffusion to surface diffusion.

◆ Dean

double Global_Physical_Variables::Dean = 100.0

◆ Delta

◆ Density_Ratio

double Global_Physical_Variables::Density_Ratio = 0.5

Ratio of density in upper fluid to density in lower fluid. Reynolds number etc. is based on density in lower fluid.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

◆ Density_ratio

double Global_Physical_Variables::Density_ratio =1.0

Density ratio of the solid and the fluid.

Density ratio (zero for zero wall inertia)

Referenced by FSIRingProblem::dynamic_run(), and set_params().

◆ Density_ratio_poro

double Global_Physical_Variables::Density_ratio_poro =1.0

Ratio of the densities of the fluid and solid phases of the poroelastic material

◆ Diff

double Global_Physical_Variables::Diff ( ,
1.  0 
) = 1.0/Pe

Double relative diffusivities.

Referenced by main().

◆ Direction_of_gravity

◆ E

double Global_Physical_Variables::E = 1.0

Elastic modulus.

Pseudo-solid Young's modulus.

Young's modulus for solid mechanics.

Define the non-dimensional Young's modulus.

Define the non-dimensional Young's modulus (ratio of actual Young's modulus to the one used to non-dimensionalise (poro-elastic) stresses

Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), TwoDDGProblem< ELEMENT >::apply_initial_conditions(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::check_integrity(), oomph::RefineableQElement< 2 >::check_integrity(), check_singular_cases(), oomph::QuadTreeForest::construct_north_equivalents(), oomph::TopologicallyRectangularDomain::d2macro_element_boundary(), QThermalPVDElement< DIM >::Default_Physical_Constant_Value(), oomph::DeviatoricIsotropicElasticityTensor::DeviatoricIsotropicElasticityTensor(), oomph::TopologicallyRectangularDomain::dmacro_element_boundary(), StaticDiskCompressionProblem< ELEMENT >::doc_solution(), ElasticRefineableTwoLayerMesh< ELEMENT >::ElasticRefineableTwoLayerMesh(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::PMLTimeHarmonicLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_time_harmonic_linear_elasticity(), oomph::RefineableTimeHarmonicLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_time_harmonic_linear_elasticity(), oomph::TimeHarmonicLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_time_harmonic_linear_elasticity(), oomph::QuadTreeForest::find_neighbours(), oomph::RefineableQElement< 2 >::get_bcs(), oomph::RefineableQElement< 2 >::get_boundaries(), oomph::RefineableQElement< 2 >::get_edge_bcs(), oomph::RefineableSolidQElement< 2 >::get_edge_solid_bcs(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::get_kinetic_energy(), DDConvectionProblem< NST_ELEMENT, AD_ELEMENT >::get_kinetic_energy(), RefineableDDConvectionProblem< NST_ELEMENT, AD_ELEMENT >::get_kinetic_energy(), oomph::RefineableSolidQElement< 2 >::get_solid_bcs(), oomph::LinearElasticityEquations< DIM >::get_stress(), oomph::PoroelasticityEquations< DIM >::get_stress(), oomph::PMLTimeHarmonicLinearElasticityEquations< DIM >::get_stress(), oomph::TimeHarmonicLinearElasticityEquations< DIM >::get_stress(), IntersectionOfWalls::getDistanceAndNormal(), oomph::QuadTree::gteq_edge_neighbour(), Global::initial_left(), Global::initial_right(), oomph::RefineableQElement< 2 >::interpolated_zeta_on_edge(), oomph::IsotropicElasticityTensor::IsotropicElasticityTensor(), mathsFunc::log(), oomph::RectangleWithHoleAndAnnularRegionDomain::macro_element_boundary(), oomph::AnnularDomain::macro_element_boundary(), oomph::FullCircleDomain::macro_element_boundary(), oomph::QuarterCircleSectorDomain::macro_element_boundary(), oomph::TopologicallyRectangularDomain::macro_element_boundary(), oomph::FishDomain::macro_element_boundary(), oomph::ChannelWithLeafletDomain::macro_element_boundary(), oomph::CollapsibleChannelDomain::macro_element_boundary(), CylinderAndInterfaceDomain::macro_element_boundary(), RectangleWithHoleDomain::macro_element_boundary(), oomph::CylinderWithFlagDomain::macro_element_boundary(), oomph::RectangleWithHoleDomain::macro_element_boundary(), main(), oomph::MeshHelper::merge_spine_meshes(), MortaringValidationProblem< ELEMENT, NON_MORTAR_ELEMENT >::MortaringValidationProblem(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::node_created_by_neighbour(), oomph::RefineableQElement< 2 >::node_created_by_neighbour(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::node_created_by_son_of_neighbour(), oomph::PMLTimeHarmonicIsotropicElasticityTensor::PMLTimeHarmonicIsotropicElasticityTensor(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::quad_hang_helper(), oomph::RefineableQElement< 2 >::quad_hang_helper(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 2 >::rebuild_from_sons(), RefineablePeriodicLoadProblem< ELEMENT >::RefineablePeriodicLoadProblem(), oomph::RefineableQuadMeshWithMovingCylinder< MyRefineableQTaylorHoodElement >::RefineableQuadMeshWithMovingCylinder(), oomph::RefineableTwoDAnnularMesh< ELEMENT >::RefineableTwoDAnnularMesh(), Global_Parameters::set_parameters(), Membrane::setElasticModulusAndThickness(), oomph::RefineableQElement< 2 >::setup_father_bounds(), oomph::RefineableQElement< 2 >::setup_hang_for_value(), oomph::RefineableQElement< 2 >::setup_hanging_nodes(), oomph::QuadTree::setup_static_data(), test_dynamic_bool(), ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem(), oomph::TimeHarmonicIsotropicElasticityTensor::TimeHarmonicIsotropicElasticityTensor(), oomph::IsotropicElasticityTensor::update_constitutive_parameters(), oomph::PMLTimeHarmonicIsotropicElasticityTensor::update_constitutive_parameters(), and oomph::TimeHarmonicIsotropicElasticityTensor::update_constitutive_parameters().

◆ Element_area_fluid

double Global_Physical_Variables::Element_area_fluid =0.002

Target element area for fluid mesh.

Referenced by main().

◆ Element_area_solid

double Global_Physical_Variables::Element_area_solid =0.002

Target element area for poro-elasticmesh.

Referenced by main().

◆ Epsilon

double Global_Physical_Variables::Epsilon = 0.1

Free surface cosine deform parameter.

Free surface cosine deformation parameter.

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run().

◆ epsilon

double Global_Physical_Variables::epsilon =0.1

Referenced by main().

◆ eta

double Global_Physical_Variables::eta = 0.0

Eta factor (exponent of the exponecial function)

Referenced by AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::steady_run(), and viscosity_ratio_function().

◆ eta_inlet

◆ eta_outlet

◆ Film_Thickness

◆ Fixed_timestep_flag

unsigned Global_Physical_Variables::Fixed_timestep_flag =1

Flag for fixed timestep: Default = fixed timestep.

Referenced by main(), and ElasticRingProblem< ELEMENT >::unsteady_run().

◆ Fluid_mesh_bl_thickness

double Global_Physical_Variables::Fluid_mesh_bl_thickness =0.01

Fluid mesh boundary layer thickness.

◆ G

◆ Gamma

◆ Gravity

◆ H

◆ H_lo_pt

double* Global_Physical_Variables::H_lo_pt

Pointer to film thickness at outflow on the lower wall.

Referenced by BrethertonProblem< ELEMENT >::BrethertonProblem(), and inflow().

◆ H_up_pt

double* Global_Physical_Variables::H_up_pt

Pointer to film thickness at outflow on the upper wall.

Referenced by BrethertonProblem< ELEMENT >::BrethertonProblem(), and inflow().

◆ Height

◆ Inlet_Angle

double Global_Physical_Variables::Inlet_Angle = 2.0*atan(1.0)

The contact angle that is imposed at the inlet (pi)

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::make_free_surface_elements().

◆ inlet_traction

◆ Inner_radius

double Global_Physical_Variables::Inner_radius =0.5

◆ Inverse_Prandtl

◆ Inverse_slip_rate_coefficient

double Global_Physical_Variables::Inverse_slip_rate_coefficient =0.0

Inverse slip rate coefficient.

◆ K

double Global_Physical_Variables::K = 0.01

The ratio of adsorption-desorption times.

Set the wavenumber.

K parameter that describes solubility number

Referenced by InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::actions_before_implicit_timestep().

◆ Kseparation

double Global_Physical_Variables::Kseparation = H

◆ Kstiff

◆ Ktable

double Global_Physical_Variables::Ktable = 0.0001

◆ L

◆ L_total

double Global_Physical_Variables::L_total =4.0

Total length of domain.

Referenced by ChannelSpineFlowProblem< ELEMENT >::ChannelSpineFlowProblem().

◆ Lambda

◆ lambda

double Global_Physical_Variables::lambda =1.0

◆ Lambda_lame

double Global_Physical_Variables::Lambda_lame = 0.0

Lambda - first Lame parameter – dependent parameter; compute from nu.

◆ Lambda_pt

◆ Lambda_sq

double Global_Physical_Variables::Lambda_sq =0.0

Pseudo-solid mass density.

Timescale ratio.

Square of the nondimensional "density" – dependent parameter; compute.

Timescale ratio (non-dimensation density)

Pseudo-solid (mesh) "density" Set to zero because we don't want inertia in the node update!

Square of timescale ratio (i.e. non-dimensional density)
– 1.0 for default value of scaling factor

Timescale ratio for solid (dependent parameter assigned in set_parameters())

Define the poroelasticity inertia parameter – dependent parameter; compute from Re, Q and density ratio

Square of timescale ratio (i.e. non-dimensional density) – 1.0 for default value of scaling factor

Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), DiskOscillationProblem< ELEMENT >::DiskOscillationProblem(), doc_dependent_parameters(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), FSIRingProblem::FSIRingProblem(), oomph::KirchhoffLoveBeamEquations::get_energy(), oomph::ImmersedRigidBodyElement::get_residuals_rigid_body_generic(), multiplier(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), Global_Parameters::set_parameters(), set_params(), UnstructuredTorusProblem< ELEMENT >::UnstructuredTorusProblem(), and update_dependent_parameters().

◆ Length

double Global_Physical_Variables::Length =10.0

Length of the pipe.

The length of the domain to fit the desired number of waves.

Length of tube.

Referenced by oomph::OneDMesh< ELEMENT >::build_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), RotatingProblem< ELEMENT >::change_length(), CylinderAndInterfaceDomain::CylinderAndInterfaceDomain(), ElasticRingProblem< ELEMENT >::doc_solution(), RectangleWithHoleMesh< ELEMENT >::length(), Leaflet::length(), main(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_III(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_IV(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_IX(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_V(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VI(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VII(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VIII(), Leaflet::position(), OscillatingWall::position(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), protectiveWall::protectiveWall(), pulse_wave_solution(), RectangleWithHoleMesh< ELEMENT >::RectangleWithHoleMesh(), RefineableAdvectionDiffusionPipeProblem< ELEMENT >::RefineableAdvectionDiffusionPipeProblem(), Eigen::internal::redux_vec_unroller< Func, Evaluator, Start, Length >::run(), Eigen::internal::redux_vec_linear_unroller< Func, Evaluator, Start, Length >::run(), RefineableAdvectionDiffusionPipeProblem< ELEMENT >::set_initial_condition(), T_protectiveWall::T_protectiveWall(), and validation_fluid_fsi_boundary_traction().

◆ Length_can

◆ Length_liq

◆ Length_tip

◆ lenScale

◆ Lewis

◆ log_mesh

◆ Long_run_flag

unsigned Global_Physical_Variables::Long_run_flag =1

Flag for long/short run: Default = perform long run.

Referenced by main(), and ElasticRingProblem< ELEMENT >::unsteady_run().

◆ lower_map

map<double,pair<GeomObject*,Vector<double> > > Global_Physical_Variables::lower_map

◆ Lower_wall_pt

◆ Marangoni

double Global_Physical_Variables::Marangoni = 125.0

Marangoni number.

Marangoni number (just above the threshold for linear instability)

Referenced by ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), and main().

◆ Max_flux

double Global_Physical_Variables::Max_flux =2.0

Max. flux.

Referenced by flux().

◆ Max_permitted_error

double Global_Physical_Variables::Max_permitted_error =-1.0

Referenced by main().

◆ Mesh_constitutive_law_pt

ConstitutiveLaw* Global_Physical_Variables::Mesh_constitutive_law_pt =0

Pointer to constitutive law for the mesh.

Referenced by UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), and main().

◆ Mesh_Nu

double Global_Physical_Variables::Mesh_Nu = 0.1

Mesh poisson ratio.

Referenced by main().

◆ Min_flux

double Global_Physical_Variables::Min_flux =1.0

Min. flux.

Referenced by flux().

◆ Min_permitted_error

double Global_Physical_Variables::Min_permitted_error =-1.0

Referenced by main().

◆ Mu

double Global_Physical_Variables::Mu = 0.0

Parameter that switches between circle (1.0) and square (0.0) cross section

Referenced by GeneralCircle::position(), and UnstructuredTorusProblem< ELEMENT >::solve_system().

◆ Mu_lame

double Global_Physical_Variables::Mu_lame = 0.0

mu - second Lame parameter – dependent parameter; compute from nu

◆ Mu_pt

◆ N_wave

double Global_Physical_Variables::N_wave = 3

Set the number of waves desired in the domain.

◆ Nbuckl

unsigned Global_Physical_Variables::Nbuckl =3

Buckling wavenumber.

Referenced by ElasticRingProblem< ELEMENT >::ElasticRingProblem().

◆ Ncan

unsigned Global_Physical_Variables::Ncan = 2

◆ new_outlet_region

◆ Nliq

unsigned Global_Physical_Variables::Nliq = 2

◆ Non_linear_springs

bool Global_Physical_Variables::Non_linear_springs = false

Do we include the non-linear springs.

Referenced by spring_load(), and spring_load_lower().

◆ Ntip

unsigned Global_Physical_Variables::Ntip = 2

◆ Nu

◆ Omega

double Global_Physical_Variables::Omega = 0.0

◆ Outer_radius

double Global_Physical_Variables::Outer_radius =1.0

◆ outlet_traction

◆ P

double Global_Physical_Variables::P = 0.0

Uniform pressure.

Referenced by Slide::actionsBeforeTimeStep(), ParticleHandler::addExistingObject(), ParticleHandler::addGhostObject(), InteractionHandler::addInteraction(), BoundaryHandler::addObject(), ParticleHandler::addObject(), PeriodicBoundaryHandler::addObject(), BaseInteraction::BaseInteraction(), bug890(), HomogenisationProblem< ELEMENT >::calculate_coefficients(), AngledPeriodicBoundary::checkBoundaryAfterParticleMoved(), CircularPeriodicBoundary::checkBoundaryAfterParticleMoved(), ParticleHandler::checkExtrema(), ParticleHandler::checkExtremaOnDelete(), HomogenisationProblem< ELEMENT >::complete_problem_setup(), Eigen::internal::MatrixFunctionAtomic< MatrixType >::compute(), Global_Parameters::constant_pressure(), constant_pressure(), oomph::TriangleMesh< ELEMENT >::convex_hull(), MPIInteraction< NormalForceInteraction, FrictionForceInteraction, AdhesiveForceInteraction >::copyFromInteraction(), MPIInteraction< NormalForceInteraction, FrictionForceInteraction, AdhesiveForceInteraction >::copyToInteraction(), Matrix3D::deviator(), AngledPeriodicBoundary::distance(), UnstructuredSolidProblem< ELEMENT, MESH >::doc_solution(), CantileverProblem< ELEMENT >::doc_solution(), StaticDiskCompressionProblem< ELEMENT >::doc_solution(), oomph::DShape::DShape(), ElasticRefineableQuarterCircleSectorMesh< ELEMENT >::ElasticRefineableQuarterCircleSectorMesh(), mathsFunc::exp(), LiquidMigrationLSInteraction::form(), LiquidMigrationWilletInteraction::form(), InsertionBoundary::generateParticle(), FixedClusterInsertionBoundary::generateParticle(), BidisperseCubeInsertionBoundary::generateParticle(), PolydisperseInsertionBoundary::generateParticle(), NurbsSurface::getDistance(), Screw::getDistanceAndNormal(), BasicIntersectionOfWalls::getDistanceAndNormal(), CylindricalWall::getDistanceAndNormal(), InfiniteWallWithHole::getDistanceAndNormal(), BaseWall::getDistanceNormalOverlap(), InteractionHandler::getExistingInteraction(), ChuteWithPeriodicInflow::getInfo(), SegregationPeriodic::getInfo(), InteractionHandler::getInteraction(), BaseParticle::getInteractionWith(), MixedSpecies< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::getNewInteraction(), Species< NormalForceSpecies, FrictionForceSpecies, AdhesiveForceSpecies >::getNewInteraction(), PossibleContact::getNext(), PossibleContact::getOtherParticle(), PossibleContact::getPrevious(), CGFields::GradVelocityField::getSquared(), CGFields::LiquidMigrationFields::getSquared(), CGFields::StandardFields::getSquared(), Eigen::internal::idrs(), BaseInteraction::importP(), ChuteWithPeriodicInflow::InPeriodicBox(), BaseParticle::isInContactWith(), LawinenBox::LawinenBox(), mathsFunc::log(), main(), DPMBase::mpiInsertParticleCheck(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::oc_hang_helper(), CGFields::DisplacementField::operator+=(), CGFields::GradVelocityField::operator+=(), CGFields::LiquidMigrationFields::operator+=(), CGFields::OrientationField::operator+=(), CGFields::StandardFields::operator+=(), CGFields::DisplacementField::operator-=(), CGFields::GradVelocityField::operator-=(), CGFields::LiquidMigrationFields::operator-=(), CGFields::OrientationField::operator-=(), CGFields::StandardFields::operator-=(), StaticDiskCompressionProblem< ELEMENT >::parameter_study(), PolydisperseInsertionBoundary::placeParticle(), MyHelicalCylinder::position(), Global_Parameters::press_load(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::quad_hang_helper(), DPMBase::readNextFStatFile(), PossibleContactList::remove_ParticlePosibleContacts(), InteractionHandler::removeObjectKeepingPeriodics(), oomph::DShape::resize(), CircularPeriodicBoundary::rotateParticle(), Eigen::internal::visitor_impl< Visitor, Derived, UnrollCount, Vectorize, false, ShortCircuitEvaluation >::run(), Eigen::internal::visitor_impl< Visitor, Derived, UnrollCount, Vectorize, true, ShortCircuitEvaluation >::run(), SheetGlueProblem< ELEMENT >::run(), BlockCompressionProblem< ELEMENT >::run(), DiskShockWaveProblem< ELEMENT, TIMESTEPPER >::run(), CantileverProblem< ELEMENT >::run_it(), LiquidMigrationLSInteraction::rupture(), LiquidMigrationWilletInteraction::rupture(), BaseInteraction::setFStatData(), PossibleContact::setNextPosition(), BaseInteraction::setP(), PossibleContact::setPreviousPosition(), ParameterStudy1DDemo::setupInitialConditions(), ParameterStudy2DDemo::setupInitialConditions(), ParameterStudy3DDemo::setupInitialConditions(), GetDistanceAndNormalForTriangleWalls::setupInitialConditions(), RollingOverTriangleWalls::setupInitialConditions(), ParticleParticleInteraction::setupInitialConditions(), ParticleParticleInteractionWithPlasticForces::setupInitialConditions(), ParticleWallInteraction::setupInitialConditions(), EnergyUnitTest::setupInitialConditions(), AngledPeriodicBoundary::shiftPosition(), SingleParticle< SpeciesType >::SingleParticle(), ABCProblem< ELEMENT, TIMESTEPPERT >::solve(), HomogenisationProblem< ELEMENT >::solve(), WearableNurbsWall::storeDebris(), WearableTriangulatedWall::storeDebris(), test1(), test2(), Eigen::umfpack_get_numeric(), DPMBase::updateGhostGrid(), CFile::writeP4P(), and WallHandler::writeWallDetailsVTKBoundingBox().

◆ P_ext

◆ P_ext_data_pt

◆ P_inlet_const

double Global_Physical_Variables::P_inlet_const =Length*4.0/(Inner_radius*Inner_radius)

Constant inlet pressure (for steady Poiseuille flow)

Actual (possibly time varying) inlet pressure – initialised to P_inlet_initial.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), fluid_inflow_boundary_traction(), main(), pulse_wave_solution(), and validation_fluid_fsi_boundary_traction().

◆ P_inlet_initial

double Global_Physical_Variables::P_inlet_initial =500.0

Constant inlet pressure (for steady Poiseuille flow)

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and main().

◆ P_inlet_step

double Global_Physical_Variables::P_inlet_step =P_inlet_initial

Increment for pressure (default: double the inlet pressure over duration of then tanh step)

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and main().

◆ P_outside_scale

double Global_Physical_Variables::P_outside_scale =0.0

Pressure growth factor for pressure acting on the outside of the solid wall

Referenced by outside_solid_boundary_traction().

◆ P_step

double Global_Physical_Variables::P_step =0.0

Jump in pressure after a restart – used to give a steady solution a kick before starting a time-dependent run

Referenced by Flags::doc_flags(), main(), FSICollapsibleChannelProblem< ELEMENT >::restart(), and Flags::segregated_doc_flags().

◆ P_up

double Global_Physical_Variables::P_up =0.0

◆ P_wall

double Global_Physical_Variables::P_wall =1.0

Constant wall pressure for validation.

Referenced by validation_solid_fsi_boundary_traction().

◆ Pcos

◆ Pe

◆ Pe_reference_scale

double Global_Physical_Variables::Pe_reference_scale =1.0

◆ Peclet

◆ Peclet_S

double Global_Physical_Variables::Peclet_S = 1.0

◆ Peclet_St

double Global_Physical_Variables::Peclet_St = 1.0

Peclet number multiplied by Strouhal number.

◆ Peclet_St_S

double Global_Physical_Variables::Peclet_St_S = 100.0

\shorT Sufrace Peclet number multiplied by Strouhal number

Sufrace Peclet number multiplied by Strouhal number.

Referenced by ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), and InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

◆ Period

double Global_Physical_Variables::Period =2.0

◆ Permeability

double Global_Physical_Variables::Permeability =5.0

Non-dim permeability – ratio of typical porous flux to fluid veloc scale

Referenced by main().

◆ PeSt

double Global_Physical_Variables::PeSt = Pe

◆ Pext

◆ Pext_data_pt

◆ Pi

const double Global_Physical_Variables::Pi =MathematicalConstants::Pi

Set the value of Pi.

Referenced by main().

◆ Pin_fluid_on_fsi

bool Global_Physical_Variables::Pin_fluid_on_fsi =false

◆ pinv

◆ Pitch

double Global_Physical_Variables::Pitch = 1.0

◆ Pmax

double Global_Physical_Variables::Pmax =2.0

Max. pressure. Only used in steady runs during parameter incrementation. Use 2.0 for Re=250; 3.7 for Re=0 to span the range in Heil (2004) paper.

Referenced by FSICollapsibleChannelProblem< ELEMENT >::steady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::steady_run(), FSICollapsibleChannelProblem< ELEMENT >::unsteady_run(), and SegregatedFSICollapsibleChannelProblem< ELEMENT >::unsteady_run().

◆ Pmin

double Global_Physical_Variables::Pmin =1.5

Min. pressure. Only used in steady runs during parameter incrementation. Use 1.5 for values of Re to span the range in Heil (2004) paper.

Referenced by FSICollapsibleChannelProblem< ELEMENT >::steady_run(), and SegregatedFSICollapsibleChannelProblem< ELEMENT >::steady_run().

◆ Poro_elastic_to_navier_stokes_fluid_density

double Global_Physical_Variables::Poro_elastic_to_navier_stokes_fluid_density =1.0

Ratio of poro-elastic fluid to Navier-Stokes fluid densities – almost certainly one; we allow a variable value to be able to switch off wall inertia without having to set the Reynolds number to zero.

Referenced by main().

◆ Porosity

double Global_Physical_Variables::Porosity =0.18

Porosity.

Referenced by main().

◆ Pout_data_pt

Data * Global_Physical_Variables::Pout_data_pt

Pointer to Data holding downstream pressure load.

Referenced by CollapsibleChannelProblem< ELEMENT >::setup_outflow_flux_control_elements().

◆ Prescribed_y

double Global_Physical_Variables::Prescribed_y = 1.0

Prescribed position of control point.

Prescribed y coordinate of control point.

Referenced by FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), main(), ShellProblem< ELEMENT >::ShellProblem(), and ShellProblem< ELEMENT >::solve().

◆ Prescribed_z

double Global_Physical_Variables::Prescribed_z = 0.0

Prescribed position of control point.

Referenced by main(), and PlateProblem< ELEMENT >::PlateProblem().

◆ Pressure_wavespeed

double Global_Physical_Variables::Pressure_wavespeed =0.0

Storage for pressure wavespeed in solid – dependent parameter!

Referenced by doc_dependent_parameters().

◆ Pvd_file

ofstream Global_Physical_Variables::Pvd_file

Pvd file – a wrapper for all the different vtu output files plus information about continuous time to facilitate animations in paraview

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::doc_solution(), and InterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run().

◆ Q

double Global_Physical_Variables::Q =1.0e-2

Ratio of scales.

FSI parameter.

Stress ratio.

Fluid structure interaction parameter: Ratio of stresses used for non-dimensionalisation of fluid to solid stresses. As in Heil (2004) paper

Fluid structure interaction parameter: Ratio of stresses used for non-dimensionalisation of fluid to solid stresses.

Fluid structure interaction parameter: Ratio of stresses used for non-dimensionalisation of fluid to solid stresses.

Referenced by AirwayReopeningProblem< ELEMENT >::actions_after_change_in_global_parameter(), AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_poro_face_elements(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_solid_traction_elements(), Flags::doc_flags(), AirwayReopeningProblem< ELEMENT >::dump(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), FSIRingProblem::FSIRingProblem(), main(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::output_strain_and_dissipation(), AirwayReopeningProblem< ELEMENT >::read(), Flags::segregated_doc_flags(), FSICollapsibleChannelProblem< ELEMENT >::steady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::steady_run(), FSICollapsibleChannelProblem< ELEMENT >::unsteady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::unsteady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::write_zone_info_for_convergence_history(), and SegregatedFSIDrivenCavityProblem< ELEMENT >::write_zone_info_for_convergence_history().

◆ R_l

◆ R_r

double Global_Physical_Variables::R_r =1.

◆ Ra

◆ Radius

◆ Rat_press

double Global_Physical_Variables::Rat_press = 2.87

◆ Rayleigh

double Global_Physical_Variables::Rayleigh = 1800.0

Rayleigh number.

Rayleigh number, set to be greater than the threshold for linear instability

Rayleigh number, set to be zero so that there are no gravitational effects

Referenced by ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem(), RefineableBuoyantQCrouzeixRaviartElement< DIM >::Default_Physical_Constant_Value(), and RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::RefineableConvectionProblem().

◆ Rayleigh_S

◆ Rayleigh_T

◆ Re

double Global_Physical_Variables::Re = 0.1

Reynolds number.

Reynolds number, based on the average velocity within the fluid film.

--— KINEMATIC AND DYNAMIC PROBLEM --—

The Reynolds number.

Reynolds number

Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::AxisymFreeSurfaceNozzleAdvDiffRobinProblem(), BrethertonProblem< ELEMENT >::BrethertonProblem(), RefineableDrivenCavityProblem< ELEMENT >::build_mesh(), ChannelSpineFlowProblem< ELEMENT >::ChannelSpineFlowProblem(), ChannelWithLeafletProblem< ELEMENT >::ChannelWithLeafletProblem(), CollapsibleChannelProblem< ELEMENT >::CollapsibleChannelProblem(), Flags::doc_flags(), SteadyCurvedTubeProblem< ELEMENT >::doc_solution(), SteadyHelicalProblem< ELEMENT >::doc_solution(), SteadyTubeProblem< ELEMENT >::doc_solution(), AirwayReopeningProblem< ELEMENT >::doc_solution(), RefineableSphericalCouetteProblem< ELEMENT >::doc_solution(), DrivenCavityProblem< ELEMENT, MESH >::DrivenCavityProblem(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::ElasticInterfaceProblem(), EntryFlowProblem< ELEMENT >::EntryFlowProblem(), OscRingNStProblem< ELEMENT >::finish_problem_setup(), FlowPastBoxProblem< ELEMENT >::FlowPastBoxProblem(), FreeSurfaceRotationProblem< ELEMENT >::FreeSurfaceRotationProblem(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), FSIDrivenCavityProblem< ELEMENT >::FSIDrivenCavityProblem(), FSIRingProblem::FSIRingProblem(), InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem(), main(), MeltSpinningProblem< ELEMENT >::MeltSpinningProblem(), NavierStokesProblem< ELEMENT >::NavierStokesProblem(), OscEllipseProblem< ELEMENT, TIMESTEPPER >::OscEllipseProblem(), OscRingNStProblem< ELEMENT >::OscRingNStProblem(), SphericalSteadyRotationProblem< ELEMENT >::parameter_study(), PolarNSProblem< ELEMENT >::PolarNSProblem(), PRefineableDrivenCavityProblem< ELEMENT >::PRefineableDrivenCavityProblem(), Global_Parameters::pressure_couette(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), QuarterCircleDrivenCavityProblem< ELEMENT >::QuarterCircleDrivenCavityProblem(), RectangularDrivenCavityProblem< ELEMENT >::RectangularDrivenCavityProblem(), RefineableDrivenCavityProblem< ELEMENT >::RefineableDrivenCavityProblem(), RefineableSphereConvectionProblem< ELEMENT >::RefineableSphereConvectionProblem(), RefineableSphericalCouetteProblem< ELEMENT >::RefineableSphericalCouetteProblem(), RefineableSphericalSpinUpProblem< ELEMENT >::RefineableSphericalSpinUpProblem(), ExactSolution::rigid_body_rotation(), ExactSolution::rigid_body_rotation_dr(), ExactSolution::rigid_body_rotation_dtheta(), RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::RotatingCylinderProblem(), Flags::segregated_doc_flags(), UnstructuredFluidProblem< ELEMENT >::set_boundary_conditions(), SphericalSpinUpProblem< ELEMENT >::SphericalSpinUpProblem(), SphericalSteadyRotationProblem< ELEMENT >::SphericalSteadyRotationProblem(), MeltSpinningProblem< ELEMENT >::steady_run(), FSICollapsibleChannelProblem< ELEMENT >::steady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::steady_run(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::steady_run(), SteadyCurvedTubeProblem< ELEMENT >::SteadyCurvedTubeProblem(), SteadyHelicalProblem< ELEMENT >::SteadyHelicalProblem(), SteadyTubeProblem< ELEMENT >::SteadyTubeProblem(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem(), FSICollapsibleChannelProblem< ELEMENT >::unsteady_run(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::unsteady_run(), OscRingNStProblem< ELEMENT >::write_trace_file_header(), OscRingNStProblem< ELEMENT >::write_trace_file_header_historic(), SegregatedFSICollapsibleChannelProblem< ELEMENT >::write_zone_info_for_convergence_history(), and SegregatedFSIDrivenCavityProblem< ELEMENT >::write_zone_info_for_convergence_history().

◆ Re_invFr

double Global_Physical_Variables::Re_invFr =100

◆ ReCa

double Global_Physical_Variables::ReCa =0.0

Reynolds divided by Capillary number.

Referenced by AirwayReopeningProblem< ELEMENT >::actions_after_change_in_global_parameter().

◆ ReInvFr

◆ ReSt

◆ Rest_length_linear

double Global_Physical_Variables::Rest_length_linear =1.0

Rest length of the linear springs.

Referenced by spring_load(), and spring_load_lower().

◆ Reynolds

double Global_Physical_Variables::Reynolds =10.0

◆ Rho_f_over_rho

double Global_Physical_Variables::Rho_f_over_rho = 0.0

Ratio of the pore fluid density to the compound density – dependent parameter compute from density ratio and porosity.

◆ Rmax

double Global_Physical_Variables::Rmax =100.

Referenced by main().

◆ Rmax_prestart

double Global_Physical_Variables::Rmax_prestart =94.

Referenced by main().

◆ Rstep

double Global_Physical_Variables::Rstep =0.1

Referenced by main().

◆ Rstep_prestart

double Global_Physical_Variables::Rstep_prestart =30.0

Referenced by main().

◆ Scaled_Bond

double Global_Physical_Variables::Scaled_Bond = 0.0

Scaled Bond number (Bo/Ca), set to be zero so that there are no gravitational effects

Scaled Bond number (Bo/Ca) This is set to zero so that there are no gravitational effects

Referenced by ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::ConvectionProblem().

◆ Sigma0

double Global_Physical_Variables::Sigma0 =1.0e3

2nd Piola Kirchhoff pre-stress

2nd Piola Kirchhoff pre-stress. As in Jensen & Heil (2003) paper.

2nd Piola Kirchhoff pre-stress. As in Heil (2004) paper.

Referenced by ElasticBeamProblem::ElasticBeamProblem(), FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem(), main(), ElasticBeamProblem::parameter_study(), and PlateProblem< ELEMENT >::PlateProblem().

◆ Solid_mesh_bl_thickness

double Global_Physical_Variables::Solid_mesh_bl_thickness =0.01

Poro-elastic mesh boundary layer thickness.

◆ St

◆ stokes

bool Global_Physical_Variables::stokes =false

◆ Strain_energy_function_pt

StrainEnergyFunction * Global_Physical_Variables::Strain_energy_function_pt =0

Pointer to strain energy function.

Referenced by main().

◆ T

◆ T_cos

double Global_Physical_Variables::T_cos =0.0

Timescale for ramping up pressure via cos profile (if zero we have an impulsive start)

Referenced by fluid_inflow_boundary_traction().

◆ T_ext

double Global_Physical_Variables::T_ext = 0.0

Exterior temperature.

Referenced by prescribed_beta_on_fixed_r_boundary().

◆ T_inlet

double Global_Physical_Variables::T_inlet = 1.0

◆ T_kick

double Global_Physical_Variables::T_kick

Duration of transient load.

◆ T_pcos_end

double Global_Physical_Variables::T_pcos_end =10.0

Only keep p_cos switched on until T_pcos_end.

Referenced by ShellProblem< ELEMENT >::run_it().

◆ T_tanh

double Global_Physical_Variables::T_tanh =0.25

Parameter for tanh origin for pressure incrementation.

Referenced by PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and main().

◆ Table_position

double Global_Physical_Variables::Table_position = 10.78

Position of the table.

Referenced by spring_load_lower().

◆ Tau

Vector<double> Global_Physical_Variables::Tau(2, 1.0) =2.0/Inner_radius

Shear stress (for steady Poiseuille flow)

Timescales for transport equations (identically one from our non-dimensionalisation)

Referenced by SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), and validation_fluid_fsi_boundary_traction().

◆ timeScale

◆ Tube_width

◆ uniform

◆ Uniform_gamma

◆ upper_map

map<double,pair<GeomObject*,Vector<double> > > Global_Physical_Variables::upper_map

◆ Upper_wall_pt

◆ Viscosity_Ratio

double Global_Physical_Variables::Viscosity_Ratio = 0.1

Ratio of viscosity in upper fluid to viscosity in lower fluid. Reynolds number etc. is based on viscosity in lower fluid.

Referenced by SpineGravityTractionElement< ELEMENT >::add_generic_residual_contribution(), InterfaceProblem< ELEMENT, TIMESTEPPER >::create_interface_elements(), and InterfaceProblem< ELEMENT, TIMESTEPPER >::InterfaceProblem().

◆ Volume

◆ Wall_normal

◆ Wavespeed

double Global_Physical_Variables::Wavespeed =0.0

Storage for Moens Korteweg wavespeed – dependent parameter!

Referenced by doc_dependent_parameters(), main(), pulse_wave_solution(), and update_dependent_parameters().

◆ Wo

double Global_Physical_Variables::Wo = 0.0

The Womersley number – dependent parameter; compute from Re and St

Referenced by doc_dependent_parameters(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), and update_dependent_parameters().

◆ X_indent_start

double Global_Physical_Variables::X_indent_start =0.5

Start of indented region.

Referenced by height().

◆ xmesh

◆ Xprescr

double Global_Physical_Variables::Xprescr = 1.0

Prescribed position (only used for displacement control)

Referenced by ElasticRingProblem< ELEMENT >::ElasticRingProblem(), and ElasticRingProblem< ELEMENT >::parameter_study().

◆ Y_lo_pt

double* Global_Physical_Variables::Y_lo_pt

Pointer to y-position at inflow on the lower wall.

Referenced by BrethertonProblem< ELEMENT >::BrethertonProblem(), and inflow().

◆ Y_up_pt

double* Global_Physical_Variables::Y_up_pt

Pointer to y-position at inflow on the upper wall.

Referenced by BrethertonProblem< ELEMENT >::BrethertonProblem(), and inflow().

◆ ymesh

◆ Yprescr

◆ Yprescr_min

double Global_Physical_Variables::Yprescr_min =0.6

Min. of prescribed vertical position of conrol point (only used during parameter study with displacement control). 0.6 corresponds to the value in Heil (2004) paper for static runs.

Referenced by main(), and FSICollapsibleChannelProblem< ELEMENT >::steady_run().