A 1D cell: edge. More...

#include <cell1D.hh>

Inheritance diagram for concepts::Edge1d:
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...
 
Real chi (Real xi) const
 The element map. More...
 
virtual Edge1dchild (uint i)
 Returns a child. More...
 
virtual const Edge1dchild (uint i) const
 Returns a pointer to the ith child. More...
 
Edge1dclone (Edge &cntr, MapEdge1d *map) const
 Returns a copy of itself. More...
 
Edgeconnector () const
 Returns the connector (topology) More...
 
virtual uint dim () const
 Returns the dimension of the space, i.e. N. More...
 
 Edge1d (Edge &cntr, const MapEdge1d &map)
 Constructor. More...
 
virtual concepts::Real3d elemMap (const Real xi) const
 Element map from point local coordinates in 1D. More...
 
virtual concepts::Real3d elemMap (const Real1d &xi) const
 
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...
 
Real jacobian (concepts::Point< Real, 1 > &x) const
 
Real jacobian (Real x) const
 Returns the Jacobian. More...
 
Real jacobianDeterminant (const Real x) const
 Returns the determinant of the Jacobian. More...
 
Real jacobianInverse (const Real x) const
 Returns the inverse of the Jacobian. More...
 
const Level< 1 > & level () const
 
const MapEdge1dmap () const
 
Real size () const
 Returns the size of the element. More...
 
virtual Real3d vertex (const uint i) const
 Returns the coordinates of the ith vertex. More...
 
virtual ~Edge1d ()
 

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...
 

Protected Attributes

Edgecntr_
 Reference to the edge (topology) More...
 

Private Member Functions

 Edge1d (Edge &cntr, MapEdge1d *map, const uint l, const uint i)
 Private copy constructor. More...
 

Private Attributes

Edge1dchld_
 Pointer to the first child. More...
 
index_type i_
 Index of the element (ie. left or right child) More...
 
uint l_
 Level of the element. More...
 
Edge1dlnk_
 Pointer to a sibling. More...
 
Level< 1 > lvl_
 
MapEdge1dmap_
 Pointer to the element map. More...
 

Detailed Description

A 1D cell: edge.

Author
Philipp Frauenfelder, 2001
Examples
meshes.cc.

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

◆ Edge1d() [1/2]

concepts::Edge1d::Edge1d ( Edge cntr,
const MapEdge1d map 
)

Constructor.

Parameters
cntrThe edge which should be represented
mapElement map of the edge

◆ ~Edge1d()

virtual concepts::Edge1d::~Edge1d ( )
virtual

◆ Edge1d() [2/2]

concepts::Edge1d::Edge1d ( Edge cntr,
MapEdge1d map,
const uint  l,
const uint  i 
)
private

Private copy constructor.

Parameters
cntrThe edge which should be represented
mapElement map of the edge
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()

Real concepts::Edge1d::chi ( Real  xi) const

The element map.

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

Returns
Point in 1D in physical coordinates.
Parameters
xi$\in [0,1]$
Examples
linearFEM1d-simple.cc, and linearFEM1d.cc.

◆ child() [1/2]

virtual Edge1d* concepts::Edge1d::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 Edge1d* concepts::Edge1d::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()

Edge1d* concepts::Edge1d::clone ( Edge cntr,
MapEdge1d map 
) const
inline

Returns a copy of itself.

Definition at line 150 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::Edge1d::dim ( ) const
inlinevirtual

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

Implements concepts::EdgeNd.

Definition at line 100 of file cell1D.hh.

◆ elemMap() [1/4]

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

Element map from point local coordinates in 1D.

Reimplemented from concepts::Cell.

◆ elemMap() [2/4]

virtual concepts::Real3d concepts::Edge1d::elemMap ( const Real1d xi) const
inlinevirtual

Definition at line 113 of file cell1D.hh.

◆ elemMap() [3/4]

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

Element map from point local coordinates in 2D.

Reimplemented from concepts::Cell.

◆ elemMap() [4/4]

virtual concepts::Real3d concepts::Edge1d::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.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::EdgeNd.

◆ jacobian() [1/2]

Real concepts::Edge1d::jacobian ( concepts::Point< Real, 1 > &  x) const

◆ jacobian() [2/2]

Real concepts::Edge1d::jacobian ( Real  x) const

Returns the Jacobian.

Parameters
x$\in [0,1]$

◆ jacobianDeterminant()

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

Returns the determinant of the Jacobian.

See also
jacobian

Implements concepts::EdgeNd.

Definition at line 120 of file cell1D.hh.

◆ jacobianInverse()

Real concepts::Edge1d::jacobianInverse ( const Real  x) const
inline

Returns the inverse of the Jacobian.

See also
jacobian

Definition at line 137 of file cell1D.hh.

◆ level()

const Level<1>& concepts::Edge1d::level ( ) const
inline

Definition at line 145 of file cell1D.hh.

◆ map()

const MapEdge1d* concepts::Edge1d::map ( ) const
inline

Definition at line 141 of file cell1D.hh.

◆ size()

Real concepts::Edge1d::size ( ) const

Returns the size of the element.

Examples
linearFEM1d-simple.cc, and linearFEM1d.cc.

◆ 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_

Edge1d* concepts::Edge1d::chld_
private

Pointer to the first child.

The children are stored in a linked list.

Definition at line 162 of file cell1D.hh.

◆ cntr_

Edge& concepts::EdgeNd::cntr_
protectedinherited

Reference to the edge (topology)

Definition at line 74 of file cell1D.hh.

◆ i_

index_type concepts::Edge1d::i_
private

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

Definition at line 172 of file cell1D.hh.

◆ l_

uint concepts::Edge1d::l_
private

Level of the element.

Definition at line 168 of file cell1D.hh.

◆ lnk_

Edge1d* concepts::Edge1d::lnk_
private

Pointer to a sibling.

Definition at line 157 of file cell1D.hh.

◆ lvl_

Level<1> concepts::Edge1d::lvl_
private

Definition at line 169 of file cell1D.hh.

◆ map_

MapEdge1d* concepts::Edge1d::map_
private

Pointer to the element map.

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