MeshKit  1.0
AssyGen Class Reference

#include <AssyGen.hpp>

Inheritance diagram for AssyGen:

List of all members.

Classes

struct  superblocks

Public Types

enum  ErrorStates {
  PINCELLS, INVALIDINPUT, EMAT, EGEOMTYPE,
  EGEOMENGINE, ENEGATIVE, EALIAS, EPIN,
  EUNEQUAL
}

Public Member Functions

 AssyGen (MKCore *mk, const MEntVector &me_vec)
virtual ~AssyGen ()
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 ReadCommonInp ()
 Read the common.inp file common.inp is hardcoded name.
void ReadInputPhase1 ()
 Read the command based text input file input file.
void ReadAndCreate ()
 Keep reading input file and create input file.
void CreateAssyGenInputFiles ()
 Create assygen input files based on material sets specified in master assygen input file.
void Name_Faces (const std::string sMatName, const iBase_EntityHandle body, iBase_TagHandle this_tag)
 Name the surface created material name from input file, surface entity, name tag.
void Center_Assm (char &)
 Move the assembly to the center direction.
void Section_Assm (char &, double &, const std::string)
 Section assembly direction, offset, reverse/forward.
void Rotate_Assm (char &, double &)
 Rotate assembly direction, angle.
void Move_Assm (double &, double &, double &)
 Move assembly X, Y, Z distance.
void Create_HexAssm (std::string &)
 Create hexagonal assembly data from input file.
void Create_CartAssm (std::string &)
 Create cartesian or rectangular assembly data from input file.
void CreateOuterCovering ()
 Create outermost ducts data from input file.
void Imprint_Merge (bool, bool)
 Merge and impring the geometry creaed geometry created.
void Subtract_Pins ()
 Subtract the pins from innermost duct geometry entities.
void Create2DSurf ()
 Get the top surface from 3D assembly geometry pins, ducts.
void ReadPinCellData (int i)
 Read pincell data input file.
void CreatePinCell_Intersect (int i, double dX, double dY, double dZ)
 Create pincell i, pincell intersects the assembly i and location.
void CreatePinCell (int i, double dX, double dY, double dZ)
 Create pincell i i and location.
void CreateCubitJournal ()
 Write cubit journal file information read from text based input file.
void ComputePinCentroid (int, CMatrix< std::string >, int, int, double &, double &, double &)
 Computes the location of the pincells in the assembly pin-number and location of the pincell.

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 Member Functions

void IOErrorHandler (ErrorStates) const

Private Attributes

iGeomigeomImpl
int m_nSides
std::ifstream m_FileInput
std::ifstream m_FileCommon
std::ofstream m_FileOutput
std::ofstream m_SchemesFile
std::ofstream m_AssmInfo
std::ofstream m_PyCubGeomFile
std::string m_szSmooth
std::string m_szAssmInfo
std::string m_szLogFile
std::string m_szCommonFile
std::string m_szFile
std::string m_szInFile
std::string m_szGeomFile
std::string m_szGeomFile1
std::string m_szJouFile
std::string m_szSchFile
std::string m_szPyCubGeom
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
CVector< double > m_dAxialSize
CVector< double > m_dBLMatBias
std::string m_szEngine
std::string m_szGeomType
std::string m_szMeshType
std::string m_szSideset
std::vector< std::string > m_szDuctMats
int m_nAssemblyMat
int m_nDimensions
int m_nPincells
int m_nAssmVol
int m_nPin
int m_nPinX
int m_nPinY
int err
int m_nLineNumber
int m_nPlanar
int m_nNeumannSetId
int m_nMaterialSetId
int m_nDuct
int m_nDuctNum
int m_nJouFlag
int m_nAssyGenInputFiles
int m_nTotalPincells
double m_dPitch
double pi
double m_dRadialSize
double m_dTetMeshSize
double m_dMergeTol
double m_dZstart
double m_dZend
SimpleArray< iBase_EntityHandle > assms
SimpleArray< iBase_EntityHandle > in_pins
iBase_EntitySetHandle root_set
int m_nSuperBlocks
CVector< superblockssb
int tmpSB
std::string szInputString
std::string szComment
int MAXCHARS
int MAXLINES
std::vector< std::vector
< iBase_EntityHandle > > 
cp_inpins
CVector< std::string > m_szBLAssmMat
CVector< int > m_nListMatSet
CVector< int > m_nListNeuSet
CVector< int > m_nBLMatIntervals
int m_edgeInterval
int m_nStartpinid
std::string m_szInfo
std::string m_szMeshScheme
std::string pin_name
int m_nHblock
bool m_bCreateMatFiles
bool save_exodus
bool m_bmerge
bool m_bimprint
bool have_common
int com_run_count
int m_nBLAssemblyMat
std::string m_szInnerDuct

Friends

class CPincell

Detailed Description

Examples:
example_assygen.cpp.

Definition at line 53 of file AssyGen.hpp.


Member Enumeration Documentation

Enumerator:
PINCELLS 
INVALIDINPUT 
EMAT 
EGEOMTYPE 
EGEOMENGINE 
ENEGATIVE 
EALIAS 
EPIN 
EUNEQUAL 

Definition at line 67 of file AssyGen.hpp.


Constructor & Destructor Documentation

AssyGen ( MKCore mk,
const MEntVector me_vec 
)

Definition at line 23 of file AssyGen.cpp.

~AssyGen ( ) [virtual]

Definition at line 69 of file AssyGen.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 84 of file AssyGen.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 314 of file AssyGen.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 319 of file AssyGen.hpp.

void Center_Assm ( char &  rDir)

Move the assembly to the center direction.

Definition at line 1944 of file AssyGen.cpp.

void ComputePinCentroid ( int  nTempPin,
CMatrix< std::string >  MAssembly,
int  m,
int  n,
double &  dX,
double &  dY,
double &  dZ 
)

Computes the location of the pincells in the assembly pin-number and location of the pincell.

Definition at line 1707 of file AssyGen.cpp.

void Create2DSurf ( )

Get the top surface from 3D assembly geometry pins, ducts.

Definition at line 2669 of file AssyGen.cpp.

void Create_CartAssm ( std::string &  szInputString)

Create cartesian or rectangular assembly data from input file.

Definition at line 2265 of file AssyGen.cpp.

void Create_HexAssm ( std::string &  szInputString)

Create hexagonal assembly data from input file.

Definition at line 2124 of file AssyGen.cpp.

Create assygen input files based on material sets specified in master assygen input file.

Definition at line 1591 of file AssyGen.cpp.

Write cubit journal file information read from text based input file.

Definition at line 6 of file meshscript.cpp.

Create outermost ducts data from input file.

Definition at line 2391 of file AssyGen.cpp.

void CreatePinCell ( int  i,
double  dX,
double  dY,
double  dZ 
)

Create pincell i i and location.

Definition at line 7 of file createpincell.cpp.

void CreatePinCell_Intersect ( int  i,
double  dX,
double  dY,
double  dZ 
)

Create pincell i, pincell intersects the assembly i and location.

Definition at line 489 of file createpincell.cpp.

void execute_this ( ) [virtual]

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

Implements GraphNode.

Definition at line 127 of file AssyGen.cpp.

void Imprint_Merge ( bool  if_merge,
bool  if_imprint 
)

Merge and impring the geometry creaed geometry created.

Definition at line 2628 of file AssyGen.cpp.

void IOErrorHandler ( ErrorStates  ECode) const [private]

Definition at line 1785 of file AssyGen.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 324 of file AssyGen.hpp.

void Move_Assm ( double &  dX,
double &  dY,
double &  dZ 
)

Move assembly X, Y, Z distance.

Definition at line 2100 of file AssyGen.cpp.

const char * name ( ) [inline, static]

Get class name.

Definition at line 309 of file AssyGen.hpp.

void Name_Faces ( const std::string  sMatName,
const iBase_EntityHandle  body,
iBase_TagHandle  this_tag 
)

Name the surface created material name from input file, surface entity, name tag.

Definition at line 1820 of file AssyGen.cpp.

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 20 of file AssyGen.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.

Examples:
example_assygen.cpp.

Definition at line 132 of file AssyGen.cpp.

void ReadAndCreate ( )

Keep reading input file and create input file.

Definition at line 1141 of file AssyGen.cpp.

void ReadCommonInp ( )

Read the common.inp file common.inp is hardcoded name.

Definition at line 371 of file AssyGen.cpp.

void ReadInputPhase1 ( )

Read the command based text input file input file.

Definition at line 546 of file AssyGen.cpp.

void ReadPinCellData ( int  i)

Read pincell data input file.

Definition at line 744 of file AssyGen.cpp.

void Rotate_Assm ( char &  cDir,
double &  dAngle 
)

Rotate assembly direction, angle.

Definition at line 2068 of file AssyGen.cpp.

void Section_Assm ( char &  cDir,
double &  dOffset,
const std::string  szReverse 
)

Section assembly direction, offset, reverse/forward.

Definition at line 2009 of file AssyGen.cpp.

void setup_this ( ) [virtual]

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

Implements GraphNode.

Definition at line 89 of file AssyGen.cpp.

void Subtract_Pins ( )

Subtract the pins from innermost duct geometry entities.

Definition at line 2537 of file AssyGen.cpp.


Friends And Related Function Documentation

friend class CPincell [friend]

Definition at line 272 of file AssyGen.hpp.


Member Data Documentation

SimpleArray<iBase_EntityHandle> assms [private]

Definition at line 265 of file AssyGen.hpp.

int com_run_count [private]

Definition at line 304 of file AssyGen.hpp.

std::vector< std::vector<iBase_EntityHandle> > cp_inpins [private]

Definition at line 290 of file AssyGen.hpp.

int err [private]

Definition at line 258 of file AssyGen.hpp.

bool have_common [private]

Definition at line 303 of file AssyGen.hpp.

iGeom* igeomImpl [private]

Definition at line 218 of file AssyGen.hpp.

SimpleArray<iBase_EntityHandle> in_pins [private]

Definition at line 265 of file AssyGen.hpp.

CMatrix<std::string> m_Assembly [private]

Definition at line 234 of file AssyGen.hpp.

std::ofstream m_AssmInfo [private]

Definition at line 227 of file AssyGen.hpp.

bool m_bCreateMatFiles [private]

Definition at line 301 of file AssyGen.hpp.

bool m_bimprint [private]

Definition at line 302 of file AssyGen.hpp.

bool m_bmerge [private]

Definition at line 302 of file AssyGen.hpp.

CVector<double> m_dAxialSize [private]

Definition at line 249 of file AssyGen.hpp.

CVector<double> m_dBLMatBias [private]

Definition at line 249 of file AssyGen.hpp.

CMatrix<double> m_dMAssmPitch [private]

Definition at line 240 of file AssyGen.hpp.

CMatrix<double> m_dMAssmPitchX [private]

Definition at line 240 of file AssyGen.hpp.

CMatrix<double> m_dMAssmPitchY [private]

Definition at line 240 of file AssyGen.hpp.

double m_dMergeTol [private]

Definition at line 262 of file AssyGen.hpp.

CMatrix<double> m_dMTopSurfCoords [private]

Definition at line 237 of file AssyGen.hpp.

CMatrix<double> m_dMXYAssm [private]

Definition at line 240 of file AssyGen.hpp.

CMatrix<double> m_dMZAssm [private]

Definition at line 240 of file AssyGen.hpp.

double m_dPitch [private]

Definition at line 262 of file AssyGen.hpp.

double m_dRadialSize [private]

Definition at line 262 of file AssyGen.hpp.

double m_dTetMeshSize [private]

Definition at line 262 of file AssyGen.hpp.

double m_dZend [private]

Definition at line 262 of file AssyGen.hpp.

double m_dZstart [private]

Definition at line 262 of file AssyGen.hpp.

int m_edgeInterval [private]

Definition at line 295 of file AssyGen.hpp.

std::ifstream m_FileCommon [private]

Definition at line 224 of file AssyGen.hpp.

std::ifstream m_FileInput [private]

Definition at line 224 of file AssyGen.hpp.

std::ofstream m_FileOutput [private]

Definition at line 227 of file AssyGen.hpp.

int m_nAssemblyMat [private]

Definition at line 258 of file AssyGen.hpp.

int m_nAssmVol [private]

Definition at line 258 of file AssyGen.hpp.

int m_nAssyGenInputFiles [private]

Definition at line 258 of file AssyGen.hpp.

int m_nBLAssemblyMat [private]

Definition at line 305 of file AssyGen.hpp.

CVector<int> m_nBLMatIntervals [private]

Definition at line 293 of file AssyGen.hpp.

int m_nDimensions [private]

Definition at line 258 of file AssyGen.hpp.

int m_nDuct [private]

Definition at line 258 of file AssyGen.hpp.

int m_nDuctNum [private]

Definition at line 258 of file AssyGen.hpp.

int m_nHblock [private]

Definition at line 300 of file AssyGen.hpp.

int m_nJouFlag [private]

Definition at line 258 of file AssyGen.hpp.

int m_nLineNumber [private]

Definition at line 258 of file AssyGen.hpp.

CVector<int> m_nListMatSet [private]

Definition at line 293 of file AssyGen.hpp.

CVector<int> m_nListNeuSet [private]

Definition at line 293 of file AssyGen.hpp.

int m_nMaterialSetId [private]

Definition at line 258 of file AssyGen.hpp.

int m_nNeumannSetId [private]

Definition at line 258 of file AssyGen.hpp.

int m_nPin [private]

Definition at line 258 of file AssyGen.hpp.

int m_nPincells [private]

Definition at line 258 of file AssyGen.hpp.

int m_nPinX [private]

Definition at line 258 of file AssyGen.hpp.

int m_nPinY [private]

Definition at line 258 of file AssyGen.hpp.

int m_nPlanar [private]

Definition at line 258 of file AssyGen.hpp.

int m_nSides [private]

Definition at line 221 of file AssyGen.hpp.

int m_nStartpinid [private]

Definition at line 296 of file AssyGen.hpp.

int m_nSuperBlocks [private]

Definition at line 281 of file AssyGen.hpp.

int m_nTotalPincells [private]

Definition at line 258 of file AssyGen.hpp.

Definition at line 247 of file AssyGen.hpp.

std::ofstream m_PyCubGeomFile [private]

Definition at line 227 of file AssyGen.hpp.

std::ofstream m_SchemesFile [private]

Definition at line 227 of file AssyGen.hpp.

std::string m_szAssmInfo [private]

Definition at line 230 of file AssyGen.hpp.

CVector<std::string> m_szAssmMat [private]

Definition at line 243 of file AssyGen.hpp.

CVector<std::string> m_szAssmMatAlias [private]

Definition at line 243 of file AssyGen.hpp.

CVector<std::string> m_szBLAssmMat [private]

Definition at line 292 of file AssyGen.hpp.

std::string m_szCommonFile [private]

Definition at line 230 of file AssyGen.hpp.

std::vector<std::string> m_szDuctMats [private]

Definition at line 256 of file AssyGen.hpp.

std::string m_szEngine [private]

Definition at line 252 of file AssyGen.hpp.

std::string m_szFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szGeomFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szGeomFile1 [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szGeomType [private]

Definition at line 253 of file AssyGen.hpp.

std::string m_szInFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szInfo [private]

Definition at line 297 of file AssyGen.hpp.

std::string m_szInnerDuct [private]

Definition at line 306 of file AssyGen.hpp.

std::string m_szJouFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szLogFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szMeshScheme [private]

Definition at line 298 of file AssyGen.hpp.

std::string m_szMeshType [private]

Definition at line 254 of file AssyGen.hpp.

CMatrix<std::string> m_szMMAlias [private]

Definition at line 244 of file AssyGen.hpp.

std::string m_szPyCubGeom [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szSchFile [private]

Definition at line 230 of file AssyGen.hpp.

std::string m_szSideset [private]

Definition at line 255 of file AssyGen.hpp.

std::string m_szSmooth [private]

Definition at line 230 of file AssyGen.hpp.

int MAXCHARS [private]

Definition at line 288 of file AssyGen.hpp.

int MAXLINES [private]

Definition at line 288 of file AssyGen.hpp.

double pi [private]

Definition at line 262 of file AssyGen.hpp.

std::string pin_name [private]

Definition at line 299 of file AssyGen.hpp.

iBase_EntitySetHandle root_set [private]

Definition at line 267 of file AssyGen.hpp.

bool save_exodus [private]

Definition at line 302 of file AssyGen.hpp.

CVector<superblocks> sb [private]

Definition at line 282 of file AssyGen.hpp.

std::string szComment [private]

Definition at line 287 of file AssyGen.hpp.

std::string szInputString [private]

Definition at line 286 of file AssyGen.hpp.

int tmpSB [private]

Definition at line 283 of file AssyGen.hpp.


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