Loading [MathJax]/extensions/tex2jax.js
Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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  18 class MeshGeneration 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  39  MeshGeneration( Interface* mbi, 40 #ifdef MOAB_HAVE_MPI 41  ParallelComm* pcomm = 0, 42 #endif 43  EntityHandle rset = 0 ); 44  virtual ~MeshGeneration(); 45  46  ErrorCode BrickInstance( BrickOpts& opts ); 47  48  private: 49  Interface* mb; 50 #ifdef MOAB_HAVE_MPI 51  ParallelComm* pc; 52 #endif 53  EntityHandle cset; 54 }; 55  56 } /* namespace moab */ 57 #endif /* MESHGENERATION_HPP_ */