SCOREC core
Parallel unstructured mesh tools
phInput.h
Go to the documentation of this file.
1 #ifndef PH_INPUT_H
2 #define PH_INPUT_H
3 
13 #include <string>
14 #include <vector>
15 
16 namespace pcu{
17  class PCU;
18 }
19 
20 struct RStream;
21 
22 namespace ph {
23 
25 class Input
26 {
27  public:
28  Input();
29  void load(const char* filename, pcu::PCU *PCUObj);
30  int txtCoord; //HACK added to get through compile
31  int timeStepNumber;
41  int ensa_dof;
42  int ensa_melas_dof;
49  std::string restartFileName;
52  std::string attributeFileName;
58  std::string meshFileName;
60  std::string outMeshFileName;
65  std::string modelFileName;
66  std::string outputFormat;
71  std::string partitionMethod;
79  std::string preAdaptBalanceMethod;
86  std::string midAdaptBalanceMethod;
103  int adaptFlag;
104  int rRead;
105  int rStart;
106  int adaptStrategy;
107  double validQuality;
108  double adaptErrorThreshold;
109  std::string adaptErrorFieldName;
110  int adaptErrorFieldIndex;
111  int periodic;
112  int prCD;
113  int timing;
114  int internalBCNodes;
115  int writeDebugFiles;
116  int phastaIO;
117  int splitFactor;
118  int solutionMigration;
119  int useAttachedFields;
120  int displacementMigration;
121  int isReorder;
130  int localPtn;
131  int recursiveUR;
132  int dwalMigration;
133  int buildMapping;
134  int elementsPerMigration;
135  int threaded;
136  int initBubbles;
137  std::string bubbleFileName;
138  int formElementGraph;
139  int snap;
140  int transferParametric;
146  int axisymmetry;
147  int formEdges;
148  int parmaLoops;
149  int parmaVerbosity;
150  int writeVTK;
157  int ramdisk;
162  double meshqCrtn;
163  double elementImbalance;
164  double vertexImbalance;
165  FILE* (*openfile_read)(Input& in, const char* path, pcu::PCU *PCUObj);
166  RStream* rs;
173  double adaptShrinkLimit;
179  double alphaDist;
181  double alphaSize;
183  double betaDist;
185  double betaSize;
187  double gammaDist;
189  double gammaSize;
193  int nRBParam;
195  std::vector<double> rbParamData;
210  /* Stuff for spanwise averaging */
211  int spanAvg;
212  int nfathers;
213  int nsons;
214 };
215 
216 int countNaturalBCs(Input& in);
217 int countEssentialBCs(Input& in);
218 int countScalarBCs(Input& in);
219 
220 }
221 
222 #endif
The Parallel Contrul Unit class encapsulates parallel communication.
Definition: PCU.h:26
User configuration for Chef execution.
Definition: phInput.h:26
int writeRestartFiles
write the restart file during in-memory data transfer between phasta and chef.
Definition: phInput.h:156
int ensa_dof
this corresponds to the number of degrees of freedom in the solution field of the output restart file...
Definition: phInput.h:41
double alphaDist
closest distance from zero level set for banded refinement
Definition: phInput.h:179
double simMaxAdaptMeshElements
number of allowed mesh elements of adapted mesh
Definition: phInput.h:209
std::string meshFileName
path to the directory that includes the input mesh
Definition: phInput.h:58
double simSizeLowerBound
minimum desired mesh size for sim adapter
Definition: phInput.h:205
int simCooperation
option used for wrapping sim mesh adapter and improver into mover
Definition: phInput.h:199
std::string midAdaptBalanceMethod
select the method used to balance the mesh during adaptation.
Definition: phInput.h:86
std::vector< double > rbParamData
parameter data for rigid body
Definition: phInput.h:195
std::string partitionMethod
select the method used to increase the number of parts in the mesh.
Definition: phInput.h:71
double alphaSize
absolute isotropic size within [0:alphaDist) of zero level set
Definition: phInput.h:181
std::string preAdaptBalanceMethod
select the method used to balance the mesh prior to adaptation.
Definition: phInput.h:79
std::string prePhastaBalanceMethod
select the method used to balance the mesh prior to pre-processing.
Definition: phInput.h:102
int writeGeomBCFiles
write the geombc file during in-memory data transfer between phasta and chef.
Definition: phInput.h:153
int mesh2geom
flag of writing m2g fields to geomBC files
Definition: phInput.h:177
std::string restartFileName
path to the restart files
Definition: phInput.h:49
double gammaSize
absolute isotropic size within [betaDist:gammDist) of zero level set
Definition: phInput.h:189
int simmetrixMesh
the flag for switch between simmetrix mesh and pumi-based mesh. avoid run incompatible APIs with simm...
Definition: phInput.h:169
double simCFLUpperBound
maximum CFL number for mesh size
Definition: phInput.h:203
std::string outMeshFileName
output mesh file name, see meshFileName
Definition: phInput.h:60
int tetrahedronize
tetrahedronize a mixed mesh if set to 1.
Definition: phInput.h:123
double betaSize
absolute isotropic size within [alphaDist:betaDist) of zero level set
Definition: phInput.h:185
double betaDist
second closest distance from zero level set for banded refinement
Definition: phInput.h:183
std::string postAdaptBalanceMethod
select the method used to balance the mesh after adaptation.
Definition: phInput.h:95
int nRigidBody
number of rigid bodies
Definition: phInput.h:191
int maxAdaptIterations
the max number of iterations in mesh adaptation
Definition: phInput.h:172
std::string modelFileName
path to the geometric model
Definition: phInput.h:65
int filterMatches
filter out a subset of 3-way periodic matches. it also filters out DG interface matches.
Definition: phInput.h:145
int splitAllLayerEdges
enable splitting triangle edges of a prismatic boundary layer stack
Definition: phInput.h:142
int localPtn
enables the use of local partitioning methods.
Definition: phInput.h:130
int nRBParam
number of parameters for each rigid body
Definition: phInput.h:193
double gradingFactor
factor \beta used for mesh smooth/gradation
Definition: phInput.h:197
double meshqCrtn
the value of criteria for the mesh measure.
Definition: phInput.h:162
int printIOtime
report the time spent in IO
Definition: phInput.h:175
double simSizeUpperBound
maximum desired mesh size for sim adapter
Definition: phInput.h:207
std::string attributeFileName
path to the spj or smd file containing the boundary and initial conditions
Definition: phInput.h:52
double gammaDist
furthest distance from zero level set for banded refinement
Definition: phInput.h:187
int writeSimLog
flag for writing simmetrix log file
Definition: phInput.h:201
Definition: PCU.h:15