Base class for a quadrilateral in any dimension. More...

#include <cell2D.hh>

Inheritance diagram for concepts::QuadNd:
concepts::Cell2 concepts::Cell concepts::OutputOperator concepts::Quad2d concepts::Quad3d

Classes

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

Public Types

typedef uint index_type
 

Public Member Functions

virtual Real3d center () const =0
 Returns the center of the cell. More...
 
virtual const Cell2child (uint i) const =0
 Returns a pointer to the ith child. More...
 
virtual Cell2child (uint i)=0
 Returns a pointer to the ith child. More...
 
Quadconnector () const
 Returns the quadrilateral connector (topology) More...
 
virtual uint dim () const =0
 Returns the dimension of the space. 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 =0
 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...
 
virtual Real gramDeterminantRoot (const Real xi, const Real eta) const =0
 Returns the square root of the Gram determinant. More...
 
bool hasChildren () const
 Returns true if there is a least one child. More...
 
Level< 2 > level () const
 Returns the level of the cell. More...
 
virtual Real lineElement (const Real xi, const uint edge) const =0
 
 QuadNd (Quad &cntr)
 
 QuadNd (Quad &cntr, const Index &idx)
 
virtual Real3d vertex (uint i) const =0
 Returns the coordinates of the ith vertex. More...
 

Static Public Attributes

static uint MAX_LEVEL
 

Protected Member Functions

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

Protected Attributes

Quadcntr_
 Reference to the quadrilateral connector (topology) More...
 
Index idx_
 Index of this element. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const QuadNd::Index &i)
 

Detailed Description

Base class for a quadrilateral in any dimension.

Currently only used as base class for Quad3d

Definition at line 187 of file cell2D.hh.

Member Typedef Documentation

◆ index_type

Definition at line 194 of file cell2D.hh.

Constructor & Destructor Documentation

◆ QuadNd() [1/2]

concepts::QuadNd::QuadNd ( Quad cntr)
inline

Definition at line 223 of file cell2D.hh.

◆ QuadNd() [2/2]

concepts::QuadNd::QuadNd ( Quad cntr,
const Index idx 
)
inline

Definition at line 225 of file cell2D.hh.

Member Function Documentation

◆ center()

virtual Real3d concepts::Cell2::center ( ) const
pure virtualinherited

◆ child() [1/2]

virtual const Cell2* concepts::Cell2::child ( uint  i) const
pure virtualinherited

Returns a pointer to the ith child.

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

Implements concepts::Cell.

Implemented in concepts::Quad3d, concepts::Triangle3d, concepts::InfiniteRect2d, concepts::Quad2d, and concepts::Triangle2d.

◆ child() [2/2]

virtual Cell2* concepts::Cell2::child ( uint  i)
pure virtualinherited

Returns a pointer to the ith child.

Children are created if they do not already exist.

Implements concepts::Cell.

Implemented in concepts::Quad3d, concepts::Triangle3d, concepts::InfiniteRect2d, concepts::Quad2d, and concepts::Triangle2d.

◆ connector()

Quad& concepts::QuadNd::connector ( ) const
inlinevirtual

Returns the quadrilateral connector (topology)

Implements concepts::Cell2.

Definition at line 234 of file cell2D.hh.

◆ dim()

virtual uint concepts::QuadNd::dim ( ) const
pure virtual

Returns the dimension of the space.

Implemented in concepts::Quad3d, and concepts::Quad2d.

◆ 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::Cell2::elemMap ( const Real2d coord_local) const
pure virtualinherited

Element map from point local coordinates in 2D.

Reimplemented from concepts::Cell.

Implemented in concepts::Quad3d, concepts::Triangle3d, concepts::InfiniteRect2d, concepts::Quad2d, and concepts::Triangle2d.

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

◆ gramDeterminantRoot()

virtual Real concepts::QuadNd::gramDeterminantRoot ( const Real  xi,
const Real  eta 
) const
pure virtual

Returns the square root of the Gram determinant.

The Gram determinant is given by

\[ \det(A^\top A) \,, \]

where A is the Jacobian of the mapping. Note that for a Quad2d this is the same as the determinant of the Jacobian.

Implemented in concepts::Quad3d, and concepts::Quad2d.

◆ 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::Cell::info ( std::ostream &  os) const
protectedpure virtualinherited

◆ level()

Level<2> concepts::QuadNd::level ( ) const
inline

Returns the level of the cell.

The level describes the refinements in both directions with respect to the parent cell in the initial mesh. This level information is taken into account when evaluating the element map or the Jacobian.

Definition at line 257 of file cell2D.hh.

◆ lineElement()

virtual Real concepts::QuadNd::lineElement ( const Real  xi,
const uint  edge 
) const
pure virtual

Implemented in concepts::Quad3d, and concepts::Quad2d.

◆ vertex()

virtual Real3d concepts::Cell2::vertex ( uint  i) const
pure virtualinherited

Returns the coordinates of the ith vertex.

Implemented in concepts::Quad3d, concepts::Triangle3d, concepts::InfiniteQuad2d, concepts::Quad2d, and concepts::Triangle2d.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const QuadNd::Index i 
)
friend

Member Data Documentation

◆ cntr_

Quad& concepts::QuadNd::cntr_
protected

Reference to the quadrilateral connector (topology)

Definition at line 261 of file cell2D.hh.

◆ idx_

Index concepts::QuadNd::idx_
protected

Index of this element.

Definition at line 263 of file cell2D.hh.

◆ MAX_LEVEL

uint concepts::QuadNd::MAX_LEVEL
static

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