time_harmonic_elasticity_driver_source.cc File Reference
#include <fenv.h>
#include "math.h"
#include <complex>
#include "generic.h"
#include "pml_time_harmonic_linear_elasticity.h"
#include "oomph_crbond_bessel.h"
#include "meshes/triangle_mesh.h"
#include "meshes/rectangular_quadmesh.h"

Classes

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

Namespaces

 Global_Parameters
 Namespace for global parameters.
 

Functions

void Global_Parameters::body_force (const Vector< double > &x, Vector< std::complex< double > > &b)
 Body force. More...
 
void Global_Parameters::compute_dependent_parameters ()
 Function to compute dependent parameters. More...
 
int main (int argc, char **argv)
 Driver for annular disk loaded by pressure. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Driver for annular disk loaded by pressure.

Number of elements for each layer

Thickness of each layer

Update dependent parameters

593 {
594 
595  // Start timing of the code
597 
598  // Store command line arguments
599  CommandLineArgs::setup(argc,argv);
600 
601  // Define possible command line arguments and parse the ones that
602  // were actually specified
603 
604  // Over-write PML layers element number in each dimension
607 
608  // Over-write PML layers physical length in each dimension
611 
612  // Output directory
614  "--dir", &Global_Parameters::Directory);
615 
616 
617 #ifdef ADAPTIVE
618 
619  // Max. number of adaptations
620  unsigned max_adapt=0;
621  CommandLineArgs::specify_command_line_flag("--max_adapt",&max_adapt);
622 
623 #endif
624 
625  // Validation run?
627 
628  // Parse command line
630 
631  // Doc what has actually been specified on the command line
633 
634  // Validation run?
636  {
637  oomph_info << "Using coarser resolution for self-test\n";
638 
644 
650  }
651 
654 
655  DocInfo doc_info;
656 
657  // Set output directory
659 
660  // Build elasticity tensor
663 
664 
665 #ifdef ADAPTIVE
666 
667  //Set up the problem
671  > problem;
672 
673 #else
674 
675  //Set up the problem
677  problem;
678 
679 #endif
680 
681 
682 #ifdef ADAPTIVE
683 
684  // Solve the problem with Newton's method, allowing
685  // up to max_adapt mesh adaptations after every solve.
686  problem.newton_solve(max_adapt);
687 #else
688 
689  // Solve the problem using Newton's method
690  problem.newton_solve();
691 #endif
692 
693  // End timing of the code
695 
696  // Doc solution
697  problem.doc_solution(doc_info);
698 
699 } //end of main
Annular disk.
Definition: time_harmonic_elasticity_driver.cc:245
Definition: oomph_utilities.h:499
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
Definition: pml_time_harmonic_elasticity_tensor.h:150
Time-harmonic linear elasticity upgraded to become projectable.
Definition: pml_time_harmonic_linear_elasticity_elements.h:714
Definition: pml_time_harmonic_linear_elasticity_elements.h:585
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
double Width_x_right_pml
Definition: time_harmonic_elasticity_driver.cc:83
double Width_y_top_pml
Definition: time_harmonic_elasticity_driver.cc:84
double Nu
Define Poisson's ratio Nu.
Definition: axisym_linear_elasticity/cylinder/cylinder.cc:46
double Width_x_left_pml
Definition: time_harmonic_elasticity_driver.cc:85
string Directory
Output directory.
Definition: acoustic_fsi.cc:101
unsigned N_x_right_pml
PML width in elements for the right layer.
Definition: time_harmonic_elasticity_driver.cc:69
double T_end
Definition: time_harmonic_elasticity_driver.cc:62
double T_start
helpers to time the code
Definition: time_harmonic_elasticity_driver.cc:61
double Width_y_bottom_pml
Definition: time_harmonic_elasticity_driver.cc:86
unsigned N_y_bottom_pml
PML width in elements for the left layer.
Definition: time_harmonic_elasticity_driver.cc:78
double L_pml_multiplier
Definition: time_harmonic_elasticity_driver.cc:66
unsigned N_pml_multiplier
PML width in elements for the right layer.
Definition: time_harmonic_elasticity_driver.cc:65
void compute_dependent_parameters()
Function to compute dependent parameters.
Definition: time_harmonic_elasticity_driver.cc:89
unsigned N_x_left_pml
PML width in elements for the left layer.
Definition: time_harmonic_elasticity_driver.cc:75
unsigned N_y_top_pml
PML width in elements for the top layer.
Definition: time_harmonic_elasticity_driver.cc:72
Vector< TimeHarmonicIsotropicElasticityTensor * > E_pt
The elasticity tensors for the two regions.
Definition: unstructured_acoustic_fsi.cc:135
bool command_line_flag_has_been_set(const std::string &flag)
Definition: oomph_utilities.cc:501
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
OomphInfo oomph_info
Definition: oomph_definitions.cc:319
double timer
Definition: oomph_metis_from_parmetis_3.1.1/struct.h:210
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References oomph::CommandLineArgs::command_line_flag_has_been_set(), Global_Parameters::compute_dependent_parameters(), Global_Parameters::Directory, oomph::CommandLineArgs::doc_specified_flags(), Global_Parameters::E_pt, Global_Parameters::L_pml_multiplier, Global_Parameters::N_pml_multiplier, Global_Parameters::N_x_left_pml, Global_Parameters::N_x_right_pml, Global_Parameters::N_y_bottom_pml, Global_Parameters::N_y_top_pml, Global_Parameters::Nu, oomph::oomph_info, oomph::CommandLineArgs::parse_and_assign(), problem, oomph::DocInfo::set_directory(), Flag_definition::setup(), oomph::CommandLineArgs::specify_command_line_flag(), Global_Parameters::T_end, Global_Parameters::T_start, Global_Parameters::Width_x_left_pml, Global_Parameters::Width_x_right_pml, Global_Parameters::Width_y_bottom_pml, and Global_Parameters::Width_y_top_pml.