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 | |
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. | |
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::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 |
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 66 of file PostBL.hpp.
enum ErrorStates [private] |
Definition at line 187 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 41 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 49 of file PostBL.cpp.
void Algo2 | ( | ) |
Improved algorithm.
Definition at line 11 of file algorithm2.cpp.
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 196 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 201 of file PostBL.hpp.
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.
ALGORITHM BEGINS ///////////// Set algorithm number
Implements GraphNode.
Definition at line 72 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 950 of file PostBL.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 981 of file PostBL.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 935 of file PostBL.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 919 of file PostBL.cpp.
void IOErrorHandler | ( | ErrorStates | ECode | ) | const [private] |
Function: Displays error messages related to input data
Input: Error code
Output: none
Definition at line 901 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 206 of file PostBL.hpp.
const char * name | ( | ) | [inline, static] |
Get class name.
Definition at line 191 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 736 of file PostBL.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 59 of file PostBL.cpp.
bool check_bl_edge_length [private] |
Definition at line 166 of file PostBL.hpp.
bool debug [private] |
Definition at line 166 of file PostBL.hpp.
int err [private] |
Definition at line 184 of file PostBL.hpp.
int fixmat [private] |
Definition at line 178 of file PostBL.hpp.
bool hybrid [private] |
Definition at line 166 of file PostBL.hpp.
iGeom Impl for calling geometry creation/manipulation operations
Definition at line 157 of file PostBL.hpp.
iMesh Impl for calling mesh creation/manipulation operations
Definition at line 160 of file PostBL.hpp.
int m_BElemNodes [private] |
Definition at line 181 of file PostBL.hpp.
double m_Bias [private] |
Definition at line 179 of file PostBL.hpp.
int m_BLDim [private] |
Definition at line 182 of file PostBL.hpp.
std::string m_Card [private] |
Definition at line 183 of file PostBL.hpp.
int m_Conn [private] |
Definition at line 181 of file PostBL.hpp.
std::ifstream m_FileInput [private] |
Definition at line 168 of file PostBL.hpp.
int m_GD [private] |
Definition at line 182 of file PostBL.hpp.
int m_HConn [private] |
Definition at line 176 of file PostBL.hpp.
std::string m_InputFile [private] |
Definition at line 175 of file PostBL.hpp.
int m_Intervals [private] |
Definition at line 178 of file PostBL.hpp.
int m_JacCalls [private] |
Definition at line 178 of file PostBL.hpp.
double m_JHi [private] |
Definition at line 179 of file PostBL.hpp.
double m_JLo [private] |
Definition at line 179 of file PostBL.hpp.
Definition at line 169 of file PostBL.hpp.
std::string m_LogName [private] |
Definition at line 175 of file PostBL.hpp.
int m_Material [private] |
Definition at line 176 of file PostBL.hpp.
std::string m_MeshFile [private] |
Definition at line 175 of file PostBL.hpp.
std::string m_MeshType [private] |
Definition at line 175 of file PostBL.hpp.
double m_MinEdgeLength [private] |
Definition at line 177 of file PostBL.hpp.
int m_NeumannSet [private] |
Definition at line 176 of file PostBL.hpp.
int m_nLineNumber [private] |
Definition at line 172 of file PostBL.hpp.
std::string m_OutFile [private] |
Definition at line 175 of file PostBL.hpp.
int m_SurfId [private] |
Definition at line 176 of file PostBL.hpp.
double m_Thickness [private] |
Definition at line 177 of file PostBL.hpp.
int MAXCHARS [private] |
Definition at line 172 of file PostBL.hpp.
moab::Interface* mb [private] |
MOAB Impl for calling mesh creation/manipulation operations.
Definition at line 163 of file PostBL.hpp.
std::string szComment [private] |
Definition at line 171 of file PostBL.hpp.
std::string szInputString [private] |
Definition at line 170 of file PostBL.hpp.
int tri_sch [private] |
Definition at line 178 of file PostBL.hpp.