rayleigh_traction_channel.cc File Reference
#include "generic.h"
#include "navier_stokes.h"
#include "meshes/rectangular_quadmesh.h"

Classes

class  RayleighTractionProblem< ELEMENT, TIMESTEPPER >
 Rayleigh-type problem: 2D channel flow driven by traction bc. More...
 

Namespaces

 Global_Parameters
 Namespace for global parameters.
 
 ExactSoln
 Namespace for exact solution.
 

Functions

void ExactSoln::get_exact_u (const double &t, const Vector< double > &x, Vector< double > &u)
 Exact solution of the problem as a vector. More...
 
void ExactSoln::prescribed_traction (const double &t, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Traction required at the top boundary. More...
 
int main (int argc, char *argv[])
 Driver code for Rayleigh-type problem. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)

Driver code for Rayleigh-type problem.

Convert command line arguments (if any) into flags:

Flag for impulsive start

538 {
539 
540 
542  if (argc==1)
543  {
544  cout << "No command line arguments specified -- using defaults." << std::endl;
545  }
546  else if (argc==3)
547  {
548  cout << "Two command line arguments specified:" << std::endl;
549  // Flag for long run
550  Global_Parameters::Long_run_flag=atoi(argv[1]);
553  }
554  else
555  {
556  std::string error_message =
557  "Wrong number of command line arguments. Specify none or two.\n";
558  error_message +=
559  "Arg1: Long_run_flag [0/1]\n";
560  error_message +=
561  "Arg2: Impulsive_start_flag [0/1]\n";
562 
563  throw OomphLibError(error_message,
566  }
567  cout << "Long run flag: "
568  << Global_Parameters::Long_run_flag << std::endl;
569  cout << "Impulsive start flag: "
571 
572 
573  // Set physical parameters:
574 
575  // Womersly number = Reynolds number (St = 1)
578 
579  //Horizontal length of domain
580  double lx = 1.0;
581 
582  //Vertical length of domain
583  double ly = 1.0;
584 
585  // Number of elements in x-direction
586  unsigned nx=5;
587 
588  // Number of elements in y-direction
589  unsigned ny=10;
590 
591  // Solve with Crouzeix-Raviart elements
592  {
593  // Set up doc info
594  DocInfo doc_info;
595  doc_info.number()=0;
596  doc_info.set_directory("RESLT_CR");
597 
598  //Set up problem
600  problem(nx,ny,lx,ly);
601 
602  // Run the unsteady simulation
603  problem.unsteady_run(doc_info);
604  }
605 
606 
607  // Solve with Taylor-Hood elements
608  {
609  // Set up doc info
610  DocInfo doc_info;
611  doc_info.number()=0;
612  doc_info.set_directory("RESLT_TH");
613 
614  //Set up problem
616  problem(nx,ny,lx,ly);
617 
618  // Run the unsteady simulation
619  problem.unsteady_run(doc_info);
620  }
621 
622 } // end of main
Rayleigh-type problem: 2D channel flow driven by traction bc.
Definition: rayleigh_traction_channel.cc:126
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: oomph_definitions.h:222
unsigned Long_run_flag
Flag for long/short run: Default = perform long run.
Definition: navier_stokes/rayleigh_channel/rayleigh_channel.cc:52
double ReSt
Womersley number: Product of Reynolds and Strouhal numbers.
Definition: fsi_channel_with_leaflet_precond.cc:225
double Re
reynolds number
Definition: adaptive_hopf.cc:54
unsigned Impulsive_start_flag
Definition: navier_stokes/rayleigh_channel/rayleigh_channel.cc:56
const double ly
Definition: ConstraintElementsUnitTest.cpp:34
const double lx
Definition: ConstraintElementsUnitTest.cpp:33
const unsigned nx
Definition: ConstraintElementsUnitTest.cpp:30
const unsigned ny
Definition: ConstraintElementsUnitTest.cpp:31
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References Global_Parameters::Impulsive_start_flag, Global_Parameters::Long_run_flag, Mesh_Parameters::lx, Mesh_Parameters::ly, oomph::DocInfo::number(), Mesh_Parameters::nx, Mesh_Parameters::ny, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, problem, Global_Parameters::Re, Global_Parameters::ReSt, oomph::DocInfo::set_directory(), and oomph::Global_string_for_annotation::string().