TexGen
|
Class used to generate voxel mesh for output to ABAQUS. More...
#include <RectangularVoxelMesh.h>
Public Member Functions | |
CRectangularVoxelMesh (string Type="CPeriodicBoundaries") | |
virtual | ~CRectangularVoxelMesh (void) |
virtual void | SaveVoxelMesh (CTextile &Textile, string OutputFilename, int XVoxNum, int YVoxNum, int ZVoxNum, bool bOutputMatrix, bool bOutputYarns, int iBoundaryConditions, int iElementType=0, int FileType=INP_EXPORT) |
void | AddElementInfo (vector< POINT_INFO > &RowInfo) |
Add a row of element information. More... | |
void | OutputOrientationsAndElementSets (string Filename) |
Outputs yarn orientations and element sets to .ori and .eld files. More... | |
CTextileMaterials & | GetMaterials () |
Protected Member Functions | |
bool | CalculateVoxelSizes (CTextile &Textile) |
Calculate voxel size based on number of voxels on each axis and domain size. More... | |
void | SaveToAbaqus (string Filename, CTextile &Textile, bool bOutputMatrix, bool bOutputYarn, int iBoundaryConditions, int iElementType) |
void | OutputNodes (ostream &Output, CTextile &Textile, int Filetype=INP_EXPORT) |
Outputs nodes to .inp file and gets element information. More... | |
void | OutputOrientationsAndElementSets (string Filename, ostream &Output) |
Outputs yarn orientations and element sets to .ori and .eld files. More... | |
void | SaveVoxelMeshToVTK (string Filename, CTextile &Textile) |
Add nodes for whole domain. More... | |
void | SaveToSCIRun (string Filename, CTextile &Textile) |
Save voxel mesh in SCIRun .pts and .hex format without boundary conditions. More... | |
virtual int | OutputHexElements (ostream &Output, bool bOutputMatrix, bool bOutputYarn, int Filetype=INP_EXPORT) |
Output hex elements to .inp file. More... | |
void | OutputMatrixElementSet (string Filename, ostream &Output, int iNumHexElements, bool bMatrixOnly) |
Outputs all elements when only outputting matrix. More... | |
void | OutputAllNodesSet (string Filename, ostream &Output) |
Output node set containing all nodes. More... | |
virtual void | OutputPeriodicBoundaries (ostream &Output, CTextile &Textile, int iBoundaryConditions, bool bMatrixOnly) |
Output periodic boundary conditions to .inp file. More... | |
Protected Attributes | |
double | m_VoxSize [3] |
Voxel size for each axis. More... | |
CTextileMaterials | m_Materials |
CMesh | m_Mesh |
Find intersections of yarn surfaces with grid of lines from node points in each axis. More... | |
int | m_XVoxels |
Number of voxels along x,y and z axes. More... | |
int | m_YVoxels |
int | m_ZVoxels |
pair< XYZ, XYZ > | m_DomainAABB |
Domain limits. More... | |
vector< POINT_INFO > | m_ElementsInfo |
Element information as calculated by GetPointInformation. More... | |
CPeriodicBoundaries * | m_PeriodicBoundaries |
Class used to generate voxel mesh for output to ABAQUS.
Definition at line 30 of file RectangularVoxelMesh.h.
CRectangularVoxelMesh::CRectangularVoxelMesh | ( | string | Type = "CPeriodicBoundaries" | ) |
Type | String giving periodic boundary condition type |
Definition at line 29 of file RectangularVoxelMesh.cpp.
|
virtual |
Definition at line 35 of file RectangularVoxelMesh.cpp.
|
inherited |
Add a row of element information.
Definition at line 704 of file VoxelMesh.cpp.
References TexGen::CVoxelMesh::m_ElementsInfo.
|
protectedvirtual |
Calculate voxel size based on number of voxels on each axis and domain size.
Implements TexGen::CVoxelMesh.
Reimplemented in TexGen::CStaggeredVoxelMesh.
Definition at line 40 of file RectangularVoxelMesh.cpp.
References TexGen::CMesh::GetAABB(), TexGen::CTextile::GetDomain(), TexGen::CDomain::GetMesh(), TexGen::CVoxelMesh::m_DomainAABB, m_VoxSize, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, TexGen::XYZ::x, TexGen::XYZ::y, and TexGen::XYZ::z.
Referenced by TexGen::CStaggeredVoxelMesh::CalculateVoxelSizes().
|
inlineinherited |
Definition at line 57 of file VoxelMesh.h.
|
protectedinherited |
Output node set containing all nodes.
Definition at line 584 of file VoxelMesh.cpp.
References TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, and TexGen::CVoxelMesh::m_ZVoxels.
Referenced by TexGen::CVoxelMesh::SaveToAbaqus().
|
protectedvirtualinherited |
Output hex elements to .inp file.
\ return Maximum element index
Reimplemented in TexGen::CPrismVoxelMesh, and TexGen::COctreeVoxelMesh.
Definition at line 399 of file VoxelMesh.cpp.
References TexGen::CMesh::AddElement(), TexGen::CMesh::HEX, TexGen::INP_EXPORT, TexGen::CVoxelMesh::m_ElementsInfo, TexGen::CVoxelMesh::m_Mesh, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, and TexGen::SCIRUN_EXPORT.
Referenced by TexGen::CVoxelMesh::SaveToAbaqus(), TexGen::CVoxelMesh::SaveToSCIRun(), and TexGen::CVoxelMesh::SaveVoxelMeshToVTK().
|
protectedinherited |
Outputs all elements when only outputting matrix.
Definition at line 567 of file VoxelMesh.cpp.
Referenced by TexGen::CVoxelMesh::SaveToAbaqus().
|
protectedvirtual |
Outputs nodes to .inp file and gets element information.
Implements TexGen::CVoxelMesh.
Definition at line 53 of file RectangularVoxelMesh.cpp.
References TexGen::CMesh::AddNode(), TexGen::CTextile::GetPointInformation(), TexGen::INP_EXPORT, TexGen::CVoxelMesh::m_DomainAABB, TexGen::CVoxelMesh::m_ElementsInfo, TexGen::CVoxelMesh::m_Mesh, m_VoxSize, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, TexGen::SCIRUN_EXPORT, TexGen::VTU_EXPORT, TexGen::XYZ::x, TexGen::XYZ::y, and TexGen::XYZ::z.
|
inherited |
Outputs yarn orientations and element sets to .ori and .eld files.
Definition at line 470 of file VoxelMesh.cpp.
References TexGen::AddExtensionIfMissing(), and TexGen::CVoxelMesh::OutputOrientationsAndElementSets().
Referenced by TexGen::CVoxelMesh::OutputOrientationsAndElementSets(), and TexGen::CVoxelMesh::SaveToAbaqus().
|
protectedinherited |
Outputs yarn orientations and element sets to .ori and .eld files.
Definition at line 478 of file VoxelMesh.cpp.
References TexGen::CrossProduct(), TexGen::CVoxelMesh::m_ElementsInfo, TexGen::Normalise(), TexGen::StripPath(), TGERROR, TGLOG, TexGen::WriteElementsHeader(), TexGen::WriteOrientationsHeader(), and TexGen::WriteValues().
|
protectedvirtualinherited |
Output periodic boundary conditions to .inp file.
Reimplemented in TexGen::COctreeVoxelMesh, and TexGen::CStaggeredVoxelMesh.
Definition at line 594 of file VoxelMesh.cpp.
References TexGen::CPeriodicBoundaries::CreatePeriodicBoundaries(), TexGen::CTextile::GetDomain(), TexGen::CDomain::GetMesh(), TexGen::CVoxelMesh::m_PeriodicBoundaries, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, TexGen::CPeriodicBoundaries::SetDomainSize(), TexGen::CPeriodicBoundaries::SetEdges(), TexGen::CPeriodicBoundaries::SetFaceA(), TexGen::CPeriodicBoundaries::SetFaceB(), TexGen::CPeriodicBoundaries::SetFaceC(), and TexGen::CPeriodicBoundaries::SetVertex().
Referenced by TexGen::CVoxelMesh::SaveToAbaqus().
|
protected |
Save voxel mesh in Abaqus .inp format with periodic boundary conditions bOutputMatrix and bOutput yarn specify which of these are saved to the Abaqus file
|
protectedinherited |
Save voxel mesh in SCIRun .pts and .hex format without boundary conditions.
Definition at line 358 of file VoxelMesh.cpp.
References TexGen::CVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputNodes(), TexGen::RemoveExtension(), TexGen::SCIRUN_EXPORT, TGERROR, and TGLOG.
|
virtualinherited |
Save the voxel mesh as an Abaqus input file with periodic boundary conditions
CTextile | Textile - textile to be exported as refined voxel mesh |
string | OutputFilename - filename to save to |
int | XVoxNum - number of voxels in x direction |
int | YVoxNum - number of voxels in y direction |
int | ZVoxNum - number of voxels in z direction |
bOutputMatrix | True to output the matrix area of the mesh |
bOutputYarns | True to output the yarn areas |
iBoundaryConditions | as in enum PERIODIC_BOUNDARY_CONDITIONS |
iElementType | 0 for C3D8R, 1 for C3D8 |
int | Filetype as in enum EXPORT_TYPE |
Definition at line 51 of file VoxelMesh.cpp.
References TexGen::CVoxelMesh::CalculateVoxelSizes(), TexGen::CTimer::check(), TexGen::CTextile::GetDomain(), TexGen::INP_EXPORT, TexGen::CVoxelMesh::m_ElementsInfo, TexGen::CVoxelMesh::m_XVoxels, TexGen::CVoxelMesh::m_YVoxels, TexGen::CVoxelMesh::m_ZVoxels, TexGen::ReplaceFilenameSpaces(), TexGen::CVoxelMesh::SaveToAbaqus(), TexGen::CVoxelMesh::SaveVoxelMeshToVTK(), TexGen::CTimer::start(), TexGen::CTimer::stop(), TGERROR, and TGLOG.
Referenced by TexGen::COctreeVoxelMesh::SaveVoxelMesh().
|
protectedinherited |
Add nodes for whole domain.
Add hex elements Save voxel mesh in VTK format without boundary conditions
Definition at line 246 of file VoxelMesh.cpp.
References TexGen::AddExtensionIfMissing(), TexGen::CMeshDataBase::ELEMENT, TexGen::CMeshData< T >::m_Data, TexGen::CVoxelMesh::m_ElementsInfo, TexGen::CVoxelMesh::m_Mesh, TexGen::CVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputNodes(), TexGen::CMesh::SaveToVTK(), and TexGen::VTU_EXPORT.
Referenced by TexGen::CVoxelMesh::SaveVoxelMesh().
Domain limits.
Definition at line 121 of file VoxelMesh.h.
Referenced by CalculateVoxelSizes(), TexGen::COctreeVoxelMesh::CreateP4ESTRefinement(), TexGen::COctreeVoxelMesh::isBoundary(), OutputNodes(), TexGen::COctreeVoxelMesh::OutputPeriodicBoundaries(), TexGen::COctreeVoxelMesh::SaveVoxelMesh(), and TexGen::COctreeVoxelMesh::smoothing().
|
protectedinherited |
Element information as calculated by GetPointInformation.
Definition at line 123 of file VoxelMesh.h.
Referenced by TexGen::CVoxelMesh::AddElementInfo(), TexGen::COctreeVoxelMesh::checkIndex(), TexGen::COctreeVoxelMesh::extractSurfaceNodeSets(), TexGen::COctreeVoxelMesh::fillMaterialInfo(), TexGen::CPrismVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), TexGen::COctreeVoxelMesh::OutputNodes(), TexGen::CPrismVoxelMesh::OutputNodes(), OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), TexGen::CVoxelMesh::OutputOrientationsAndElementSets(), TexGen::COctreeVoxelMesh::OutputSurfaces(), TexGen::CVoxelMesh::SaveVoxelMesh(), TexGen::CVoxelMesh::SaveVoxelMeshToVTK(), and TexGen::COctreeVoxelMesh::~COctreeVoxelMesh().
|
protectedinherited |
Definition at line 60 of file VoxelMesh.h.
Referenced by TexGen::CVoxelMesh::SaveToAbaqus().
|
protectedinherited |
Find intersections of yarn surfaces with grid of lines from node points in each axis.
Calculate intersections for one orientation of grid lines Output data with iMaxPerLine elements per line Mesh stored when saving to VTK
Definition at line 112 of file VoxelMesh.h.
Referenced by TexGen::CPrismVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), TexGen::CPrismVoxelMesh::OutputNodes(), OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), and TexGen::CVoxelMesh::SaveVoxelMeshToVTK().
|
protectedinherited |
Definition at line 126 of file VoxelMesh.h.
Referenced by TexGen::CVoxelMesh::CVoxelMesh(), TexGen::COctreeVoxelMesh::OutputPeriodicBoundaries(), TexGen::CStaggeredVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::OutputPeriodicBoundaries(), TexGen::CStaggeredVoxelMesh::SetOffset(), and TexGen::CVoxelMesh::~CVoxelMesh().
|
protected |
Voxel size for each axis.
Definition at line 53 of file RectangularVoxelMesh.h.
Referenced by CalculateVoxelSizes(), and OutputNodes().
|
protectedinherited |
Number of voxels along x,y and z axes.
Definition at line 115 of file VoxelMesh.h.
Referenced by TexGen::CPrismVoxelMesh::CalculateVoxelSizes(), CalculateVoxelSizes(), TexGen::CRotatedVoxelMesh::CalculateVoxelSizes(), TexGen::CShearedVoxelMesh::CalculateVoxelSizes(), TexGen::CStaggeredVoxelMesh::CalculateVoxelSizes(), TexGen::COctreeVoxelMesh::ConvertOctreeToNodes(), TexGen::CPrismVoxelMesh::GetElementMap(), TexGen::CVoxelMesh::OutputAllNodesSet(), TexGen::CPrismVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), TexGen::CPrismVoxelMesh::OutputNodes(), OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), TexGen::CStaggeredVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::storePointInfo(), and TexGen::COctreeVoxelMesh::writeTempFile().
|
protectedinherited |
Definition at line 116 of file VoxelMesh.h.
Referenced by TexGen::CPrismVoxelMesh::CalculateVoxelSizes(), CalculateVoxelSizes(), TexGen::CRotatedVoxelMesh::CalculateVoxelSizes(), TexGen::CShearedVoxelMesh::CalculateVoxelSizes(), TexGen::COctreeVoxelMesh::ConvertOctreeToNodes(), TexGen::CVoxelMesh::OutputAllNodesSet(), TexGen::CPrismVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), TexGen::CPrismVoxelMesh::OutputNodes(), OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), TexGen::CStaggeredVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::storePointInfo(), and TexGen::COctreeVoxelMesh::writeTempFile().
|
protectedinherited |
Definition at line 117 of file VoxelMesh.h.
Referenced by TexGen::CPrismVoxelMesh::CalculateVoxelSizes(), CalculateVoxelSizes(), TexGen::CRotatedVoxelMesh::CalculateVoxelSizes(), TexGen::CShearedVoxelMesh::CalculateVoxelSizes(), TexGen::COctreeVoxelMesh::ConvertOctreeToNodes(), TexGen::CPrismVoxelMesh::GetElementMap(), TexGen::CVoxelMesh::OutputAllNodesSet(), TexGen::CPrismVoxelMesh::OutputHexElements(), TexGen::CVoxelMesh::OutputHexElements(), TexGen::CPrismVoxelMesh::OutputNodes(), OutputNodes(), TexGen::CRotatedVoxelMesh::OutputNodes(), TexGen::CShearedVoxelMesh::OutputNodes(), TexGen::CStaggeredVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::OutputPeriodicBoundaries(), TexGen::CVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::SaveVoxelMesh(), TexGen::COctreeVoxelMesh::storePointInfo(), and TexGen::COctreeVoxelMesh::writeTempFile().