Driver code for 2D Boussinesq convection problem.
445 MPI_Helpers::init(argc,argv);
452 std::ofstream output_stream;
454 sprintf(
filename,
"OUTPUT.%i",MPI_Helpers::communicator_pt()->my_rank());
457 OomphLibWarning::set_stream_pt(&output_stream);
458 OomphLibError::set_stream_pt(&output_stream);
477 problem.set_boundary_conditions(0.0);
487 #ifdef USE_FD_JACOBIAN_NST_IN_MULTI_DOMAIN_BOUSSINESQ
493 bool report_stats=
true;
499 problem.distribute(mesh_doc_info,report_stats);
504 std::ifstream input_file;
505 std::ofstream output_file;
509 unsigned n_element=
problem.mesh_pt()->nelement();
515 if (atoi(argv[2])==2)
517 oomph_info <<
"Using connected partitioning" << std::endl;
518 sprintf(
filename,
"multi_domain_boussinesq_partition_2.dat");
522 oomph_info <<
"Giving a mesh to each processor" << std::endl;
523 sprintf(
filename,
"multi_domain_boussinesq_partition.dat");
527 if (!input_file.is_open())
533 for (
unsigned e=0;
e<n_element;
e++)
535 if (getline(input_file,input_string,
'\n'))
537 element_partition[
e]=atoi(input_string.c_str());
541 oomph_info <<
"Reached end of file when reading partitioning file\n";
549 used_element_partition=
problem.distribute(element_partition,
550 mesh_doc_info,report_stats);
553 sprintf(
filename,
"RESLT/partitioning.dat");
555 unsigned n_used=used_element_partition.size();
556 output_file << n_used << std::endl;
557 for (
unsigned e=0;
e<n_used;
e++)
559 output_file << used_element_partition[
e] << std::endl;
577 problem.assign_initial_values_impulsive(dt);
580 unsigned n_steps = 200;
584 if(argc > 1) {n_steps = 5;}
587 for(
unsigned i=0;
i<n_steps;++
i)
589 problem.unsteady_newton_solve(dt);
595 MPI_Helpers::finalize();
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Definition: mpi/multi_domain/boussinesq_convection/multi_domain_boussinesq_convection.cc:75
Definition: multi_domain_boussinesq_elements.h:1073
Definition: oomph_utilities.h:499
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: multi_domain_boussinesq_elements.h:818
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
Definition: advection_diffusion_elements.h:610
Definition: navier_stokes_elements.h:1749
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
Vector< double > Direction_of_gravity(2)
Gravity vector.
string filename
Definition: MergeRestartFiles.py:39
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