time_harmonic_elastic_annulus.cc File Reference

Classes

class  AnnularDiskProblem< ELASTICITY_ELEMENT >
 Annular disk. More...
 

Namespaces

 Global_Parameters
 Namespace for global parameters.
 

Functions

TimeHarmonicIsotropicElasticityTensor Global_Parameters::E (Nu)
 The elasticity tensor for the solid. More...
 
void Global_Parameters::solid_boundary_displacement (const Vector< double > &x, Vector< double > &u)
 Real-valued, radial displacement field on inner boundary. More...
 
void Global_Parameters::constant_pressure (const Vector< double > &x, const Vector< double > &n, Vector< std::complex< double > > &traction)
 Constant pressure load (real and imag part) More...
 
double Global_Parameters::BesselY (const double &n, const double &x)
 Helper function to evaluate Y_n(x) from bloody maple output. More...
 
double Global_Parameters::BesselJ (const double &n, const double &x)
 Helper function to evaluate J_n(x) from bloody maple output. More...
 
void Global_Parameters::exact_u (const Vector< double > &x, Vector< double > &u)
 Exact solution as a Vector: {u_x_real, u_y_real, u_x_imag, u_y_imag}. More...
 
int main (int argc, char **argv)
 Driver for annular disk loaded by pressure. More...
 

Variables

double Global_Parameters::Displacement_amplitude =0.1
 Displacement amplitude on inner radius. More...
 
unsigned Global_Parameters::Ntheta =20
 Number of elements in azimuthal direction. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver for annular disk loaded by pressure.

647 {
648 
649  // Store command line arguments
650  CommandLineArgs::setup(argc,argv);
651 
652  // Define possible command line arguments and parse the ones that
653  // were actually specified
654 
655  // Number of elements in azimuthal direction
657  "--ntheta",
659 
660  // Number of elements in radial direction
662  "--nr",
664 
665  // Do have a gap in the annulus?
667 
668 #ifdef ADAPTIVE
669 
670  // Max. number of adaptations
671  unsigned max_adapt=3;
672  CommandLineArgs::specify_command_line_flag("--max_adapt",&max_adapt);
673 
674  // Number of uniform refinements
675  unsigned nrefine=0;
676  CommandLineArgs::specify_command_line_flag("--nrefine",&nrefine);
677 
678 #endif
679 
680  // P increment
681  double p_increment=0.1;
682  CommandLineArgs::specify_command_line_flag("--p_increment",&p_increment);
683 
684  // Number of steps
685  unsigned nstep=3;
687 
688  // Parse command line
690 
691  // Doc what has actually been specified on the command line
693 
694 #ifdef ADAPTIVE
695 
696  //Set up the problem
698  problem;
699 
700  // Refine unformly
701  for (unsigned i=0;i<nrefine;i++)
702  {
703  problem.refine_uniformly();
704  }
705 
706 #else
707 
708  //Set up the problem
710 
711 #endif
712 
713 
714  // Initial values for parameter values
716 
717  //Parameter incrementation
718  for(unsigned i=0;i<nstep;i++)
719  {
720 
721 #ifdef ADAPTIVE
722 
723  // Solve the problem with Newton's method, allowing
724  // up to max_adapt mesh adaptations after every solve.
725  problem.newton_solve(max_adapt);
726 
727 #else
728 
729  // Solve the problem using Newton's method
730  problem.newton_solve();
731 
732 #endif
733 
734  // Doc solution
735  problem.doc_solution();
736 
737  // Increment pressure
738  Global_Parameters::P+=p_increment;
739  }
740 
741 } //end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Annular disk.
Definition: time_harmonic_elastic_annulus.cc:301
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
unsigned Ntheta
Number of elements in azimuthal direction.
Definition: time_harmonic_elastic_annulus.cc:100
double P
Uniform pressure.
Definition: unstructured_acoustic_fsi.cc:145
unsigned Nr
Number of elements in r-direction.
Definition: axisym_linear_elasticity/cylinder/cylinder.cc:59
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
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References oomph::CommandLineArgs::doc_specified_flags(), i, Global_Parameters::Nr, Global_Parameters::Ntheta, Global_Parameters::P, oomph::CommandLineArgs::parse_and_assign(), problem, Flag_definition::setup(), and oomph::CommandLineArgs::specify_command_line_flag().