Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
MeshGeneration.hpp
Go to the documentation of this file.
1 /*
2  * MeshGeneration.hpp
3  * class for generating simple meshes online
4  */
5 
6 #ifndef MESHGENERATION_HPP_
7 #define MESHGENERATION_HPP_
8 #include "moab/Core.hpp"
9 
10 #include "moab/CartVect.hpp"
11 
12 namespace moab
13 {
14 
15 // Forward Declarations
16 class ParallelComm;
17 
19 {
20 
21  public:
22  struct BrickOpts
23  {
24  // follow the options in examples/advanced/GenLargeMesh.cpp
25  CartVect ui, uj, uk; // such that ui * uj = uk; uj*uk=ui, etc
26  double xsize, ysize, zsize; // extents of the brick
27  int A, B, C; // number of blocks per processor
28  int M, N, K; // number of processors in each direction
29  int blockSize; // each small block size
30  int GL; // number of ghost layers
31  bool newMergeMethod; // = false;
32  bool quadratic; // = false;
33  bool keep_skins; // = false;
34  bool tetra; // = false;
35  bool adjEnts; // = false;
36  bool parmerge; // = false;
37  };
38 
40 #ifdef MOAB_HAVE_MPI
41  ParallelComm* pcomm = 0,
42 #endif
43  EntityHandle rset = 0 );
44  virtual ~MeshGeneration();
45 
47 
48  private:
50 #ifdef MOAB_HAVE_MPI
51  ParallelComm* pc;
52 #endif
54 };
55 
56 } /* namespace moab */
57 #endif /* MESHGENERATION_HPP_ */