Importer for tetrahedral meshes in notation which was used in [1]. More...
#include <mesh.hh>


Classes | |
| class | S |
| class | Tet |
Public Member Functions | |
| Import3DTetMesh (const std::string coord, const std::string elms, const std::string dirichlet, const bool leftHand=false) | |
| Constructor. | |
| virtual uint | ncell () const |
| Returns the number of cells in the mesh. | |
| virtual Scan3 * | scan () |
| Returns a scanner over the cells of the mesh. | |
| virtual | ~Import3DTetMesh () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| Triangle * | createTriangle_ (const uint x, const uint y, const uint z, const std::map< unsigned long long int, Edge * > &edges, const uint bc=0) const |
| unsigned long long int | threeIndex_ (const uint x, const uint y, const uint z) const |
| unsigned long long int | twoIndex_ (const uint j, const uint k) const |
Private Attributes | |
| std::vector< Tetrahedron3d * > | cell_ |
| std::vector< Edge * > | edg_ |
| std::vector< Tetrahedron * > | tet_ |
| std::vector< Triangle * > | tri_ |
| std::vector< Vertex * > | vtx_ |
Importer for tetrahedral meshes in notation which was used in [1].
If the check for the Jacobian gives an error, the order of the triangles and vertices has to be changed.
| concepts::Import3DTetMesh::Import3DTetMesh | ( | const std::string | coord, |
| const std::string | elms, | ||
| const std::string | dirichlet, | ||
| const bool | leftHand = false |
||
| ) |
Constructor.
Takes 3 files with coordinates of the vertices, node numbers of the elements (tetrahedrons) and node numbers of the triangles which have homogeneous Dirichlet bc.
| coord | Filename for the coordinates. Format: <node> <x> <y> <z>For instance: 1 1.0 1.0 1.0 2 0.0 0.5 2.0 |
| elms | Filename for the elements. Format: <nr> <node 1> <node 2> <node 3> <node 4> |
| dirichlet | Filename for triangles with homogeneous Dirichlet bc. Format: <nr> <node 1> <node 2> <node 3> |
| leftHand | Ordering of the node numbers |
| virtual concepts::Import3DTetMesh::~Import3DTetMesh | ( | ) | [virtual] |
| Triangle* concepts::Import3DTetMesh::createTriangle_ | ( | const uint | x, |
| const uint | y, | ||
| const uint | z, | ||
| const std::map< unsigned long long int, Edge * > & | edges, | ||
| const uint | bc = 0 |
||
| ) | const [private] |
| virtual std::ostream& concepts::Import3DTetMesh::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::Mesh.
| virtual uint concepts::Import3DTetMesh::ncell | ( | ) | const [inline, virtual] |
Returns the number of cells in the mesh.
Implements concepts::Mesh.
| virtual Scan3* concepts::Import3DTetMesh::scan | ( | ) | [inline, virtual] |
Returns a scanner over the cells of the mesh.
Implements concepts::Mesh3.
| unsigned long long int concepts::Import3DTetMesh::threeIndex_ | ( | const uint | x, |
| const uint | y, | ||
| const uint | z | ||
| ) | const [private] |
| unsigned long long int concepts::Import3DTetMesh::twoIndex_ | ( | const uint | j, |
| const uint | k | ||
| ) | const [private] |
std::vector<Tetrahedron3d*> concepts::Import3DTetMesh::cell_ [private] |
std::vector<Edge*> concepts::Import3DTetMesh::edg_ [private] |
std::vector<Tetrahedron*> concepts::Import3DTetMesh::tet_ [private] |
std::vector<Triangle*> concepts::Import3DTetMesh::tri_ [private] |
std::vector<Vertex*> concepts::Import3DTetMesh::vtx_ [private] |