Driver code for a collapsible channel problem with FSI. Presence of command line arguments indicates validation run with coarse resolution and small number of timesteps.
970 MPI_Helpers::init(argc,argv);
977 unsigned coarsening_factor=4;
988 std::ofstream output_stream;
990 sprintf(
filename,
"OUTPUT.%i",MPI_Helpers::communicator_pt()->my_rank());
993 OomphLibWarning::set_stream_pt(&output_stream);
994 OomphLibError::set_stream_pt(&output_stream);
997 unsigned nup=20/coarsening_factor;
998 unsigned ncollapsible=40/coarsening_factor;
999 unsigned ndown=40/coarsening_factor;
1000 unsigned ny=16/coarsening_factor;
1004 double lcollapsible=10.0;
1016 #ifdef MACRO_ELEMENT_NODE_UPDATE
1024 lup, lcollapsible, ldown,
ly);
1032 lup, lcollapsible, ldown,
ly);
1044 lup, lcollapsible, ldown,
ly);
1052 lup, lcollapsible, ldown,
ly);
1070 problem.time_pt()->time()=t_min;
1074 problem.set_initial_condition();
1078 #ifdef MACRO_ELEMENT_NODE_UPDATE
1085 ofstream trace_file;
1090 problem.doc_solution(doc_info, trace_file);
1096 unsigned nstep =
unsigned((t_max-t_min)/dt);
1105 problem.bulk_mesh_pt()->max_permitted_error()=1.0e-3;
1106 problem.bulk_mesh_pt()->min_permitted_error()=1.0e-5;
1109 #ifdef OOMPH_HAS_MPI
1111 std::ifstream input_file;
1114 unsigned n_partition=
problem.mesh_pt()->nelement();
1118 sprintf(
filename,
"fsi_collapsible_channel_partition.dat");
1121 for (
unsigned e=0;
e<n_partition;
e++)
1123 getline(input_file,input_string,
'\n');
1124 element_partition[
e]=atoi(input_string.c_str());
1127 bool report_stats=
false;
1130 problem.distribute(element_partition,mesh_doc_info,report_stats);
1138 unsigned max_adapt=3;
1142 for (
unsigned istep=0;istep<nstep;istep++)
1145 problem.unsteady_newton_solve(dt,max_adapt,first);
1148 problem.doc_solution(doc_info, trace_file);
1161 #ifdef OOMPH_HAS_MPI
1162 MPI_Helpers::finalize();
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Problem class.
Definition: fsi_chan_problem.h:315
Definition: algebraic_elements.h:540
Definition: oomph_utilities.h:499
void disable_doc()
Disable documentation.
Definition: oomph_utilities.h:542
std::string directory() const
Output directory.
Definition: oomph_utilities.h:524
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
unsigned & number()
Number used (e.g.) for labeling output files.
Definition: oomph_utilities.h:554
Definition: macro_element_node_update_element.h:265
std::ostream *& stream_pt()
Access function for the stream pointer.
Definition: oomph_definitions.h:464
OutputModifier *& output_modifier_pt()
Access function for the output modifier pointer.
Definition: oomph_definitions.h:476
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_ext
External pressure.
Definition: fibre.cc:64
double P_up
Default pressure on the left boundary.
Definition: fsi_collapsible_channel.cc:183
string filename
Definition: MergeRestartFiles.py:39
const double ly
Definition: ConstraintElementsUnitTest.cpp:34
const unsigned ny
Definition: ConstraintElementsUnitTest.cpp:31
int Argc
Number of arguments + 1.
Definition: oomph_utilities.cc:407
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
OutputModifier default_output_modifier
Single global instatiation of the default output modifier.
Definition: oomph_definitions.cc:325
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213