linearised_poroelastic_fsi_pulsewave.cc File Reference

Classes

class  PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >
 Problem class. More...
 

Namespaces

 Global_Physical_Variables
 Global variables.
 

Functions

std::string Global_Physical_Variables::Directory ("RESLT")
 
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. More...
 
void Global_Physical_Variables::update_dependent_parameters ()
 Helper function to update dependent parameters. More...
 
void Global_Physical_Variables::doc_dependent_parameters ()
 Doc dependent parameters. More...
 
template<class ELEMENT >
void Global_Physical_Variables::edge_sign_setup (Mesh *mesh_pt)
 Global function that completes the edge sign setup. More...
 
int main (int argc, char **argv)
 

Variables

double Global_Physical_Variables::Chris_p_factor =1.0
 
double Global_Physical_Variables::Poro_elastic_to_navier_stokes_fluid_density =1.0
 
double Global_Physical_Variables::Permeability =5.0
 
double Global_Physical_Variables::Porosity =0.18
 Porosity. More...
 
double Global_Physical_Variables::Density_ratio_poro =1.0
 
double Global_Physical_Variables::Inverse_slip_rate_coefficient =0.0
 Inverse slip rate coefficient. More...
 
double Global_Physical_Variables::Lambda_lame = 0.0
 Lambda - first Lame parameter – dependent parameter; compute from nu. More...
 
double Global_Physical_Variables::Mu_lame = 0.0
 mu - second Lame parameter – dependent parameter; compute from nu More...
 
double Global_Physical_Variables::Rho_f_over_rho = 0.0
 
double Global_Physical_Variables::Element_area_fluid =0.002
 Target element area for fluid mesh. More...
 
double Global_Physical_Variables::Element_area_solid =0.002
 Target element area for poro-elasticmesh. More...
 
double Global_Physical_Variables::Fluid_mesh_bl_thickness =0.01
 Fluid mesh boundary layer thickness. More...
 
double Global_Physical_Variables::Solid_mesh_bl_thickness =0.01
 Poro-elastic mesh boundary layer thickness. More...
 
double Global_Physical_Variables::P_inlet_initial =500.0
 Constant inlet pressure (for steady Poiseuille flow) More...
 
double Global_Physical_Variables::P_inlet_step =P_inlet_initial
 
double Global_Physical_Variables::T_tanh =0.25
 Parameter for tanh origin for pressure incrementation. More...
 
double Global_Physical_Variables::Alpha_tanh =100.0
 Steepness parameter for tanh for pressure incrementation. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)
1276 {
1277 
1278  // Store command line arguments
1279  CommandLineArgs::setup(argc,argv);
1280 
1281  // Define possible command line arguments and parse the ones that
1282  // were actually specified
1283 
1284  // Reynolds number
1287 
1288  // FSI parameter
1291 
1292  // Drained Poisson's ratio
1295 
1296  // Initial inlet pressure
1298  "--p_inlet_initial",
1300 
1301  // Step in inlet pressure (applied with tanh profile)
1303  "--p_inlet_step",
1305 
1306  // Non-dim permeability
1308  "--permeability",
1310 
1311  // Ratio of poro-elastic fluid to Navier-Stokes fluid densities
1313  "--fluid_density_ratio",
1315 
1316  // Biot parameter
1318  "--alpha",
1320 
1321  // Porosity
1323  "--porosity",
1325 
1326  // Factor for reduction in inlet pressure
1328  "--chris_p_factor", &Global_Physical_Variables::Chris_p_factor);
1329 
1330  // Outer radius
1332  "--outer_radius",&Global_Physical_Variables::Outer_radius);
1333 
1334  // Outer radius
1336  "--length",&Global_Physical_Variables::Length);
1337 
1338  // Pin darcy?
1340 
1341  // Start from rest?
1342  CommandLineArgs::specify_command_line_flag("--start_from_steady_presolve");
1343 
1344  // Element area for fluid mesh
1346  "--el_area_fluid",
1348 
1349  // Element area for solid mesh
1351  "--el_area_solid",
1353 
1354  // Output directory
1357 
1358  // Timestep
1359  double dt=0.00001;
1361 
1362  // Number of timesteps to perform
1363  unsigned nstep=1000;
1365 
1366  // Steepness parameter for tanh increment of pressure load
1368  "--alpha_tanh",
1370 
1371  // "Time" for tanh increment of pressure load
1373  "--t_tanh",
1375 
1376  // Validation run?
1378 
1379  // Parse command line
1381 
1382  // Doc what has actually been specified on the command line
1384 
1385  // Create doc info object
1386  DocInfo doc_info;
1388 
1389  // Create problem
1392 
1393  // Update dependent problem parameters
1395 
1396  // Doc dependent parameters
1398 
1399  // Set up impulsive start from rest
1400  problem.assign_initial_values_impulsive(dt);
1401 
1403  {
1404  // Do only 3 steps if validating
1405  nstep=3;
1406  }
1407 
1408  // Output current time
1409  oomph_info << "Output initial state.\n";
1410 
1411  // Output mesh and initial conditions
1412  problem.doc_solution(doc_info);
1413 
1414 
1416  ("--start_from_steady_presolve"))
1417  {
1418  oomph_info << "Doing steady initial solve.\n";
1419 
1420  // Do a steady solve
1421  problem.steady_newton_solve();
1422 
1423  // Output solution
1424  problem.doc_solution(doc_info);
1425  }
1426  else
1427  {
1428  oomph_info << "Bypassing steady initial solve and starting from rest.\n";
1429  }
1430 
1431 
1432  // Timestep
1433  oomph_info << "About to do " << nstep << " timesteps with dt = "
1434  << dt << std::endl;
1435  for(unsigned n=0;n<nstep;n++)
1436  {
1437  oomph_info << "Solving at time " << problem.time_pt()->time()+dt
1438  << std::endl;
1439 
1440  //Solve the problem
1441  problem.unsteady_newton_solve(dt);
1442 
1443  // Output
1444  problem.doc_solution(doc_info);
1445  }
1446 
1447  return 0;
1448 }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Problem class.
Definition: linearised_fsi_pulsewave.cc:251
Definition: Taxisym_navier_stokes_elements.h:575
Definition: oomph_utilities.h:499
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
Definition: Taxisym_poroelasticity_elements.h:51
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
double P_inlet_initial
Constant inlet pressure (for steady Poiseuille flow)
Definition: linearised_poroelastic_fsi_pulsewave.cc:141
double Poro_elastic_to_navier_stokes_fluid_density
Definition: linearised_poroelastic_fsi_pulsewave.cc:62
std::string Directory("RESLT")
double T_tanh
Parameter for tanh origin for pressure incrementation.
Definition: linearised_poroelastic_fsi_pulsewave.cc:152
double P_inlet_step
Definition: linearised_poroelastic_fsi_pulsewave.cc:149
double Nu
Poisson's ratio.
Definition: TwenteMeshGluing.cpp:71
double Element_area_solid
Target element area for poro-elasticmesh.
Definition: linearised_poroelastic_fsi_pulsewave.cc:123
double Alpha_tanh
Steepness parameter for tanh for pressure incrementation.
Definition: linearised_poroelastic_fsi_pulsewave.cc:155
double Q
Ratio of scales.
Definition: elastic_bretherton.cc:131
void doc_dependent_parameters()
Doc dependent parameters.
Definition: linearised_fsi_pulsewave.cc:225
double Outer_radius
Outer radius of tube.
Definition: linearised_fsi_pulsewave.cc:75
double Permeability
Definition: linearised_poroelastic_fsi_pulsewave.cc:80
double Element_area_fluid
Target element area for fluid mesh.
Definition: linearised_poroelastic_fsi_pulsewave.cc:120
double Length
Length of the pipe.
Definition: pipe.cc:52
double Alpha
Scaling factor for wall thickness (to be used in an exercise)
Definition: unsteady_ring.cc:73
double Re
Reynolds number.
Definition: fibre.cc:55
double Chris_p_factor
Definition: linearised_poroelastic_fsi_pulsewave.cc:48
double Porosity
Porosity.
Definition: linearised_poroelastic_fsi_pulsewave.cc:94
void update_dependent_parameters()
Helper function to update dependent parameters.
Definition: linearised_fsi_pulsewave.cc:192
bool command_line_flag_has_been_set(const std::string &flag)
Definition: oomph_utilities.cc:501
void specify_command_line_flag(const std::string &command_line_flag, const std::string &doc)
Specify possible argument-free command line flag.
Definition: oomph_utilities.cc:451
void parse_and_assign(int argc, char *argv[], const bool &throw_on_unrecognised_args)
Definition: oomph_utilities.cc:760
void doc_specified_flags()
Document specified command line flags.
Definition: oomph_utilities.cc:610
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References Global_Physical_Variables::Alpha, Global_Physical_Variables::Alpha_tanh, Global_Physical_Variables::Chris_p_factor, oomph::CommandLineArgs::command_line_flag_has_been_set(), Global_Physical_Variables::Directory(), Global_Physical_Variables::doc_dependent_parameters(), oomph::CommandLineArgs::doc_specified_flags(), Global_Physical_Variables::Element_area_fluid, Global_Physical_Variables::Element_area_solid, Global_Physical_Variables::Length, n, Global_Physical_Variables::Nu, oomph::oomph_info, Global_Physical_Variables::Outer_radius, Global_Physical_Variables::P_inlet_initial, Global_Physical_Variables::P_inlet_step, oomph::CommandLineArgs::parse_and_assign(), Global_Physical_Variables::Permeability, Global_Physical_Variables::Poro_elastic_to_navier_stokes_fluid_density, Global_Physical_Variables::Porosity, problem, Global_Physical_Variables::Q, Global_Physical_Variables::Re, oomph::DocInfo::set_directory(), Flag_definition::setup(), oomph::CommandLineArgs::specify_command_line_flag(), Global_Physical_Variables::T_tanh, and Global_Physical_Variables::update_dependent_parameters().