Chaste
Build::
|
#include <DiscreteContinuumMeshGenerator.hpp>
Public Member Functions | |
DiscreteContinuumMeshGenerator () | |
~DiscreteContinuumMeshGenerator () | |
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > | GetMesh () |
void | SetDomain (boost::shared_ptr< Part< SPACE_DIM > > pDomain) |
void | SetDomain (vtkSmartPointer< vtkPolyData > pDomain) |
void | SetDomain (const std::string &rPathToStl) |
void | SetMaxElementArea (units::quantity< unit::volume > maxElementArea) |
void | SetHoles (std::vector< DimensionalChastePoint< SPACE_DIM > > holes) |
void | SetRegionMarkers (std::vector< DimensionalChastePoint< SPACE_DIM > > regionMarkers) |
void | Update () |
Static Public Member Functions | |
static boost::shared_ptr< DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM > > | Create () |
Private Member Functions | |
void | Mesh2d () |
void | Mesh3d () |
void | MeshStl3d () |
void | InitialiseTriangulateIo (triangulateio &mesherIo) |
void | FreeTriangulateIo (triangulateio &mesherIo) |
Private Attributes | |
units::quantity< unit::volume > | mMaxElementArea |
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > | mpMesh |
boost::shared_ptr< Part< SPACE_DIM > > | mpDomain |
vtkSmartPointer< vtkPolyData > | mpVtkDomain |
std::string | mStlFilePath |
std::vector< DimensionalChastePoint< SPACE_DIM > > | mHoles |
std::vector< DimensionalChastePoint< SPACE_DIM > > | mRegions |
std::vector< unsigned > | mAttributes |
units::quantity< unit::length > | mReferenceLength |
This class is for generating 2d and 3d finite element meshes using triangle and tetgen.
Definition at line 59 of file DiscreteContinuumMesh.hpp.
DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::DiscreteContinuumMeshGenerator | ( | ) |
Constructor
Definition at line 55 of file DiscreteContinuumMeshGenerator.cpp.
DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::~DiscreteContinuumMeshGenerator | ( | ) |
Destructor
Definition at line 77 of file DiscreteContinuumMeshGenerator.cpp.
|
static |
Factory constructor method
Definition at line 70 of file DiscreteContinuumMeshGenerator.cpp.
|
private |
This is the same as the TetrahedralMesh implementation of InitialiseTriangulateIo but avoids some templating
mesherIo | the mesher input |
Definition at line 516 of file DiscreteContinuumMeshGenerator.cpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d().
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::GetMesh | ( | ) |
Return the mesh
Definition at line 83 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpMesh.
Referenced by ImageToMesh< DIM >::Update().
|
private |
This is the same as the TetrahedralMesh implementation of InitialiseTriangulateIo but avoids some templating
mesherIo | the mesher input |
Definition at line 496 of file DiscreteContinuumMeshGenerator.cpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d().
|
private |
Use triangle for 2-D meshing
Definition at line 192 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::FreeTriangulateIo(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::InitialiseTriangulateIo(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mAttributes, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mHoles, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mMaxElementArea, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpDomain, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpMesh, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpVtkDomain, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mReferenceLength, and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mRegions.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
|
private |
Use tetgen for 3-D meshing
Definition at line 365 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mHoles, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mMaxElementArea, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpDomain, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpMesh, and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mReferenceLength.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
|
private |
Use tetgen for 3-D meshing of an stl
Definition at line 456 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mHoles, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mMaxElementArea, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpMesh, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mReferenceLength, and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mStlFilePath.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain | ( | boost::shared_ptr< Part< SPACE_DIM > > | pDomain | ) |
Set the domain for meshing
pDomain | the domain for meshing |
Definition at line 93 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpDomain.
Referenced by ImageToMesh< DIM >::Update().
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain | ( | vtkSmartPointer< vtkPolyData > | pDomain | ) |
Set the domain for meshing
pDomain | the domain for meshing |
Definition at line 99 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpVtkDomain.
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain | ( | const std::string & | rPathToStl | ) |
Set the domain for meshing
rPathToStl | the path to the stl for meshing |
Definition at line 105 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mStlFilePath.
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetHoles | ( | std::vector< DimensionalChastePoint< SPACE_DIM > > | holes | ) |
Set the hole locations
holes | hole locations |
Definition at line 117 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mHoles.
Referenced by ImageToMesh< DIM >::Update().
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetMaxElementArea | ( | units::quantity< unit::volume > | maxElementArea | ) |
Set the max element area
maxElementArea | the max element area |
Definition at line 111 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mMaxElementArea.
Referenced by ImageToMesh< DIM >::Update().
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetRegionMarkers | ( | std::vector< DimensionalChastePoint< SPACE_DIM > > | regionMarkers | ) |
Set the region marker locations
regionMarkers | region marker locations |
Definition at line 123 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mRegions.
Referenced by ImageToMesh< DIM >::Update().
void DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update | ( | ) |
Do the meshing
Definition at line 129 of file DiscreteContinuumMeshGenerator.cpp.
References DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpDomain, DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpMesh, and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::mpVtkDomain.
Referenced by ImageToMesh< DIM >::Update().
|
private |
Store element-wise region markers
Definition at line 108 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d().
|
private |
A collection of hole location markers
Definition at line 98 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetHoles().
|
private |
Max area argument used in mesh generation.
Definition at line 73 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetMaxElementArea().
|
private |
A part to be meshed. This may not be the final mesh geometry if extra vtk polydata is included.
Definition at line 83 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
|
private |
The mesh
Definition at line 78 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::GetMesh(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
|
private |
A vtk surface to be meshed
Definition at line 88 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Update().
|
private |
The reference length scale for the mesh
Definition at line 113 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh3d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d().
|
private |
A collection of region markers
Definition at line 103 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::Mesh2d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetRegionMarkers().
|
private |
A path to an stl surface to be meshed
Definition at line 93 of file DiscreteContinuumMeshGenerator.hpp.
Referenced by DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::MeshStl3d(), and DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM >::SetDomain().