MeshKit  1.0
AssyMesher Class Reference

#include <AssyMesher.hpp>

Inheritance diagram for AssyMesher:

List of all members.

Public Member Functions

 AssyMesher (MKCore *mkcore, const MEntVector &me_vec)
virtual ~AssyMesher ()
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 ()
 The only setup/execute function we need, since meshing vertices is trivial.
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 ReadPinCellData (int i)
 Read pincell data input file.

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 {
  PINCELLS, INVALIDINPUT, EMAT, EGEOMTYPE,
  EGEOMENGINE, ENEGATIVE, EALIAS, EPIN
}

Private Member Functions

void IOErrorHandler (ErrorStates) const
std::vector
< iGeom::EntityHandle > * 
selectByMaterialsAndNameSuffix (std::vector< iGeom::EntityHandle > const &geoEntVec, std::set< std::string > const &matFilter, const char *suffix) const
void createMaterialNeumannSets (std::set< std::string > const &matFilter)
void createMaterialNeumannSets ()

Private Attributes

iGeomigeom
 iGeom Impl for calling geometry creation/manipulation operations
iMeshimesh
 iMesh Impl for calling mesh creation/manipulation operations
moab::Interface * mb
 MOAB Impl for calling mesh creation/manipulation operations.
std::vector< iBase_EntityHandle > assms
std::vector< iBase_EntityHandle > in_pins
int m_nSides
std::ifstream m_FileInput
std::ifstream m_FileCommon
mstream m_LogFile
std::string szInputString
std::string szComment
int MAXCHARS
bool have_common
std::string m_InputFile
std::string m_szCommonFile
std::string m_GeomFile
std::string m_MeshFile
std::string m_OutFile
std::string m_LogName
std::string m_MeshType
std::string m_Card
CMatrix< std::string > m_Assembly
CMatrix< double > m_dMTopSurfCoords
CMatrix< double > m_dMAssmPitch
CMatrix< double > m_dMAssmPitchX
CMatrix< double > m_dMAssmPitchY
CMatrix< double > m_dMXYAssm
CMatrix< double > m_dMZAssm
CVector< std::string > m_szAssmMat
CVector< std::string > m_szAssmMatAlias
CMatrix< std::string > m_szMMAlias
CVector< CPincellm_Pincell
std::string m_szEngine
std::string m_szGeomType
std::string m_szMeshType
std::string m_szSideset
int m_nAssemblyMat
int m_nDimensions
int m_nPincells
int m_nLineNumber
int m_nPlanar
int m_nNeumannSetId
int m_nMaterialSetId
int m_nDuct
int m_nDuctNum
int m_nJouFlag
double m_dPitch
double pi
double m_dRadialSize
double m_dAxialSize
double m_dTetMeshSize
double m_dMergeTol
std::set< std::string > allMtrlsSet

Detailed Description

Definition at line 36 of file AssyMesher.hpp.


Member Enumeration Documentation

enum ErrorStates [private]
Enumerator:
PINCELLS 
INVALIDINPUT 
EMAT 
EGEOMTYPE 
EGEOMENGINE 
ENEGATIVE 
EALIAS 
EPIN 

Definition at line 128 of file AssyMesher.hpp.


Constructor & Destructor Documentation

AssyMesher ( MKCore mkcore,
const MEntVector me_vec 
)

Definition at line 27 of file AssyMesher.cpp.

~AssyMesher ( ) [virtual]

Definition at line 53 of file AssyMesher.cpp.


Member Function Documentation

bool add_modelent ( ModelEnt model_ent) [virtual]

Re-implemented here so we can check topological dimension of model_ent.

Parameters:
model_entModelEnt being added

Reimplemented from MeshOp.

Definition at line 56 of file AssyMesher.cpp.

bool can_mesh ( iBase_EntityType  dim) [inline, static]

Function returning whether this scheme can mesh entities of t the specified dimension.

Parameters:
dimentity dimension

Definition at line 181 of file AssyMesher.hpp.

bool can_mesh ( ModelEnt me) [inline, static]

Function returning whether this scheme can mesh the specified entity.

Used by MeshOpFactory to find scheme for an entity.

Parameters:
meModelEnt being queried
Returns:
If true, this scheme can mesh the specified ModelEnt

Definition at line 188 of file AssyMesher.hpp.

void createMaterialNeumannSets ( std::set< std::string > const &  matFilter) [private]

Definition at line 1091 of file AssyMesher.cpp.

void createMaterialNeumannSets ( ) [private]

Definition at line 1123 of file AssyMesher.cpp.

void execute_this ( ) [virtual]

The only setup/execute function we need, since meshing vertices is trivial.

Implements GraphNode.

Definition at line 259 of file AssyMesher.cpp.

void IOErrorHandler ( ErrorStates  ECode) const [private]

Function: Displays error messages related to input data
Input: Error code
Output: none

Definition at line 1001 of file AssyMesher.cpp.

const moab::EntityType * mesh_types_arr ( ) const [inline, virtual]

Return the mesh entity types operated on by this scheme.

Returns:
array terminated with moab::MBMAXTYPE

Implements MeshOp.

Definition at line 193 of file AssyMesher.hpp.

const char * name ( ) [inline, static]

Get class name.

Definition at line 176 of file AssyMesher.hpp.

const moab::EntityType * output_types ( ) [static]

Get list of mesh entity types that can be generated.

Returns:
array terminated with moab::MBMAXTYPE

Definition at line 24 of file AssyMesher.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.

Definition at line 279 of file AssyMesher.cpp.

void ReadPinCellData ( int  i)

Read pincell data input file.

Definition at line 744 of file AssyMesher.cpp.

std::vector< iGeom::EntityHandle > * selectByMaterialsAndNameSuffix ( std::vector< iGeom::EntityHandle > const &  geoEntVec,
std::set< std::string > const &  matFilter,
const char *  suffix 
) const [private]

Definition at line 1034 of file AssyMesher.cpp.

void setup_this ( ) [virtual]

Setup is a no-op, but must be provided since it's pure virtual.

Implements GraphNode.

Definition at line 61 of file AssyMesher.cpp.


Member Data Documentation

std::set<std::string> allMtrlsSet [private]

Definition at line 163 of file AssyMesher.hpp.

std::vector<iBase_EntityHandle> assms [private]

Definition at line 110 of file AssyMesher.hpp.

bool have_common [private]

Definition at line 121 of file AssyMesher.hpp.

iGeom* igeom [private]

iGeom Impl for calling geometry creation/manipulation operations

Definition at line 101 of file AssyMesher.hpp.

iMesh* imesh [private]

iMesh Impl for calling mesh creation/manipulation operations

Definition at line 104 of file AssyMesher.hpp.

std::vector<iBase_EntityHandle> in_pins [private]

Definition at line 110 of file AssyMesher.hpp.

CMatrix<std::string> m_Assembly [private]

Definition at line 134 of file AssyMesher.hpp.

std::string m_Card [private]

Definition at line 125 of file AssyMesher.hpp.

double m_dAxialSize [private]

Definition at line 160 of file AssyMesher.hpp.

CMatrix<double> m_dMAssmPitch [private]

Definition at line 140 of file AssyMesher.hpp.

CMatrix<double> m_dMAssmPitchX [private]

Definition at line 140 of file AssyMesher.hpp.

CMatrix<double> m_dMAssmPitchY [private]

Definition at line 140 of file AssyMesher.hpp.

double m_dMergeTol [private]

Definition at line 160 of file AssyMesher.hpp.

CMatrix<double> m_dMTopSurfCoords [private]

Definition at line 137 of file AssyMesher.hpp.

CMatrix<double> m_dMXYAssm [private]

Definition at line 140 of file AssyMesher.hpp.

CMatrix<double> m_dMZAssm [private]

Definition at line 140 of file AssyMesher.hpp.

double m_dPitch [private]

Definition at line 160 of file AssyMesher.hpp.

double m_dRadialSize [private]

Definition at line 160 of file AssyMesher.hpp.

double m_dTetMeshSize [private]

Definition at line 160 of file AssyMesher.hpp.

std::ifstream m_FileCommon [private]

Definition at line 116 of file AssyMesher.hpp.

std::ifstream m_FileInput [private]

Definition at line 116 of file AssyMesher.hpp.

std::string m_GeomFile [private]

Definition at line 124 of file AssyMesher.hpp.

std::string m_InputFile [private]

Definition at line 124 of file AssyMesher.hpp.

mstream m_LogFile [private]

Definition at line 117 of file AssyMesher.hpp.

std::string m_LogName [private]

Definition at line 124 of file AssyMesher.hpp.

std::string m_MeshFile [private]

Definition at line 124 of file AssyMesher.hpp.

std::string m_MeshType [private]

Definition at line 124 of file AssyMesher.hpp.

int m_nAssemblyMat [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nDimensions [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nDuct [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nDuctNum [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nJouFlag [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nLineNumber [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nMaterialSetId [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nNeumannSetId [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nPincells [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nPlanar [private]

Definition at line 156 of file AssyMesher.hpp.

int m_nSides [private]

Definition at line 113 of file AssyMesher.hpp.

std::string m_OutFile [private]

Definition at line 124 of file AssyMesher.hpp.

Definition at line 147 of file AssyMesher.hpp.

CVector<std::string> m_szAssmMat [private]

Definition at line 143 of file AssyMesher.hpp.

CVector<std::string> m_szAssmMatAlias [private]

Definition at line 143 of file AssyMesher.hpp.

std::string m_szCommonFile [private]

Definition at line 124 of file AssyMesher.hpp.

std::string m_szEngine [private]

Definition at line 150 of file AssyMesher.hpp.

std::string m_szGeomType [private]

Definition at line 151 of file AssyMesher.hpp.

std::string m_szMeshType [private]

Definition at line 152 of file AssyMesher.hpp.

CMatrix<std::string> m_szMMAlias [private]

Definition at line 144 of file AssyMesher.hpp.

std::string m_szSideset [private]

Definition at line 153 of file AssyMesher.hpp.

int MAXCHARS [private]

Definition at line 120 of file AssyMesher.hpp.

moab::Interface* mb [private]

MOAB Impl for calling mesh creation/manipulation operations.

Definition at line 107 of file AssyMesher.hpp.

double pi [private]

Definition at line 160 of file AssyMesher.hpp.

std::string szComment [private]

Definition at line 119 of file AssyMesher.hpp.

std::string szInputString [private]

Definition at line 118 of file AssyMesher.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines