A 2D cell: infinite rectangle. More...

#include <cell2D.hh>

Inheritance diagram for concepts::InfiniteRect2d:
concepts::InfiniteQuad2d concepts::Cell2 concepts::Cell concepts::OutputOperator

Public Member Functions

Real3d center () const
 Makes no sense. Calling throws an exception. More...
 
virtual Real2d chi (Real xi, Real eta) const
 Evaluates the element map. More...
 
virtual InfiniteRect2dchild (uint i)
 Returns a child. More...
 
virtual const InfiniteRect2dchild (uint i) const
 Returns a child. More...
 
InfiniteRect2dclone (InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1) const
 Returns a copy of itself. More...
 
InfiniteQuadconnector () const
 Returns the quadrilateral connector (topology) More...
 
virtual Real3d elemMap (const Real coord_local) const
 Element map from point local coordinates in 1D. More...
 
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
 
 InfiniteRect2d (InfiniteQuad &cntr, const Real2d &vtx0, const Real2d &vtx1)
 Constructor. More...
 
virtual MapReal2d jacobian (const Real xi, const Real eta) const
 
Real3d vertex (uint i) const
 Returns the coordinates of the ith vertex. More...
 
virtual ~InfiniteRect2d ()
 

Protected Member Functions

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

Private Attributes

InfiniteRect2dchld_
 Pointer to the first child. More...
 
InfiniteQuadcntr_
 Reference to the quadrilateral connector (topology) More...
 
InfiniteRect2dlnk_
 Pointer to a sibling. More...
 
UnitNd< 2 > n_
 Direction of the infinite edges (normalised) More...
 
Real2d vtx_ [2]
 Vertices. More...
 

Detailed Description

A 2D cell: infinite rectangle.

If a infinite rectangle is subdivided, two new infinite infinite rectangles are created. This happens automatically, if a child is requested

See also
Cell for more information on cells in a mesh.

Definition at line 648 of file cell2D.hh.

Constructor & Destructor Documentation

◆ InfiniteRect2d()

concepts::InfiniteRect2d::InfiniteRect2d ( InfiniteQuad cntr,
const Real2d vtx0,
const Real2d vtx1 
)

Constructor.

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

Parameters
cntrTopological information of the infinite quadrilateral
mapElement map of the quadrilateral

◆ ~InfiniteRect2d()

virtual concepts::InfiniteRect2d::~InfiniteRect2d ( )
virtual

Member Function Documentation

◆ center()

Real3d concepts::InfiniteRect2d::center ( ) const
virtual

Makes no sense. Calling throws an exception.

Implements concepts::Cell2.

◆ chi()

virtual Real2d concepts::InfiniteRect2d::chi ( Real  xi,
Real  eta 
) const
virtual

Evaluates the element map.

Maps a point from the the reference coordinates in [0,1][0,\infty) onto the physical coordinates.

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

Implements concepts::InfiniteQuad2d.

◆ child() [1/2]

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

Returns a child.

If no children exist, four new children are created. The quadrilateral is cut into four new quadrilaterals by joining the midpoints of its edges.

Parameters
iIndex of the child to be returned.

Implements concepts::Cell2.

◆ child() [2/2]

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

Returns a child.

If no children exist, none are created and 0 is returned.

Parameters
iIndex of the child to be returned.

Implements concepts::Cell2.

◆ clone()

InfiniteRect2d* concepts::InfiniteRect2d::clone ( InfiniteQuad cntr,
const Real2d vtx0,
const Real2d vtx1 
) const
inline

Returns a copy of itself.

Definition at line 691 of file cell2D.hh.

◆ connector()

InfiniteQuad& concepts::InfiniteQuad2d::connector ( ) const
inlinevirtualinherited

Returns the quadrilateral connector (topology)

Implements concepts::Cell2.

Definition at line 629 of file cell2D.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]

Real3d concepts::InfiniteRect2d::elemMap ( const Real2d coord_local) const
inlinevirtual

Element map from point local coordinates in 2D.

Implements concepts::Cell2.

Definition at line 680 of file cell2D.hh.

◆ elemMap() [3/3]

virtual Real3d concepts::Cell2::elemMap ( const Real3d coord_local) const
inlinevirtualinherited

Element map from point local coordinates in 3D.

Reference element is 2D, third component is omitted.

Reimplemented from concepts::Cell.

Definition at line 104 of file cell.hh.

◆ hasChildren()

bool concepts::InfiniteRect2d::hasChildren ( ) const
inline

Definition at line 669 of file cell2D.hh.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::InfiniteQuad2d.

◆ jacobian()

virtual MapReal2d concepts::InfiniteRect2d::jacobian ( const Real  xi,
const Real  eta 
) const
virtual

◆ vertex()

Real3d concepts::InfiniteQuad2d::vertex ( uint  i) const
virtualinherited

Returns the coordinates of the ith vertex.

Implements concepts::Cell2.

Member Data Documentation

◆ chld_

InfiniteRect2d* concepts::InfiniteRect2d::chld_
private

Pointer to the first child.

The children are stored in a linked list.

Definition at line 709 of file cell2D.hh.

◆ cntr_

InfiniteQuad& concepts::InfiniteQuad2d::cntr_
privateinherited

Reference to the quadrilateral connector (topology)

Definition at line 636 of file cell2D.hh.

◆ lnk_

InfiniteRect2d* concepts::InfiniteRect2d::lnk_
private

Pointer to a sibling.

Definition at line 704 of file cell2D.hh.

◆ n_

UnitNd<2> concepts::InfiniteRect2d::n_
private

Direction of the infinite edges (normalised)

Definition at line 701 of file cell2D.hh.

◆ vtx_

Real2d concepts::InfiniteQuad2d::vtx_[2]
privateinherited

Vertices.

Definition at line 634 of file cell2D.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