CG  Version 25
SmParameters.h
Go to the documentation of this file.
1 #ifndef SM_PARAMETERS
2 #define SM_PARAMETERS
3 
4 // Parameters for Cgsm, the solid-mechanics solver
5 
6 #include "Parameters.h"
7 // Here are the run time and PDE parameters
8 class SmParameters : public Parameters
9 {
10 public:
11 
13 {
15  nonlinearMechanics, // for the future
17 };
18 static aString PDEModelName[numberOfPDEModels+1];
19 
21 {
22  nonConservative=0, // Bill's non-conservative
23  conservative, // Daniel's conservative
24  godunov, // Don's Godunov method
25  hemp, // Jeff's version of the Hemp method
27 };
29 
30 enum TimeSteppingMethodSm // time stepping methods for SM
31 {
42 };
43 
44 
45 enum BoundaryConditionEnum // these should match with bcDefineInclude.h
46 {
50  slipWall, // n.u=0 and tau.sigma.n=0
52  interfaceBoundaryCondition, // for the interface between two regions with different properties
53  abcEM2, // absorbing BC, Engquist-Majda order 2
54  abcPML, // perfectly matched layer
55  abc3, // future absorbing BC
56  abc4, // future absorbing BC
57  abc5, // future absorbing BC
58  rbcNonLocal, // radiation BC, non-local
59  rbcLocal, // radiation BC, local
62 };
63 static aString bcName[numberOfBCNames];
64 
65 SmParameters(const int & numberOfDimensions0=3);
67 
68 virtual int
69 chooseUserDefinedBoundaryValues(int side, int axis, int grid, CompositeGrid & cg);
70 
71 virtual int
72 displayPdeParameters(FILE *file = stdout );
73 
74 virtual aString
75 getTimeSteppingName() const;
76 
77 virtual int
79 
80 bool isFirstOrderSystem() const;
81 
82 bool isSecondOrderSystem() const;
83 
84 virtual int
86 
87 virtual int
88 setParameters(const int & numberOfDimensions0=2,
89  const aString & reactionName =nullString);
90 virtual int
91 setPdeParameters(CompositeGrid & cg,
92  const aString & command = nullString,
93  DialogData *interface =NULL );
94 
95 virtual int
97  const int & degreeSpace =2,
98  const int & degreeTime =1 );
99 
100 virtual int
101 updateToMatchGrid(CompositeGrid & cg, IntegerArray & sharedBoundaryCondition );
102 
103 
104 // virtual int
105 // setUserDefinedParameters();
106 
107 };
108 
109 #endif