A 1D cell: edge in 2D. More...

#include <cell1D.hh>

Inheritance diagram for concepts::Edge2d:
concepts::EdgeNd concepts::Cell1 concepts::Cell concepts::OutputOperator

Public Types

typedef uint index_type
 

Public Member Functions

virtual Real3d center () const
 Returns the center of the cell. More...
 
Real2d chi (Real xi) const
 The element map. More...
 
virtual Edge2dchild (uint i)
 Returns a child. More...
 
virtual const Edge2dchild (uint i) const
 Returns a pointer to the ith child. More...
 
virtual Edge2dclone () const
 Returns a copy of itself. More...
 
virtual Edge2dclone (Edge &cntr, MappingEdge2d *map) const
 
Edgeconnector () const
 Returns the connector (topology) More...
 
virtual uint dim () const
 Returns the dimension of the space, i.e. N. More...
 
Z2dir ()
 Access to the direction of the normal vector. More...
 
Z2 dir () const
 Returns if the normal vector is right or left pointing. More...
 
 Edge2d (Edge &cntr, const MappingEdge2d &map, const Z2 dir=0)
 Constructor. More...
 
virtual concepts::Real3d elemMap (const Real xi) const
 Element map from point local coordinates in 1D. More...
 
virtual concepts::Real3d elemMap (const Real2d &xi) const
 Element map from point local coordinates in 2D. More...
 
virtual concepts::Real3d elemMap (const Real3d &xi) const
 Element map from point local coordinates in 3D. More...
 
bool hasChildren () const
 Returns true if there is a least one child. More...
 
Real2d hessian (Real x) const
 Returns a vector withthe second derivatives. More...
 
Array< RealhessianInverse (Real x) const
 Returns the hessian matrix of the inverse function of the parametrisation in x. More...
 
Real2d jacobian (Real x) const
 Returns the Jacobian. More...
 
Real jacobianDeterminant (const Real x) const
 Returns the determinant of the Jacobian. More...
 
uchar level () const
 Returns the level of the cell. More...
 
const MappingEdge2dmap () const
 
Real2d n0 (Real x) const
 Returns the normal vector on a point of the edge. More...
 
void swapdir ()
 Swaps the normal direction. More...
 
Real tangentialSecondDerivative (const Real x) const
 Returns the second tangential derivative. More...
 
virtual Real3d vertex (const uint i) const
 Returns the coordinates of the ith vertex. More...
 
virtual ~Edge2d ()
 

Static Public Attributes

static uint MAX_LEVEL
 

Protected Member Functions

 Edge2d (Edge &cntr, MappingEdge2d *map, const Z2 dir, const uint l, const uint i)
 Protected copy constructor. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Protected Attributes

Edgecntr_
 Reference to the edge (topology) More...
 
Z2 dir_
 Direction of the normal vector. More...
 
index_type i_
 Index of the element (ie. left or right child) More...
 
uint l_
 Level of the element. More...
 
MappingEdge2dmap_
 Pointer to the element map. More...
 

Private Attributes

Edge2dchld_
 Pointer to the first child. More...
 
Edge2dlnk_
 Pointer to a sibling. More...
 

Detailed Description

A 1D cell: edge in 2D.

Author
Kersten Schmidt, 2006

Definition at line 189 of file cell1D.hh.

Member Typedef Documentation

◆ index_type

typedef uint concepts::EdgeNd::index_type
inherited

Definition at line 40 of file cell1D.hh.

Constructor & Destructor Documentation

◆ Edge2d() [1/2]

concepts::Edge2d::Edge2d ( Edge cntr,
const MappingEdge2d map,
const Z2  dir = 0 
)

Constructor.

Parameters
cntrThe edge which should be represented
mapElement map of the edge
dirdirection of the normal vector when looking along direction of the edge (from first vertex to second) dir = 0 : Right normal dir = 1 : Left normal

◆ ~Edge2d()

virtual concepts::Edge2d::~Edge2d ( )
virtual

◆ Edge2d() [2/2]

concepts::Edge2d::Edge2d ( Edge cntr,
MappingEdge2d map,
const Z2  dir,
const uint  l,
const uint  i 
)
protected

Protected copy constructor.

Parameters
cntrThe edge which should be represented
mapElement map of the edge
dirdirection of the normal vector
lLevel
iIndex (0 or 1), ie. the left or right child

Member Function Documentation

◆ center()

virtual Real3d concepts::EdgeNd::center ( ) const
virtualinherited

Returns the center of the cell.

Implements concepts::Cell1.

◆ chi()

Real2d concepts::Edge2d::chi ( Real  xi) const

The element map.

Maps a point from the unit intervall [0,1] onto the element.

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

◆ child() [1/2]

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

Returns a child.

If no children exist, two new children are created. The edge is cut in the middle.

Parameters
iIndex of the child to be returned.

Implements concepts::EdgeNd.

◆ child() [2/2]

virtual const Edge2d* concepts::Edge2d::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::EdgeNd.

◆ clone() [1/2]

virtual Edge2d* concepts::Edge2d::clone ( ) const
virtual

Returns a copy of itself.

◆ clone() [2/2]

virtual Edge2d* concepts::Edge2d::clone ( Edge cntr,
MappingEdge2d map 
) const
inlinevirtual

Definition at line 261 of file cell1D.hh.

◆ connector()

Edge& concepts::EdgeNd::connector ( ) const
inlinevirtualinherited

Returns the connector (topology)

Implements concepts::Cell1.

Definition at line 59 of file cell1D.hh.

◆ dim()

virtual uint concepts::Edge2d::dim ( ) const
inlinevirtual

Returns the dimension of the space, i.e. N.

Implements concepts::EdgeNd.

Definition at line 210 of file cell1D.hh.

◆ dir() [1/2]

Z2& concepts::Edge2d::dir ( )
inline

Access to the direction of the normal vector.

Definition at line 275 of file cell1D.hh.

◆ dir() [2/2]

Z2 concepts::Edge2d::dir ( ) const
inline

Returns if the normal vector is right or left pointing.

Definition at line 271 of file cell1D.hh.

◆ elemMap() [1/3]

virtual concepts::Real3d concepts::Edge2d::elemMap ( const Real  coord_local) const
virtual

Element map from point local coordinates in 1D.

Reimplemented from concepts::Cell.

◆ elemMap() [2/3]

virtual concepts::Real3d concepts::Edge2d::elemMap ( const Real2d coord_local) const
virtual

Element map from point local coordinates in 2D.

Reimplemented from concepts::Cell.

◆ elemMap() [3/3]

virtual concepts::Real3d concepts::Edge2d::elemMap ( const Real3d coord_local) const
virtual

Element map from point local coordinates in 3D.

Reimplemented from concepts::Cell.

◆ hasChildren()

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

Returns true if there is a least one child.

Definition at line 50 of file cell.hh.

◆ hessian()

Real2d concepts::Edge2d::hessian ( Real  x) const

Returns a vector withthe second derivatives.

Parameters
x$\in [0,1]$

◆ hessianInverse()

Array<Real> concepts::Edge2d::hessianInverse ( Real  x) const

Returns the hessian matrix of the inverse function of the parametrisation in x.

Parameters
x$\in [0,1]$

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::EdgeNd.

◆ jacobian()

Real2d concepts::Edge2d::jacobian ( Real  x) const

Returns the Jacobian.

Parameters
x$\in [0,1]$

◆ jacobianDeterminant()

Real concepts::Edge2d::jacobianDeterminant ( const Real  x) const
inlinevirtual

Returns the determinant of the Jacobian.

See also
jacobian

Implements concepts::EdgeNd.

Definition at line 229 of file cell1D.hh.

◆ level()

uchar concepts::Edge2d::level ( ) const
inline

Returns the level of the cell.

Definition at line 266 of file cell1D.hh.

◆ map()

const MappingEdge2d* concepts::Edge2d::map ( ) const
inline

Definition at line 254 of file cell1D.hh.

◆ n0()

Real2d concepts::Edge2d::n0 ( Real  x) const

Returns the normal vector on a point of the edge.

◆ swapdir()

void concepts::Edge2d::swapdir ( )
inline

Swaps the normal direction.

Definition at line 279 of file cell1D.hh.

◆ tangentialSecondDerivative()

Real concepts::Edge2d::tangentialSecondDerivative ( const Real  x) const

Returns the second tangential derivative.

See also
jacobian

◆ vertex()

virtual Real3d concepts::EdgeNd::vertex ( const uint  i) const
virtualinherited

Returns the coordinates of the ith vertex.

Implements concepts::Cell1.

Member Data Documentation

◆ chld_

Edge2d* concepts::Edge2d::chld_
private

Pointer to the first child.

The children are stored in a linked list.

Definition at line 314 of file cell1D.hh.

◆ cntr_

Edge& concepts::EdgeNd::cntr_
protectedinherited

Reference to the edge (topology)

Definition at line 74 of file cell1D.hh.

◆ dir_

Z2 concepts::Edge2d::dir_
protected

Direction of the normal vector.

Definition at line 296 of file cell1D.hh.

◆ i_

index_type concepts::Edge2d::i_
protected

Index of the element (ie. left or right child)

Definition at line 293 of file cell1D.hh.

◆ l_

uint concepts::Edge2d::l_
protected

Level of the element.

Definition at line 290 of file cell1D.hh.

◆ lnk_

Edge2d* concepts::Edge2d::lnk_
private

Pointer to a sibling.

Definition at line 309 of file cell1D.hh.

◆ map_

MappingEdge2d* concepts::Edge2d::map_
protected

Pointer to the element map.

Definition at line 288 of file cell1D.hh.

◆ MAX_LEVEL

uint concepts::EdgeNd::MAX_LEVEL
staticinherited

Definition at line 44 of file cell1D.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