unstructured_time_harmonic_elastic_annulus.cc File Reference

Classes

class  MyStraightLine
 Straight 1D line in 2D space. More...
 
class  RingWithTRibProblem< ELASTICITY_ELEMENT >
 Annular disk. More...
 

Namespaces

 Global_Parameters
 Namespace for global parameters.
 

Functions

void Global_Parameters::pressure_load (const Vector< double > &x, const Vector< double > &n, Vector< std::complex< double > > &traction)
 Pressure load (real and imag part) More...
 
int main (int argc, char **argv)
 Driver for annular disk loaded by pressure. More...
 

Variables

Vector< doubleGlobal_Parameters::Omega_sq_region (2, Omega_sq)
 Square of non-dim frequency for the two regions. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver for annular disk loaded by pressure.

821 {
822 
823  // Store command line arguments
824  CommandLineArgs::setup(argc,argv);
825 
826  // Define possible command line arguments and parse the ones that
827  // were actually specified
828 
829 #ifdef ADAPTIVE
830 
831  // Max. number of adaptations
832  unsigned max_adapt=3;
833  CommandLineArgs::specify_command_line_flag("--max_adapt",&max_adapt);
834 
835 #endif
836 
837  // Peakiness parameter for loading
840 
841  // Validation run?
843 
844  // Parse command line
846 
847  // Doc what has actually been specified on the command line
849 
850 #ifdef ADAPTIVE
851 
852  //Set up the problem
855  problem;
856 
857 #else
858 
859  //Set up the problem
861 
862 #endif
863 
864 
865  // Initial values for parameter values
867 
868  //Parameter incrementation
869  unsigned nstep=2;
870  for(unsigned i=0;i<nstep;i++)
871  {
872 
873 #ifdef ADAPTIVE
874 
875  // Solve the problem with Newton's method, allowing
876  // up to max_adapt mesh adaptations after every solve.
877  problem.newton_solve(max_adapt);
878 
879 #else
880 
881  // Solve the problem using Newton's method
882  problem.newton_solve();
883 
884 #endif
885 
886  // Doc solution
887  problem.doc_solution();
888 
889  // Now reduce the stiffness of the rib and set its inertia to
890  // zero, then re-solve. Resulting displacement field should
891  // be approximately axisymmetric in the annular region.
892  Global_Parameters::E_pt[1]->update_constitutive_parameters(
893  Global_Parameters::Nu,1.0e-10);
895 
896  }
897 
898 } //end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Annular disk.
Definition: unstructured_time_harmonic_elastic_annulus.cc:156
Time-harmonic linear elasticity upgraded to become projectable.
Definition: time_harmonic_linear_elasticity_elements.h:528
Definition: Ttime_harmonic_linear_elasticity_elements.h:66
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
double Nu
Define Poisson's ratio Nu.
Definition: axisym_linear_elasticity/cylinder/cylinder.cc:46
double P
Uniform pressure.
Definition: unstructured_acoustic_fsi.cc:145
Vector< TimeHarmonicIsotropicElasticityTensor * > E_pt
The elasticity tensors for the two regions.
Definition: unstructured_acoustic_fsi.cc:135
Vector< double > Omega_sq_region(2, Omega_sq)
Square of non-dim frequency for the two regions.
double Alpha
Peakiness parameter for pressure load.
Definition: adaptive_hopf.cc:60
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 Global_Parameters::Alpha, oomph::CommandLineArgs::doc_specified_flags(), Global_Parameters::E_pt, i, Global_Parameters::Nu, Global_Parameters::Omega_sq_region, Global_Parameters::P, oomph::CommandLineArgs::parse_and_assign(), problem, Flag_definition::setup(), and oomph::CommandLineArgs::specify_command_line_flag().