|
MeshKit
1.0
|
Generate a structured Cartesian grid over a geometry. More...
#include <SCDMesh.hpp>

Public Types | |
| enum | InterfaceSchemeType { full, scd } |
| enum | GridSchemeType { cfMesh, vtxMesh } |
| enum | AxisSchemeType { cartesian, oriented } |
| enum | GeomSchemeType { all, individual } |
Public Member Functions | |
| SCDMesh (MKCore *mkcore, const MEntVector &me_vec) | |
| Bare Constructor. | |
| virtual | ~SCDMesh () |
| Destructor. | |
| virtual void | setup_this () |
| Setup. | |
| virtual void | execute_this () |
| Generates the SCD Mesh. | |
| virtual const moab::EntityType * | mesh_types_arr () const |
| Return the mesh entity types operated on by this scheme. | |
| void | set_interface_scheme (InterfaceSchemeType scheme) |
| Set the interface type to be used. | |
| InterfaceSchemeType | get_interface_scheme () const |
| Get the interface type. | |
| void | set_grid_scheme (GridSchemeType scheme) |
| Set the grid generation scheme to be used. | |
| GridSchemeType | get_grid_scheme () const |
| Get the grid scheme assigned to the mesh. | |
| void | set_axis_scheme (AxisSchemeType scheme) |
| Set the axis type to be used. | |
| AxisSchemeType | get_axis_scheme () const |
| Get the axis scheme assigned ot the mesh. | |
| void | set_geometry_scheme (GeomSchemeType scheme) |
| Set how the geometric volumes will be meshed. | |
| GeomSchemeType | get_geometry_scheme () const |
| Get the volume meshing scheme assigned ot the mesh. | |
| void | set_coarse_i_grid (int coarse_i_) |
| Set the i direction number of coarse grid divisions for the cfmesh case. | |
| void | set_coarse_j_grid (int coarse_j_) |
| Set the j direction number of coarse grid divisions for the cfmesh case. | |
| void | set_coarse_k_grid (int coarse_k_) |
| Set the k direction number of coarse grid divisions for the cfmesh case. | |
| void | set_fine_i_grid (std::vector< int > fine_i_) |
| Set the i direction fine grid divisions. | |
| void | set_fine_j_grid (std::vector< int > fine_j_) |
| Set the j direction fine grid divisions. | |
| void | set_fine_k_grid (std::vector< int > fine_k_) |
| Set the k direction fine grid divisions. | |
| void | get_box_dimension (double *min, double *max) |
| Get the geometry encompasing box dimensions. | |
| void | set_box_increase_ratio (double box_increase=.03) |
| Set the geometry encompasing box size increase ratio. | |
| void | use_mesh_geometry (bool use) |
| Set if mesh based geometry is used. | |
| void | set_cart_box_min_max (double *min, double *max, double box_increase) |
| Set if mesh based geometry is used. | |
Static Public Member Functions | |
| static const char * | name () |
| Get class name. | |
| static bool | can_mesh (iBase_EntityType dim) |
| Function returning whether this scheme can mesh entities of the specified dimension. | |
| static bool | can_mesh (ModelEnt *ent) |
| Function returning whether this scheme can mesh the specified entity. | |
| static const moab::EntityType * | output_types () |
| Get list of mesh entity types that can be generated. | |
Private Member Functions | |
| void | set_cart_box_all () |
| set the Cartesian bounding box dimensions over the entire geometry | |
| void | set_cart_box_individual (ModelEnt *this_me) |
| set the Cartesian bounding box dimensions over an individual model entity | |
| void | create_cart_edges () |
| create cartesian bounding box | |
| void | create_vertex_coords () |
| create mesh vertex coordinates | |
| void | create_full_mesh (moab::Range &me_range) |
| create full mesh representation | |
| void | create_light_mesh (moab::Range &me_range) |
| create lightweight ScdInterface representation | |
Private Attributes | |
| InterfaceSchemeType | interfaceType |
| GridSchemeType | gridType |
| AxisSchemeType | axisType |
| GeomSchemeType | geomType |
| moab::ScdInterface * | scdIface |
| unsigned int | coarse_i |
| unsigned int | coarse_j |
| unsigned int | coarse_k |
| std::vector< int > | fine_i |
| std::vector< int > | fine_j |
| std::vector< int > | fine_k |
| std::vector< double > | i_arr |
| std::vector< double > | j_arr |
| std::vector< double > | k_arr |
| iGeom::Error | gerr |
| moab::ErrorCode | rval |
| double | minCoord [3] |
| double | maxCoord [3] |
| int | num_i |
| int | num_j |
| int | num_k |
| int | num_verts |
| double | boxIncrease |
| std::vector< double > | full_coords |
| moab::Range | vtx_range |
| moab::Range | hex_range |
| moab::Tag | bb_tag |
| bool | useMeshGeom |
Generate a structured Cartesian grid over a geometry.
SCDMesh generates a structured Cartesian grid with either a lightweight representation using ScdInterface in MOAB or a full representation of all the entities.
Definition at line 40 of file SCDMesh.hpp.
| enum AxisSchemeType |
Definition at line 59 of file SCDMesh.hpp.
| enum GeomSchemeType |
Definition at line 64 of file SCDMesh.hpp.
| enum GridSchemeType |
Definition at line 54 of file SCDMesh.hpp.
| enum InterfaceSchemeType |
Definition at line 47 of file SCDMesh.hpp.
| SCDMesh | ( | MKCore * | mkcore, |
| const MEntVector & | me_vec | ||
| ) |
Bare Constructor.
Definition at line 32 of file SCDMesh.cpp.
| ~SCDMesh | ( | ) | [inline, virtual] |
Destructor.
Definition at line 296 of file SCDMesh.hpp.
| static bool can_mesh | ( | iBase_EntityType | dim | ) | [inline, static] |
Function returning whether this scheme can mesh entities of the specified dimension.
| dim | entity dimension |
Definition at line 143 of file SCDMesh.hpp.
Function returning whether this scheme can mesh the specified entity.
Used by MeshOpFactory to find scheme for an entity.
| ent | ModelEnt being queried |
Definition at line 152 of file SCDMesh.hpp.
| void create_cart_edges | ( | ) | [private] |
create cartesian bounding box
Definition at line 175 of file SCDMesh.cpp.
| void create_full_mesh | ( | moab::Range & | me_range | ) | [private] |
create full mesh representation
Definition at line 239 of file SCDMesh.cpp.
| void create_light_mesh | ( | moab::Range & | me_range | ) | [private] |
create lightweight ScdInterface representation
Definition at line 282 of file SCDMesh.cpp.
| void create_vertex_coords | ( | ) | [private] |
create mesh vertex coordinates
Definition at line 214 of file SCDMesh.cpp.
| void execute_this | ( | ) | [virtual] |
| SCDMesh::AxisSchemeType get_axis_scheme | ( | ) | const [inline] |
Get the axis scheme assigned ot the mesh.
Definition at line 325 of file SCDMesh.hpp.
| void get_box_dimension | ( | double * | min, |
| double * | max | ||
| ) | [inline] |
Get the geometry encompasing box dimensions.
Definition at line 370 of file SCDMesh.hpp.
| SCDMesh::GeomSchemeType get_geometry_scheme | ( | ) | const [inline] |
Get the volume meshing scheme assigned ot the mesh.
Definition at line 335 of file SCDMesh.hpp.
| SCDMesh::GridSchemeType get_grid_scheme | ( | ) | const [inline] |
Get the grid scheme assigned to the mesh.
Definition at line 315 of file SCDMesh.hpp.
| SCDMesh::InterfaceSchemeType get_interface_scheme | ( | ) | const [inline] |
| virtual const moab::EntityType* mesh_types_arr | ( | ) | const [inline, virtual] |
Return the mesh entity types operated on by this scheme.
moab::MBMAXTYPE Implements MeshOp.
Definition at line 163 of file SCDMesh.hpp.
| static const char* name | ( | ) | [inline, static] |
Get class name.
Definition at line 136 of file SCDMesh.hpp.
| const moab::EntityType * output_types | ( | ) | [static] |
Get list of mesh entity types that can be generated.
moab::MBMAXTYPE Definition at line 27 of file SCDMesh.cpp.
| void set_axis_scheme | ( | SCDMesh::AxisSchemeType | scheme | ) | [inline] |
Set the axis type to be used.
| scheme | The type of axis scheme to use |
Definition at line 320 of file SCDMesh.hpp.
| void set_box_increase_ratio | ( | double | box_increase = .03 | ) | [inline] |
Set the geometry encompasing box size increase ratio.
Definition at line 378 of file SCDMesh.hpp.
| void set_cart_box_all | ( | ) | [private] |
set the Cartesian bounding box dimensions over the entire geometry
Definition at line 121 of file SCDMesh.cpp.
| void set_cart_box_individual | ( | ModelEnt * | this_me | ) | [private] |
set the Cartesian bounding box dimensions over an individual model entity
Definition at line 140 of file SCDMesh.cpp.
| void set_cart_box_min_max | ( | double * | min, |
| double * | max, | ||
| double | box_increase | ||
| ) |
Set if mesh based geometry is used.
Definition at line 164 of file SCDMesh.cpp.
| void set_coarse_i_grid | ( | int | coarse_i_ | ) | [inline] |
Set the i direction number of coarse grid divisions for the cfmesh case.
| coarse_i_ | Number of equally sized coarse divisions in the i direction |
Definition at line 340 of file SCDMesh.hpp.
| void set_coarse_j_grid | ( | int | coarse_j_ | ) | [inline] |
Set the j direction number of coarse grid divisions for the cfmesh case.
| coarse_j_ | Number of equally sized coarse divisions in the j direction |
Definition at line 345 of file SCDMesh.hpp.
| void set_coarse_k_grid | ( | int | coarse_k_ | ) | [inline] |
Set the k direction number of coarse grid divisions for the cfmesh case.
| coarse_k_ | Number of equally sized coarse divisions in the k direction |
Definition at line 350 of file SCDMesh.hpp.
| void set_fine_i_grid | ( | std::vector< int > | fine_i_ | ) | [inline] |
Set the i direction fine grid divisions.
| fine_i_ | Vector of integers defining the number of equally sized fine divisions in each coarse divisions in the i direction |
Definition at line 355 of file SCDMesh.hpp.
| void set_fine_j_grid | ( | std::vector< int > | fine_j_ | ) | [inline] |
Set the j direction fine grid divisions.
| fine_i_ | Vector of integers defining the number of equally sized fine divisions in each coarse divisions in the j direction |
Definition at line 360 of file SCDMesh.hpp.
| void set_fine_k_grid | ( | std::vector< int > | fine_k_ | ) | [inline] |
Set the k direction fine grid divisions.
| fine_i_ | Vector of integers defining the number of equally sized fine divisions in each coarse divisions in the k direction |
Definition at line 365 of file SCDMesh.hpp.
| void set_geometry_scheme | ( | SCDMesh::GeomSchemeType | scheme | ) | [inline] |
Set how the geometric volumes will be meshed.
| scheme | The type of volume meshing scheme to use |
Definition at line 330 of file SCDMesh.hpp.
| void set_grid_scheme | ( | SCDMesh::GridSchemeType | scheme | ) | [inline] |
Set the grid generation scheme to be used.
| scheme | The type of grid scheme to be used |
Definition at line 310 of file SCDMesh.hpp.
| void set_interface_scheme | ( | SCDMesh::InterfaceSchemeType | scheme | ) | [inline] |
Set the interface type to be used.
| scheme | The type of grid scheme to be used |
Definition at line 300 of file SCDMesh.hpp.
| void setup_this | ( | ) | [virtual] |
| void use_mesh_geometry | ( | bool | use | ) | [inline] |
Set if mesh based geometry is used.
Definition at line 383 of file SCDMesh.hpp.
AxisSchemeType axisType [private] |
Definition at line 71 of file SCDMesh.hpp.
moab::Tag bb_tag [private] |
Definition at line 115 of file SCDMesh.hpp.
double boxIncrease [private] |
Definition at line 106 of file SCDMesh.hpp.
unsigned int coarse_i [private] |
Definition at line 78 of file SCDMesh.hpp.
unsigned int coarse_j [private] |
Definition at line 79 of file SCDMesh.hpp.
unsigned int coarse_k [private] |
Definition at line 80 of file SCDMesh.hpp.
std::vector<int> fine_i [private] |
Definition at line 83 of file SCDMesh.hpp.
std::vector<int> fine_j [private] |
Definition at line 84 of file SCDMesh.hpp.
std::vector<int> fine_k [private] |
Definition at line 85 of file SCDMesh.hpp.
std::vector<double> full_coords [private] |
Definition at line 109 of file SCDMesh.hpp.
GeomSchemeType geomType [private] |
Definition at line 72 of file SCDMesh.hpp.
iGeom::Error gerr [private] |
Definition at line 93 of file SCDMesh.hpp.
GridSchemeType gridType [private] |
Definition at line 70 of file SCDMesh.hpp.
moab::Range hex_range [private] |
Definition at line 113 of file SCDMesh.hpp.
std::vector<double> i_arr [private] |
Definition at line 88 of file SCDMesh.hpp.
InterfaceSchemeType interfaceType [private] |
Definition at line 69 of file SCDMesh.hpp.
std::vector<double> j_arr [private] |
Definition at line 89 of file SCDMesh.hpp.
std::vector<double> k_arr [private] |
Definition at line 90 of file SCDMesh.hpp.
double maxCoord[3] [private] |
Definition at line 97 of file SCDMesh.hpp.
double minCoord[3] [private] |
Definition at line 97 of file SCDMesh.hpp.
int num_i [private] |
Definition at line 100 of file SCDMesh.hpp.
int num_j [private] |
Definition at line 101 of file SCDMesh.hpp.
int num_k [private] |
Definition at line 102 of file SCDMesh.hpp.
int num_verts [private] |
Definition at line 103 of file SCDMesh.hpp.
moab::ErrorCode rval [private] |
Definition at line 94 of file SCDMesh.hpp.
moab::ScdInterface* scdIface [private] |
Definition at line 75 of file SCDMesh.hpp.
bool useMeshGeom [private] |
Definition at line 117 of file SCDMesh.hpp.
moab::Range vtx_range [private] |
Definition at line 112 of file SCDMesh.hpp.