NetDEM v1.0
|
A class representing a domain splitter for tetrahedral meshes. More...
#include <tetmesh_splittor.hpp>
Public Member Functions | |
TetMeshSplittor () | |
Constructs a new TetMeshSplittor object. | |
void | InitFromSTL (STLModel const &stl_model, int num_ele_each) override |
Initializes the splitter from an STL model and a requested number of elements per tetrahedron. | |
void | GetPeriDigmNodes (VecXT< Vec3d > *const nodes, VecXT< double > *const node_vols) override |
Gets the nodes and node volumes for the Peridigm simulation. | |
void | MakePorosity (double porosity) override |
Makes the mesh porous by removing a specified fraction of the tetrahedra. | |
STLModel | GetSTLModel () override |
Gets the STL model for the splitter. | |
STLModel | GetSTLModel (const VecXT< int > &tet_indices) override |
Gets a subset of the STL model corresponding to a set of tetrahedral indices. | |
Public Member Functions inherited from netdem::DomainSplittor | |
DomainSplittor () | |
Default constructor. | |
virtual void | InitFromSTL (std::string const &stl_file, int num_ele_each) |
Initializes the domain splitter from an STL file. | |
virtual | ~DomainSplittor () |
Virtual destructor. | |
Public Attributes | |
TetMesh | tetmesh |
The tetrahedral mesh used by the splitter. | |
A class representing a domain splitter for tetrahedral meshes.
The TetMeshSplittor class represents a domain splitter for tetrahedral meshes. It derives from the DomainSplittor abstract base class and provides implementation for the methods required by that class.
netdem::TetMeshSplittor::TetMeshSplittor | ( | ) |
Constructs a new TetMeshSplittor object.
|
overridevirtual |
Gets the nodes and node volumes for the Peridigm simulation.
This method gets the nodes and node volumes for the Peridigm simulation from the tetrahedral mesh, storing them in the provided vectors.
nodes | The vector to store the nodes in. |
node_vols | The vector to store the node volumes in. |
Implements netdem::DomainSplittor.
|
overridevirtual |
Gets the STL model for the splitter.
This method gets the original STL model used to initialize the splitter.
Implements netdem::DomainSplittor.
Gets a subset of the STL model corresponding to a set of tetrahedral indices.
This method gets a subset of the original STL model used to initialize the splitter, corresponding to a set of tetrahedral indices.
tet_indices | The set of tetrahedral indices to get the corresponding STL subset for. |
Implements netdem::DomainSplittor.
|
overridevirtual |
Initializes the splitter from an STL model and a requested number of elements per tetrahedron.
This method initializes the splitter from an STL model and a requested number of elements per tetrahedron, breaking down the mesh into smaller elements as necessary.
stl_model | The STL model to use for initialization. |
num_ele_each | The requested number of elements to use per tetrahedron. |
Implements netdem::DomainSplittor.
|
overridevirtual |
Makes the mesh porous by removing a specified fraction of the tetrahedra.
This method makes the mesh porous by randomly removing a specified fraction of the tetrahedra from the mesh.
porosity | The desired porosity fraction. |
Implements netdem::DomainSplittor.
TetMesh netdem::TetMeshSplittor::tetmesh |
The tetrahedral mesh used by the splitter.