A 3D cell: tetrahedron. More...

#include <cell3D.hh>

Inheritance diagram for concepts::Tetrahedron3d:
concepts::Cell3 concepts::Cell concepts::OutputOperator

Classes

struct  Index
 Subclass of Tetrahedron3d representing its index. More...
 

Public Types

typedef uint index_type
 

Public Member Functions

Real3d center () const
 Returns the center of the cell. More...
 
Real3d chi (Real xi, Real eta, Real zeta) const
 The element map. More...
 
virtual Tetrahedron3dchild (uint i)
 Returns a pointer to the ith child. More...
 
virtual const Tetrahedron3dchild (uint i) const
 Returns a pointer to the ith child. More...
 
Tetrahedronconnector () const
 Returns the connector. More...
 
virtual Real3d elemMap (const Real coord_local) const
 Element map from point local coordinates in 1D. More...
 
virtual Real3d elemMap (const Real2d &coord_local) const
 Element map from point local coordinates in 2D. More...
 
virtual Real3d elemMap (const Real3d &coord_local) const
 Element map from point local coordinates in 3D. More...
 
bool hasChildren () const
 Returns true if there is a least one child. More...
 
 Tetrahedron3d (Tetrahedron &cntr, const MapTetrahedron3d &map)
 Constructor. More...
 
Real3d vertex (uint i) const
 Returns the coordinates of the ith vertex. More...
 
virtual ~Tetrahedron3d ()
 

Static Public Attributes

static uint MAX_LEVEL
 

Protected Member Functions

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

Private Member Functions

 Tetrahedron3d (Tetrahedron &cntr, MapTetrahedron3d *map, const Index &idx)
 Private constructor. More...
 

Private Attributes

Tetrahedron3dchld_
 Pointer to the first child. More...
 
Tetrahedroncntr_
 Reference to the tetrahedron connector (topology) More...
 
Index idx_
 Index of this element. More...
 
Tetrahedron3dlnk_
 Pointer to a sibling. More...
 
MapTetrahedron3dmap_
 Pointer to the element map. More...
 

Detailed Description

A 3D cell: tetrahedron.

If a tetrahedron is subdivided, eight new tetrahedra are created. This happens automatically, if a child is requested.

Author
Philipp Frauenfelder, 2000

Definition at line 47 of file cell3D.hh.

Member Typedef Documentation

◆ index_type

Definition at line 55 of file cell3D.hh.

Constructor & Destructor Documentation

◆ Tetrahedron3d() [1/2]

concepts::Tetrahedron3d::Tetrahedron3d ( Tetrahedron cntr,
const MapTetrahedron3d map 
)

Constructor.

Takes the connector cntr and the element map map and creates a cell.

Parameters
cntrTopological information of the tetrahedron
mapElement map of the tetrahedron

◆ ~Tetrahedron3d()

virtual concepts::Tetrahedron3d::~Tetrahedron3d ( )
virtual

◆ Tetrahedron3d() [2/2]

concepts::Tetrahedron3d::Tetrahedron3d ( Tetrahedron cntr,
MapTetrahedron3d map,
const Index idx 
)
private

Private constructor.

Member Function Documentation

◆ center()

Real3d concepts::Tetrahedron3d::center ( ) const
inlinevirtual

Returns the center of the cell.

Implements concepts::Cell3.

Definition at line 111 of file cell3D.hh.

◆ chi()

Real3d concepts::Tetrahedron3d::chi ( Real  xi,
Real  eta,
Real  zeta 
) const

The element map.

Maps a point from the unit cube $[0,1]^3$ onto the element.

Returns
Point in 3D in physical coordinates.
Parameters
xi$\in [0,1]$
eta$\in [0,1]$
zeta$\in [0,1]$

◆ child() [1/2]

virtual Tetrahedron3d* concepts::Tetrahedron3d::child ( uint  i)
virtual

Returns a pointer to the ith child.

Children are created if they do not already exist.

Implements concepts::Cell3.

◆ child() [2/2]

virtual const Tetrahedron3d* concepts::Tetrahedron3d::child ( uint  i) const
virtual

Returns a pointer to the ith child.

Children are not created if they do not already exist, instead 0 is returned.

Implements concepts::Cell3.

◆ connector()

Tetrahedron& concepts::Tetrahedron3d::connector ( ) const
inlinevirtual

Returns the connector.

Implements concepts::Cell3.

Definition at line 100 of file cell3D.hh.

◆ elemMap() [1/3]

virtual Real3d concepts::Cell::elemMap ( const Real  coord_local) const
virtualinherited

Element map from point local coordinates in 1D.

Reimplemented in concepts::Edge2d, concepts::Edge1d, concepts::Sphere3d, and concepts::SphericalSurface3d.

◆ elemMap() [2/3]

virtual Real3d concepts::Cell::elemMap ( const Real2d coord_local) const
virtualinherited

◆ elemMap() [3/3]

virtual Real3d concepts::Cell::elemMap ( const Real3d coord_local) const
virtualinherited

◆ hasChildren()

bool concepts::Cell::hasChildren ( ) const
inlineinherited

Returns true if there is a least one child.

Definition at line 50 of file cell.hh.

◆ info()

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

Returns information in an output stream.

Implements concepts::Cell.

◆ vertex()

Real3d concepts::Tetrahedron3d::vertex ( uint  i) const
virtual

Returns the coordinates of the ith vertex.

Implements concepts::Cell3.

Member Data Documentation

◆ chld_

Tetrahedron3d* concepts::Tetrahedron3d::chld_
private

Pointer to the first child.

The children are stored in a linked list.

Definition at line 129 of file cell3D.hh.

◆ cntr_

Tetrahedron& concepts::Tetrahedron3d::cntr_
private

Reference to the tetrahedron connector (topology)

Definition at line 121 of file cell3D.hh.

◆ idx_

Index concepts::Tetrahedron3d::idx_
private

Index of this element.

Definition at line 118 of file cell3D.hh.

◆ lnk_

Tetrahedron3d* concepts::Tetrahedron3d::lnk_
private

Pointer to a sibling.

Definition at line 124 of file cell3D.hh.

◆ map_

MapTetrahedron3d* concepts::Tetrahedron3d::map_
private

Pointer to the element map.

Definition at line 132 of file cell3D.hh.

◆ MAX_LEVEL

uint concepts::Tetrahedron3d::MAX_LEVEL
static

Definition at line 59 of file cell3D.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