solid/airy_cantilever/airy_cantilever2.cc File Reference
#include "generic.h"
#include "solid.h"
#include "constitutive.h"
#include "meshes/rectangular_quadmesh.h"

Classes

class  oomph::MySolidElement< ELEMENT >
 Wrapper class for solid element to modify the output. More...
 
class  oomph::FaceGeometry< MySolidElement< ELEMENT > >
 FaceGeometry of wrapped element is the same as the underlying element. More...
 
class  CantileverProblem< ELEMENT >
 Problem class for the cantilever "beam" structure. More...
 

Namespaces

 oomph
 DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
 
 Global_Physical_Variables
 Global variables.
 

Functions

void Global_Physical_Variables::constant_pressure (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &n, Vector< double > &traction)
 Constant pressure load. More...
 
void Global_Physical_Variables::gravity (const double &time, const Vector< double > &xi, Vector< double > &b)
 Non-dimensional gravity as body force. More...
 
int main ()
 

Function Documentation

◆ main()

int main ( )

Driver for cantilever beam loaded by surface traction and/or gravity

758 {
759 
760  bool use_fd=false;
761 
762  // Is the material incomressible
763  bool incompress=false;
764 
765  // Number of cases per implementation
766  unsigned ncase=5;
767 
768 
769  // Loop over fd and analytical implementation
770  for (unsigned i=0;i<2;i++)
771  {
772 
773  // Generalised Hookean constitutive equations
774  //-------------------------------------------
775  {
779 
780  incompress=false;
781 
782 #ifdef REFINE
783  {
784  //Set up the problem with pure displacement based elements
786  problem(incompress,use_fd);
787 
788  problem.run_it(0+i*ncase);
789  }
790 #else
791  {
792  //Set up the problem with pure displacement based elements
794  problem(incompress,use_fd);
795 
796  problem.run_it(0+i*ncase);
797  }
798 #endif
799 
800 
801 #ifdef REFINE
802  {
803  //Set up the problem with continous pressure/displacement
806  problem(incompress,use_fd);
807 
808  problem.run_it(1+i*ncase);
809  }
810 #else
811  {
812  //Set up the problem with continous pressure/displacement
815  problem(incompress,use_fd);
816 
817  problem.run_it(1+i*ncase);
818  }
819 #endif
820 
821 
822 #ifdef REFINE
823  {
824  //Set up the problem with discontinous pressure/displacement
826  RefineableQPVDElementWithPressure<2> > > problem(incompress,use_fd);
827 
828  problem.run_it(2+i*ncase);
829  }
830 #else
831  {
832  //Set up the problem with discontinous pressure/displacement
834  QPVDElementWithPressure<2> > > problem(incompress,use_fd);
835 
836  problem.run_it(2+i*ncase);
837  }
838 #endif
839 
842  }
843 
844 
845 
846  // Incompressible Mooney Rivlin
847  //-----------------------------
848  {
852 
853  // Define a constitutive law (based on strain energy function)
857 
858  incompress=true;
859 
860 
861 #ifdef REFINE
862  {
863  //Set up the problem with continous pressure/displacement
866  problem(incompress,use_fd);
867 
868  problem.run_it(3+i*ncase);
869  }
870 #else
871  {
872  //Set up the problem with continous pressure/displacement
875  problem(incompress,use_fd);
876 
877  problem.run_it(3+i*ncase);
878  }
879 #endif
880 
881 
882 
883 #ifdef REFINE
884  {
885  //Set up the problem with discontinous pressure/displacement
888  problem(incompress,use_fd);
889 
890  problem.run_it(4+i*ncase);
891  }
892 #else
893  {
894  //Set up the problem with discontinous pressure/displacement
897  problem(incompress,use_fd);
898 
899  problem.run_it(4+i*ncase);
900  }
901 #endif
902 
905 
908  }
909 
910 
911  use_fd=true;
912  std::cout << "\n\n\n CR Total fill_in... : bla \n\n\n " << std::endl;
913 
914  }
915 
916 } //end of main
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Problem class for the cantilever "beam" structure.
Definition: mpi/distribution/airy_cantilever/airy_cantilever2.cc:213
Definition: constitutive_laws.h:699
Definition: constitutive_laws.h:801
Definition: constitutive_laws.h:145
Wrapper class for solid element to modify the output.
Definition: mpi/distribution/airy_cantilever/airy_cantilever2.cc:53
Definition: solid_elements.h:1523
Definition: solid_elements.h:1332
Definition: refineable_solid_elements.h:826
Definition: refineable_solid_elements.h:436
double E
Elastic modulus.
Definition: TwenteMeshGluing.cpp:68
double Nu
Poisson's ratio.
Definition: TwenteMeshGluing.cpp:71
ConstitutiveLaw * Constitutive_law_pt
Pointer to constitutive law.
Definition: TwenteMeshGluing.cpp:65
double C1
"Mooney Rivlin" coefficient for generalised Mooney Rivlin law
Definition: TwenteMeshGluing.cpp:74
StrainEnergyFunction * Strain_energy_function_pt
Pointer to strain energy function.
Definition: TwenteMeshGluing.cpp:62
double C2
"Mooney Rivlin" coefficient for generalised Mooney Rivlin law
Definition: mpi/distribution/airy_cantilever/airy_cantilever2.cc:156
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References Global_Physical_Variables::C1, Global_Physical_Variables::C2, Global_Physical_Variables::Constitutive_law_pt, Global_Physical_Variables::E, i, Global_Physical_Variables::Nu, problem, and Global_Physical_Variables::Strain_energy_function_pt.