falling_jet.cc File Reference
#include "generic.h"
#include "navier_stokes.h"
#include "fluid_interface.h"
#include "solid.h"
#include "constitutive.h"
#include "meshes/quarter_tube_mesh.h"

Classes

class  ElasticQuarterTubeMesh< ELEMENT >
 Simple quarter tube mesh upgraded to become a solid mesh. More...
 
class  EntryFlowProblem< ELEMENT >
 Entry flow problem in quarter tube domain. More...
 

Namespaces

 Global_Physical_Variables
 Global variables.
 

Functions

int main (int argc, char *argv[])
 

Variables

Vector< doubleGlobal_Physical_Variables::G (3) = 1.0
 Direction of gravity. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// Driver for 3D entry flow into a quarter tube. If there are any command line arguments, we regard this as a validation run and perform only a single adaptation

593 {
594  //Set the gravity direction
598 
599 
600  // Store command line arguments
601  CommandLineArgs::setup(argc,argv);
602 
603  // Allow (up to) five rounds of fully automatic adapation in response to
604  //-----------------------------------------------------------------------
605  // error estimate
606  //---------------
607  //unsigned max_adapt;
608  double max_error_target,min_error_target;
609 
610  // Set max number of adaptations in black-box Newton solver and
611  // error targets for adaptation
612  if (CommandLineArgs::Argc==1)
613  {
614  // Up to five adaptations
615  //max_adapt=5;
616 
617  // Error targets for adaptive refinement
618  max_error_target=0.005;
619  min_error_target=0.0005;
620  }
621  // Validation run: Only one adaptation. Relax error targets
622  // to ensure that not all elements are refined so we're getting
623  // some hanging nodes.
624  else
625  {
626  // Validation run: Just one round of adaptation
627  //max_adapt=1;
628 
629  // Error targets for adaptive refinement
630  max_error_target=0.02;
631  min_error_target=0.002;
632  }
633  // end max_adapt setup
634 
635 
636  // Set up doc info
637  DocInfo doc_info;
638 
639  // Do Taylor-Hood elements
640  //------------------------
641  {
642  // Set output directory
643  doc_info.set_directory("RESLT_TH");
644 
645  // Step number
646  doc_info.number()=0;
647 
648  // Build problem
653  problem(doc_info,min_error_target,max_error_target);
654 
655  cout << " Doing Taylor-Hood elements " << std::endl;
656 
657  // Doc solution before solving
658  problem.doc_solution();
659 
660  // Solve the problem
661  for(unsigned i=0;i<2;i++)
662  {
663  problem.newton_solve();//max_adapt);
665  }
666 }
667 
668 
669  // Do Crouzeix-Raviart elements
670  //-----------------------------
671  {
672  // Set output directory
673  doc_info.set_directory("RESLT_CR");
674 
675  // Step number
676  doc_info.number()=0;
677 
678  //Reset the Stokes number to zero
680 
681  // Build problem
686  problem(doc_info,min_error_target,max_error_target);
687 
688  cout << " Doing Crouzeix-Raviart elements " << std::endl;
689 
690  // Doc solution before solving
691  problem.doc_solution();
692 
693  // Solve the problem
694  for(unsigned i=0;i<2;i++)
695  {
696  problem.newton_solve();//max_adapt);
698  }
699 
700  }
701 
702 } // end_of_main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Entry flow problem in quarter tube domain.
Definition: mpi/distribution/three_d_entry_flow/three_d_entry_flow.cc:54
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
Refineable version of the PseudoSolidNodeUpdateELement.
Definition: pseudosolid_node_update_elements.h:585
Refineable version of Crouzeix Raviart elements. Generic class definitions.
Definition: refineable_navier_stokes_elements.h:1109
Class for refineable QPVDElement elements.
Definition: refineable_solid_elements.h:181
Definition: refineable_navier_stokes_elements.h:652
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
double St
Strouhal number.
Definition: elastic_two_layer_interface_axisym.cc:66
Vector< double > G(3)
Direction of gravity.
Definition: spherical_shell_convection.cc:62
int Argc
Number of arguments + 1.
Definition: oomph_utilities.cc:407
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References oomph::CommandLineArgs::Argc, Global_Physical_Variables::G, i, oomph::DocInfo::number(), problem, oomph::DocInfo::set_directory(), Flag_definition::setup(), and Global_Physical_Variables::St.