A 3D cell: parallelepiped. More...

#include <cell3D.hh>

Inheritance diagram for concepts::Parallelepiped3d:
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 Parallelepiped3dchild (uint c)
 Returns a pointer to the ith child. More...
 
virtual const Parallelepiped3dchild (uint c) const
 Returns a pointer to the ith child. More...
 
Hexahedronconnector () 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...
 
 Parallelepiped3d (Hexahedron &cntr, const MapParallelepiped3d &map)
 Constructor. More...
 
Real3d vertex (uint i) const
 Returns the coordinates of the ith vertex. More...
 
virtual ~Parallelepiped3d ()
 

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

 Parallelepiped3d (Hexahedron &cntr, MapParallelepiped3d *map, const Index &idx)
 Private constructor. More...
 

Private Attributes

Parallelepiped3dchld_
 Pointer to the first child. More...
 
Hexahedroncntr_
 Reference to the tetrahedron connector (topology) More...
 
Index idx_
 Index of this element. More...
 
Parallelepiped3dlnk_
 Pointer to a sibling. More...
 
MapParallelepiped3dmap_
 Pointer to the element map. More...
 

Detailed Description

A 3D cell: parallelepiped.

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

Author
Gregor Schmidlin, 2003

Definition at line 524 of file cell3D.hh.

Member Typedef Documentation

◆ index_type

Definition at line 532 of file cell3D.hh.

Constructor & Destructor Documentation

◆ Parallelepiped3d() [1/2]

concepts::Parallelepiped3d::Parallelepiped3d ( Hexahedron cntr,
const MapParallelepiped3d 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

◆ ~Parallelepiped3d()

virtual concepts::Parallelepiped3d::~Parallelepiped3d ( )
virtual

◆ Parallelepiped3d() [2/2]

concepts::Parallelepiped3d::Parallelepiped3d ( Hexahedron cntr,
MapParallelepiped3d map,
const Index idx 
)
private

Private constructor.

Member Function Documentation

◆ center()

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

Returns the center of the cell.

Implements concepts::Cell3.

Definition at line 588 of file cell3D.hh.

◆ chi()

Real3d concepts::Parallelepiped3d::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 Parallelepiped3d* concepts::Parallelepiped3d::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 Parallelepiped3d* concepts::Parallelepiped3d::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()

Hexahedron& concepts::Parallelepiped3d::connector ( ) const
inlinevirtual

Returns the connector.

Implements concepts::Cell3.

Definition at line 577 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::Parallelepiped3d::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Implements concepts::Cell.

◆ vertex()

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

Returns the coordinates of the ith vertex.

Implements concepts::Cell3.

Member Data Documentation

◆ chld_

Parallelepiped3d* concepts::Parallelepiped3d::chld_
private

Pointer to the first child.

The children are stored in a linked list.

Definition at line 606 of file cell3D.hh.

◆ cntr_

Hexahedron& concepts::Parallelepiped3d::cntr_
private

Reference to the tetrahedron connector (topology)

Definition at line 598 of file cell3D.hh.

◆ idx_

Index concepts::Parallelepiped3d::idx_
private

Index of this element.

Definition at line 595 of file cell3D.hh.

◆ lnk_

Parallelepiped3d* concepts::Parallelepiped3d::lnk_
private

Pointer to a sibling.

Definition at line 601 of file cell3D.hh.

◆ map_

MapParallelepiped3d* concepts::Parallelepiped3d::map_
private

Pointer to the element map.

Definition at line 609 of file cell3D.hh.

◆ MAX_LEVEL

uint concepts::Parallelepiped3d::MAX_LEVEL
static

Definition at line 536 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