clamped_or_pinned_shell.cc File Reference
#include "generic.h"
#include "shell.h"
#include "meshes/circular_shell_mesh.h"

Classes

class  ShellProblem< ELEMENT >
 

Namespaces

 Global_Physical_Variables
 Global variables.
 

Functions

doubleGlobal_Physical_Variables::external_pressure ()
 Access function to value of external pressure. More...
 
void Global_Physical_Variables::press_load (const Vector< double > &xi, const Vector< double > &x, const Vector< double > &N, Vector< double > &load)
 Load function: Perturbation pressure to force non-axisymmetric deformation. More...
 
int main (int argc, char *argv[])
 Driver. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char argv[] 
)

Driver.

508 {
509 
510  //Store command line arguments
511  CommandLineArgs::setup(argc,argv);
512 
513  //Length of domain
514  double L = 10.0;
515  double L_phi=0.5*MathematicalConstants::Pi;
516 
517  // Choose problem type: 0: Clamped; 1: Pinned; 2: Pinned & symmetry
518  unsigned problem_id=0;
519  string dir_name;
520 
521  if (CommandLineArgs::Argc==2)
522  {
523  if (atoi(CommandLineArgs::Argv[1])==0)
524  {
525  std::cout << "Doing clamped case " << std::endl;
526  problem_id=0;
527  dir_name="RESLT_clamped";
528  }
529  else if (atoi(CommandLineArgs::Argv[1])==1)
530  {
531  std::cout << "Doing pinned case " << std::endl;
532  problem_id=1;
533  dir_name="RESLT_pinned";
534  }
535  else if (atoi(CommandLineArgs::Argv[1])==2)
536  {
537  std::cout << "Doing pinned periodic case " << std::endl;
538  problem_id=2;
539  dir_name="RESLT_pinned_periodic";
540  }
541  else
542  {
543  std::cout << "Wrong command line argument -- using default (0) instead"
544  << std::endl;
545  problem_id=0;
546  dir_name="RESLT_clamped";
547  }
548  }
549  else
550  {
551  std::cout
552  << "No (or more than one) input argument(s) -- using default (0) instead"
553  << std::endl;
554  problem_id=0;
555  dir_name="RESLT_clamped";
556  }
557 
558 
559  // Run with pinned boundary conditions
560  //------------------------------------
561  if (problem_id==1)
562  {
563  //Set up the problem
565  problem(5,3,L,L_phi,problem_id);
566 
567  //Solve the problem
568  problem.solve(dir_name);
569  }
570  // Run with proper clamped boundary conditions
571  //--------------------------------------------
572  else if (problem_id==0)
573  {
574  {
575  //Set up the problem
577  problem(5,3,L,L_phi,problem_id);
578 
579  //Solve the problem
580  problem.solve(dir_name);
581  }
582 // {
583 // //Set up the problem
584 // ShellProblem<StorableShapeSolidElement<DiagHermiteShellElement> >
585 // problem(5,3,L,L_phi,problem_id);
586 
587 // //Solve the problem
588 // problem.solve(dir_name);
589 // }
590  }
591  // Run with pinned periodic boundary conditions
592  //---------------------------------------------
593  else if (problem_id==2)
594  {
595  //Set up the problem
597  problem(5,3,L,L_phi,problem_id);
598  //Solve the problem
599  problem.solve(dir_name);
600 
601  }
602  else
603  {
604  std::cout << "Wrong problem id " << problem_id << std::endl;
605  }
606 
607 
608 
609 }
MatrixXd L
Definition: LLT_example.cpp:6
Definition: mpi/distribution/clamped_shell/clamped_shell_with_arclength_cont.cc:316
double Pi
Definition: two_d_biharmonic.cc:235
void setup(Time *time_pt)
Create all GeomObjects needed to define the cylinder and the flag.
Definition: turek_flag_non_fsi.cc:277
char ** Argv
Arguments themselves.
Definition: oomph_utilities.cc:410
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, oomph::CommandLineArgs::Argv, L, BiharmonicTestFunctions2::Pi, problem, and Flag_definition::setup().