Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
concepts::Triangle2d Class Reference

A 2D cell: triangle. More...

#include <cell2D.hh>

Inheritance diagram for concepts::Triangle2d:
Inheritance graph
[legend]
Collaboration diagram for concepts::Triangle2d:
Collaboration graph
[legend]

List of all members.

Classes

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

Public Member Functions

Real area () const
 Returns the area of the element.
Real3d center () const
 Returns the center of the cell.
Real2d chi (Real xi, Real eta) const
 Evaluates the element map.
virtual const Triangle2dchild (uint i) const
 Returns a child.
virtual Triangle2dchild (uint i)
 Returns a child.
Triangle2dclone (Triangle &cntr, MappingTriangle2d *map) const
 Returns a copy of itself.
Triangleconnector () const
 Returns the triangle connector (topology)
virtual Real3d elemMap (const Real3d &coord_local) const
 Element map from point local coordinates in 3D.
Real3d elemMap (const Real2d &coord_local) const
 Element map from point local coordinates in 2D.
virtual Real3d elemMap (const Real coord_local) const
 Element map from point local coordinates in 1D.
bool hasChildren () const
 Returns true if there is a least one child.
MapReal2d jacobian (Real x, Real y) const
 Returns the Jacobian in a 2D linear map.
Real jacobianDeterminant (const Real x, const Real y) const
 Returns determinant of the Jacobian.
MapReal2d jacobianInverse (const Real x, const Real y) const
 Returns the inverse of the Jacobian in a 2D linear map.
ushort level () const
 Returns the level of the cell.
const MappingTriangle2dmap () const
 Returns the element map.
 Triangle2d (Triangle &cntr, const MappingTriangle2d &map)
 Constructor.
Real3d vertex (uint i) const
 Returns the coordinates of the ith vertex.
virtual ~Triangle2d ()

Static Public Member Functions

static Real2d duffyInv (const Real2d &x)
 Maps coordinates from $\{(\xi,\eta) : 0 \leq \eta \leq \xi \leq 1\}$ to $[0,1]^2$ to use them in chi.

Protected Member Functions

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

Private Member Functions

 Triangle2d (Triangle &cntr, MappingTriangle2d *map, const Index &idx)
 Private constructor.

Private Attributes

Triangle2dchld_
 Pointer to the first child.
Trianglecntr_
 Reference to the triangle connector (topology)
Index idx_
 Index of this element.
Triangle2dlnk_
 Pointer to a sibling.
MappingTriangle2dmap_
 Pointer to the element map.

Friends

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

Detailed Description

A 2D cell: triangle.

If a triangle is subdivided, four new children are created.

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

meshes.cc.

Definition at line 28 of file cell2D.hh.


Constructor & Destructor Documentation

concepts::Triangle2d::Triangle2d ( Triangle cntr,
const MappingTriangle2d map 
)

Constructor.

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

Parameters:
cntrTopological information of the triangle
mapElement map of the triangle
virtual concepts::Triangle2d::~Triangle2d ( ) [virtual]
concepts::Triangle2d::Triangle2d ( Triangle cntr,
MappingTriangle2d map,
const Index idx 
) [private]

Private constructor.


Member Function Documentation

Real concepts::Triangle2d::area ( ) const

Returns the area of the element.

Real3d concepts::Triangle2d::center ( ) const [inline, virtual]

Returns the center of the cell.

Implements concepts::Cell2.

Definition at line 128 of file cell2D.hh.

Here is the call graph for this function:

Real2d concepts::Triangle2d::chi ( Real  xi,
Real  eta 
) const

Evaluates the element map.

Maps a corner from the unit square [0,1]2 onto the element. The three vertices are (0, 0), (1, 0) and (1, 1). If you already have coordinates in the triangle, use duffyInv.

Returns:
Point in 2D in physical coordinates.
Parameters:
xi$\in [0,1]$
eta$\in [0,1]$
virtual Triangle2d* concepts::Triangle2d::child ( uint  i) [virtual]

Returns a child.

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

Parameters:
iIndex of the child to be returned.

Implements concepts::Cell2.

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

Triangle2d* concepts::Triangle2d::clone ( Triangle cntr,
MappingTriangle2d map 
) const [inline]

Returns a copy of itself.

Definition at line 133 of file cell2D.hh.

Here is the call graph for this function:

Triangle& concepts::Triangle2d::connector ( ) const [inline, virtual]

Returns the triangle connector (topology)

Implements concepts::Cell2.

Definition at line 76 of file cell2D.hh.

static Real2d concepts::Triangle2d::duffyInv ( const Real2d x) [static]

Maps coordinates from $\{(\xi,\eta) : 0 \leq \eta \leq \xi \leq 1\}$ to $[0,1]^2$ to use them in chi.

virtual Real3d concepts::Cell2::elemMap ( const Real3d coord_local) const [inline, virtual, inherited]

Element map from point local coordinates in 3D.

Reference element is 2D, third component is omitted.

Reimplemented from concepts::Cell.

Definition at line 100 of file cell.hh.

Here is the call graph for this function:

virtual Real3d concepts::Cell::elemMap ( const Real  coord_local) const [virtual, inherited]

Element map from point local coordinates in 1D.

Reimplemented in concepts::Edge1d, and concepts::Edge2d.

Real3d concepts::Triangle2d::elemMap ( const Real2d coord_local) const [inline, virtual]

Element map from point local coordinates in 2D.

Implements concepts::Cell2.

Definition at line 97 of file cell2D.hh.

Here is the call graph for this function:

bool concepts::Cell::hasChildren ( ) const [inline, inherited]

Returns true if there is a least one child.

Reimplemented in concepts::Quad2d, and concepts::InfiniteRect2d.

Definition at line 48 of file cell.hh.

Here is the call graph for this function:

virtual std::ostream& concepts::Triangle2d::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Implements concepts::Cell.

MapReal2d concepts::Triangle2d::jacobian ( Real  x,
Real  y 
) const

Returns the Jacobian in a 2D linear map.

The input is a point from [0,1]2, the output is the Jacobian of the map at the given point. The Jacobian includes the map from $T = \{(\xi,\eta) : 0 \leq \eta \leq \xi \leq 1\}$ into the physical coordinates but not the map from $[0,1]^2$ to $T$.

Parameters:
x$\in [0,1]$
y$\in [0,1]$
Real concepts::Triangle2d::jacobianDeterminant ( const Real  x,
const Real  y 
) const

Returns determinant of the Jacobian.

See also:
jacobian
MapReal2d concepts::Triangle2d::jacobianInverse ( const Real  x,
const Real  y 
) const

Returns the inverse of the Jacobian in a 2D linear map.

See also:
jacobian
ushort concepts::Triangle2d::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 83 of file cell2D.hh.

const MappingTriangle2d* concepts::Triangle2d::map ( ) const [inline]

Returns the element map.

Definition at line 130 of file cell2D.hh.

Real3d concepts::Triangle2d::vertex ( uint  i) const [virtual]

Returns the coordinates of the ith vertex.

Implements concepts::Cell2.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Triangle2d::Index i 
) [friend]

Member Data Documentation

Pointer to the first child.

The children are stored in a linked list.

Definition at line 156 of file cell2D.hh.

Reference to the triangle connector (topology)

Definition at line 148 of file cell2D.hh.

Index of this element.

Definition at line 145 of file cell2D.hh.

Pointer to a sibling.

Definition at line 151 of file cell2D.hh.

Pointer to the element map.

Definition at line 159 of file cell2D.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)