Importer for tetrahedral meshes in notation which was used in [1]. More...

#include <mesh.hh>

Inheritance diagram for concepts::Import3DTetMesh:
concepts::Mesh3 concepts::Mesh concepts::OutputOperator

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. More...
 
virtual uint ncell () const
 Returns the number of cells in the mesh. More...
 
virtual Scan3scan ()
 Returns a scanner over the cells of the mesh. More...
 
virtual ~Import3DTetMesh ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Member Functions

TrianglecreateTriangle_ (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_
 

Detailed Description

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.

Deprecated:
Use Import3dMesh instead
See also
[1] Alberty, Carstensen, Funken, Remarks Around 50 Lines of MATLAB: Short Finite Element Implementation, 1998
Author
Philipp Frauenfelder, 2001

Definition at line 169 of file mesh.hh.

Constructor & Destructor Documentation

◆ Import3DTetMesh()

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.

Parameters
coordFilename for the coordinates. Format:
<node> <x> <y> <z>
For instance:
1 1.0 1.0 1.0
2 0.0 0.5 2.0
elmsFilename for the elements. Format:
<nr> <node 1> <node 2> <node 3> <node 4>
dirichletFilename for triangles with homogeneous Dirichlet bc. Format:
<nr> <node 1> <node 2> <node 3>
leftHandOrdering of the node numbers

◆ ~Import3DTetMesh()

virtual concepts::Import3DTetMesh::~Import3DTetMesh ( )
virtual

Member Function Documentation

◆ createTriangle_()

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

◆ info()

virtual std::ostream& concepts::Import3DTetMesh::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::Mesh.

◆ ncell()

virtual uint concepts::Import3DTetMesh::ncell ( ) const
inlinevirtual

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 189 of file mesh.hh.

◆ scan()

virtual Scan3* concepts::Import3DTetMesh::scan ( )
inlinevirtual

Returns a scanner over the cells of the mesh.

Postcondition
The scanner must be deleted after usage. This has to be done by the user.

Implements concepts::Mesh3.

Definition at line 190 of file mesh.hh.

◆ threeIndex_()

unsigned long long int concepts::Import3DTetMesh::threeIndex_ ( const uint  x,
const uint  y,
const uint  z 
) const
private

◆ twoIndex_()

unsigned long long int concepts::Import3DTetMesh::twoIndex_ ( const uint  j,
const uint  k 
) const
private

Member Data Documentation

◆ cell_

std::vector<Tetrahedron3d*> concepts::Import3DTetMesh::cell_
private

Definition at line 235 of file mesh.hh.

◆ edg_

std::vector<Edge*> concepts::Import3DTetMesh::edg_
private

Definition at line 232 of file mesh.hh.

◆ tet_

std::vector<Tetrahedron*> concepts::Import3DTetMesh::tet_
private

Definition at line 234 of file mesh.hh.

◆ tri_

std::vector<Triangle*> concepts::Import3DTetMesh::tri_
private

Definition at line 233 of file mesh.hh.

◆ vtx_

std::vector<Vertex*> concepts::Import3DTetMesh::vtx_
private

Definition at line 231 of file mesh.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich