MeshKit
1.0
|
#include <PostBL.hpp>
Public Member Functions | |
PostBL (MKCore *mk, const MEntVector &me_vec) | |
virtual | ~PostBL () |
virtual const moab::EntityType * | mesh_types_arr () const |
Return the mesh entity types operated on by this scheme. | |
virtual bool | add_modelent (ModelEnt *model_ent) |
Re-implemented here so we can check topological dimension of model_ent. | |
virtual void | setup_this () |
Setup is a no-op, but must be provided since it's pure virtual. | |
virtual void | execute_this () |
execute PostBL graph node | |
void | Algo2 () |
Improved algorithm. | |
void | PrepareIO (int argc, char *argv[], std::string TestDir) |
Prepare input/output files for reading/writing command line args and testdir for default test case. | |
void | get_normal_quad (std::vector< moab::EntityHandle >conn, moab::CartVect &v) |
get the normals given connectivity of a quad | |
void | get_normal_edge (std::vector< moab::EntityHandle >conn, moab::CartVect AB, moab::CartVect &v) |
get the normals given connectivity of a quad | |
void | get_det_jacobian (std::vector< moab::EntityHandle > conn, int offset, double &detJ) |
compute determinant of jacobian of a hex element | |
void | find_min_edge_length (moab::Range, moab::EntityHandle, moab::Range, double &e_len) |
compute edge length from the vertex specified | |
int | push_bulk_mesh (VerdictWrapper vw) |
push the bulk mesh after creating the normals | |
int | compute_normals () |
compute the normal for each node of the boundary layer specified | |
int | create_bl_elements (VerdictWrapper vw) |
create boundary layer elements after pushing the bulk mesh | |
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 t the specified dimension. | |
static bool | can_mesh (ModelEnt *me) |
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 Types | |
enum | ErrorStates { INVALIDINPUT } |
Private Member Functions | |
void | IOErrorHandler (ErrorStates) const |
Private Attributes | |
iGeom * | igeom |
iGeom Impl for calling geometry creation/manipulation operations | |
iMesh * | imesh |
iMesh Impl for calling mesh creation/manipulation operations | |
moab::Interface * | mb |
MOAB Impl for calling mesh creation/manipulation operations. | |
moab::Tag | GDTag |
moab::Tag | GIDTag |
moab::Tag | NTag |
moab::Tag | MTag |
moab::Tag | STag |
moab::Tag | FTag |
moab::Tag | MNTag |
moab::Tag | MatIDTag |
moab::Tag | BLNodeIDTag |
std::vector< moab::EntityHandle > | old_hex |
std::vector< moab::EntityHandle > | new_vert |
std::vector< moab::EntityHandle > | conn |
std::vector< moab::EntityHandle > | qconn |
std::vector< moab::EntityHandle > | tri_conn |
std::vector< moab::EntityHandle > | tet_conn |
std::vector< moab::EntityHandle > | adj_qconn |
std::vector< moab::EntityHandle > | old_hex_conn |
std::vector< moab::EntityHandle > | adj_hex_nodes1 |
moab::CartVect | surf_normal |
moab::Range | quads |
moab::Range | nodes |
moab::Range | edges |
moab::Range | fixmat_ents |
double | coords_new_quad [3] |
double | coords_old_quad [3] |
moab::EntityHandle | hex |
moab::EntityHandle | hex1 |
moab::EntityHandle | hex2 |
moab::Range::iterator | mset_it |
moab::Range::iterator | set_it |
moab::EntityHandle | mthis_set |
moab::EntityHandle | geom_set |
moab::Range | sets |
moab::Range | n_sets |
moab::Range | m_sets |
bool | debug |
bool | hybrid |
bool | check_bl_edge_length |
std::ifstream | m_FileInput |
mstream | m_LogFile |
std::string | szInputString |
std::string | szComment |
int | MAXCHARS |
int | m_nLineNumber |
std::vector< int > | blmaterial_id |
std::vector< int > | all_bl |
std::string | m_InputFile |
std::string | m_MeshFile |
std::string | m_OutFile |
std::string | m_LogName |
std::string | m_MeshType |
int | m_SurfId |
int | m_NeumannSet |
int | m_Material |
int | m_HConn |
int | hex27 |
double | m_Thickness |
double | m_MinEdgeLength |
int | m_Intervals |
int | m_JacCalls |
int | tri_sch |
int | fixmat |
double | m_Bias |
double | m_JLo |
double | m_JHi |
int | m_Conn |
int | m_BElemNodes |
int | m_GD |
int | m_BLDim |
std::string | m_Card |
int | err |
Definition at line 69 of file PostBL.hpp.
enum ErrorStates [private] |
Definition at line 217 of file PostBL.hpp.
PostBL | ( | MKCore * | mk, |
const MEntVector & | me_vec | ||
) |
Function: Constructor
Input: Initialize mesh and geometry instances and parameters
Output: none
Definition at line 12 of file PostBL.cpp.
~PostBL | ( | ) | [virtual] |
Function: Destructor, does nothing..
Input: none
Output: none
Definition at line 45 of file PostBL.cpp.
bool add_modelent | ( | ModelEnt * | model_ent | ) | [virtual] |
Re-implemented here so we can check topological dimension of model_ent.
model_ent | ModelEnt being added |
Function: Adds entities for PosBL graph node.
Input: ModelEnt
Output: none
Reimplemented from MeshOp.
Definition at line 53 of file PostBL.cpp.
void Algo2 | ( | ) |
Improved algorithm.
bool can_mesh | ( | iBase_EntityType | dim | ) | [inline, static] |
Function returning whether this scheme can mesh entities of t the specified dimension.
dim | entity dimension |
Definition at line 226 of file PostBL.hpp.
Function returning whether this scheme can mesh the specified entity.
Used by MeshOpFactory to find scheme for an entity.
me | ModelEnt being queried |
Definition at line 231 of file PostBL.hpp.
int compute_normals | ( | ) |
compute the normal for each node of the boundary layer specified
Function: Compute the normal direction for boundary layer compution.
Input: From included .hpp file
Output: none
Definition at line 4 of file computenormals.cpp.
int create_bl_elements | ( | VerdictWrapper | vw | ) |
create boundary layer elements after pushing the bulk mesh
Function: Parser for reading the PostBL specification (.inp) file.
Input: Command line arguments.
Output: none
Definition at line 4 of file createblelements.cpp.
void execute_this | ( | ) | [virtual] |
execute PostBL graph node
Function: Read user input from file and run the PostBL algorithm
Input: Uses the file name (.inp) with keywords predefined by PosBL algorithm.
Output: Resulting mesh file is saved.
Implements GraphNode.
Definition at line 76 of file PostBL.cpp.
void find_min_edge_length | ( | moab::Range | adj_qn, |
moab::EntityHandle | node, | ||
moab::Range | bl_nodes, | ||
double & | e_len | ||
) |
compute edge length from the vertex specified
vector | of quads/edges |
vertex | specified |
o/p | edge length |
Function: Get minimum edge length from several adjacent quads/edges specified
Input: verts of quads, BL vert
Output: distance b/w BL vert and inner vert
Definition at line 311 of file computenormals.cpp.
void get_det_jacobian | ( | std::vector< moab::EntityHandle > | conn, |
int | offset, | ||
double & | AvgJ | ||
) |
compute determinant of jacobian of a hex element
conn | connectivity array |
offset | passed when conn array has connectivity of more than one element |
detJ | is returned |
Function: Get determinant of jacobian
Input: conn
Output: vector x, y and z
Definition at line 244 of file computenormals.cpp.
void get_normal_edge | ( | std::vector< moab::EntityHandle > | conn, |
moab::CartVect | AB, | ||
moab::CartVect & | v | ||
) |
get the normals given connectivity of a quad
conn | connectivity array type moab::EntityHandle |
v | return normal vector |
Function: Get normal of a edge along its quad
Input: conn of edge, normal to the surf
Output: moab::CartVect v
Definition at line 229 of file computenormals.cpp.
void get_normal_quad | ( | std::vector< moab::EntityHandle > | conn, |
moab::CartVect & | v | ||
) |
get the normals given connectivity of a quad
conn | connectivity array type EntityHandle |
v | return normal vector |
Function: Get normal of a quad
Input: conn
Output: moab::CartVect v
Definition at line 213 of file computenormals.cpp.
void IOErrorHandler | ( | ErrorStates | ECode | ) | const [private] |
Function: Displays error messages related to input data
Input: Error code
Output: none
Definition at line 645 of file PostBL.cpp.
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 236 of file PostBL.hpp.
const char * name | ( | ) | [inline, static] |
Get class name.
Definition at line 221 of file PostBL.hpp.
const moab::EntityType * output_types | ( | ) | [static] |
Get list of mesh entity types that can be generated.
moab::MBMAXTYPE
Definition at line 9 of file PostBL.cpp.
void PrepareIO | ( | int | argc, |
char * | argv[], | ||
std::string | TestDir | ||
) |
Prepare input/output files for reading/writing command line args and testdir for default test case.
TestDir | directory where test will be located and command line arguments. |
Function: Parser for reading the PostBL specification (.inp) file.
Input: Command line arguments.
Output: none
Definition at line 468 of file PostBL.cpp.
int push_bulk_mesh | ( | VerdictWrapper | vw | ) |
push the bulk mesh after creating the normals
Function: After normal creation push the bulk mesh and make room for creation of new BL elements
Input: mesh quality verdict handle and included variables from PostBL.hpp file
Output: save a mesh file in debug mode
Definition at line 4 of file pushbmesh.cpp.
void setup_this | ( | ) | [virtual] |
Setup is a no-op, but must be provided since it's pure virtual.
Function: Setup the graph node for PostBL
Input: none
Output: none
Implements GraphNode.
Definition at line 63 of file PostBL.cpp.
std::vector<moab::EntityHandle> adj_hex_nodes1 [private] |
Definition at line 181 of file PostBL.hpp.
std::vector<moab::EntityHandle> adj_qconn [private] |
Definition at line 181 of file PostBL.hpp.
std::vector<int> all_bl [private] |
Definition at line 202 of file PostBL.hpp.
std::vector<int> blmaterial_id [private] |
Definition at line 202 of file PostBL.hpp.
moab::Tag BLNodeIDTag [private] |
Definition at line 179 of file PostBL.hpp.
bool check_bl_edge_length [private] |
Definition at line 194 of file PostBL.hpp.
std::vector<moab::EntityHandle> conn [private] |
Definition at line 180 of file PostBL.hpp.
double coords_new_quad[3] [private] |
Definition at line 185 of file PostBL.hpp.
double coords_old_quad[3] [private] |
Definition at line 186 of file PostBL.hpp.
bool debug [private] |
Definition at line 194 of file PostBL.hpp.
moab::Range edges [private] |
Definition at line 184 of file PostBL.hpp.
int err [private] |
Definition at line 214 of file PostBL.hpp.
int fixmat [private] |
Definition at line 208 of file PostBL.hpp.
moab::Range fixmat_ents [private] |
Definition at line 184 of file PostBL.hpp.
moab::Tag FTag [private] |
Definition at line 179 of file PostBL.hpp.
moab::Tag GDTag [private] |
Definition at line 179 of file PostBL.hpp.
moab::EntityHandle geom_set [private] |
Definition at line 189 of file PostBL.hpp.
moab::Tag GIDTag [private] |
Definition at line 179 of file PostBL.hpp.
moab::EntityHandle hex [private] |
Definition at line 187 of file PostBL.hpp.
moab::EntityHandle hex1 [private] |
Definition at line 187 of file PostBL.hpp.
moab::EntityHandle hex2 [private] |
Definition at line 187 of file PostBL.hpp.
int hex27 [private] |
Definition at line 206 of file PostBL.hpp.
bool hybrid [private] |
Definition at line 194 of file PostBL.hpp.
iGeom Impl for calling geometry creation/manipulation operations
Definition at line 172 of file PostBL.hpp.
iMesh Impl for calling mesh creation/manipulation operations
Definition at line 175 of file PostBL.hpp.
int m_BElemNodes [private] |
Definition at line 211 of file PostBL.hpp.
double m_Bias [private] |
Definition at line 209 of file PostBL.hpp.
int m_BLDim [private] |
Definition at line 212 of file PostBL.hpp.
std::string m_Card [private] |
Definition at line 213 of file PostBL.hpp.
int m_Conn [private] |
Definition at line 211 of file PostBL.hpp.
std::ifstream m_FileInput [private] |
Definition at line 196 of file PostBL.hpp.
int m_GD [private] |
Definition at line 212 of file PostBL.hpp.
int m_HConn [private] |
Definition at line 206 of file PostBL.hpp.
std::string m_InputFile [private] |
Definition at line 205 of file PostBL.hpp.
int m_Intervals [private] |
Definition at line 208 of file PostBL.hpp.
int m_JacCalls [private] |
Definition at line 208 of file PostBL.hpp.
double m_JHi [private] |
Definition at line 209 of file PostBL.hpp.
double m_JLo [private] |
Definition at line 209 of file PostBL.hpp.
Definition at line 197 of file PostBL.hpp.
std::string m_LogName [private] |
Definition at line 205 of file PostBL.hpp.
int m_Material [private] |
Definition at line 206 of file PostBL.hpp.
std::string m_MeshFile [private] |
Definition at line 205 of file PostBL.hpp.
std::string m_MeshType [private] |
Definition at line 205 of file PostBL.hpp.
double m_MinEdgeLength [private] |
Definition at line 207 of file PostBL.hpp.
int m_NeumannSet [private] |
Definition at line 206 of file PostBL.hpp.
int m_nLineNumber [private] |
Definition at line 200 of file PostBL.hpp.
std::string m_OutFile [private] |
Definition at line 205 of file PostBL.hpp.
moab::Range m_sets [private] |
Definition at line 190 of file PostBL.hpp.
int m_SurfId [private] |
Definition at line 206 of file PostBL.hpp.
double m_Thickness [private] |
Definition at line 207 of file PostBL.hpp.
moab::Tag MatIDTag [private] |
Definition at line 179 of file PostBL.hpp.
int MAXCHARS [private] |
Definition at line 200 of file PostBL.hpp.
moab::Interface* mb [private] |
MOAB Impl for calling mesh creation/manipulation operations.
Definition at line 178 of file PostBL.hpp.
moab::Tag MNTag [private] |
Definition at line 179 of file PostBL.hpp.
moab::Range::iterator mset_it [private] |
Definition at line 188 of file PostBL.hpp.
moab::Tag MTag [private] |
Definition at line 179 of file PostBL.hpp.
moab::EntityHandle mthis_set [private] |
Definition at line 189 of file PostBL.hpp.
moab::Range n_sets [private] |
Definition at line 190 of file PostBL.hpp.
std::vector<moab::EntityHandle> new_vert [private] |
Definition at line 180 of file PostBL.hpp.
moab::Range nodes [private] |
Definition at line 184 of file PostBL.hpp.
moab::Tag NTag [private] |
Definition at line 179 of file PostBL.hpp.
std::vector<moab::EntityHandle> old_hex [private] |
Definition at line 180 of file PostBL.hpp.
std::vector<moab::EntityHandle> old_hex_conn [private] |
Definition at line 181 of file PostBL.hpp.
std::vector<moab::EntityHandle> qconn [private] |
Definition at line 180 of file PostBL.hpp.
moab::Range quads [private] |
Definition at line 184 of file PostBL.hpp.
moab::Range::iterator set_it [private] |
Definition at line 188 of file PostBL.hpp.
moab::Range sets [private] |
Definition at line 190 of file PostBL.hpp.
moab::Tag STag [private] |
Definition at line 179 of file PostBL.hpp.
moab::CartVect surf_normal [private] |
Definition at line 183 of file PostBL.hpp.
std::string szComment [private] |
Definition at line 199 of file PostBL.hpp.
std::string szInputString [private] |
Definition at line 198 of file PostBL.hpp.
std::vector<moab::EntityHandle> tet_conn [private] |
Definition at line 180 of file PostBL.hpp.
std::vector<moab::EntityHandle> tri_conn [private] |
Definition at line 180 of file PostBL.hpp.
int tri_sch [private] |
Definition at line 208 of file PostBL.hpp.