Loading...
Searching...
No Matches
Dune::AffineGeometry< ct, mydim, cdim > Class Template Reference

Implementation of the Geometry interface for affine geometries. More...

`#include <dune/geometry/affinegeometry.hh>`

## Public Types

typedef ct | ctype
| Type used for coordinates.
typedef FieldVector< ctype, mydimension > | LocalCoordinate
| Type for local coordinate vector.
typedef FieldVector< ctype, coorddimension > | GlobalCoordinate
| Type for coordinate vector in world space.
typedef ctype | Volume
| Type used for volume.
typedef FieldMatrix< ctype, mydimension, coorddimension > | JacobianTransposed
| Type for the transposed Jacobian matrix.
typedef FieldMatrix< ctype, coorddimension, mydimension > | JacobianInverseTransposed
| Type for the transposed inverse Jacobian matrix.
typedef FieldMatrix< ctype, coorddimension, mydimension > | Jacobian
| Type for the Jacobian matrix.
typedef FieldMatrix< ctype, mydimension, coorddimension > | JacobianInverse
| Type for the inverse Jacobian matrix.

## Public Member Functions

| AffineGeometry ()=default
| Constructs an empty geometry.
| AffineGeometry (const ReferenceElement &refElement, const GlobalCoordinate &origin, const JacobianTransposed &jt)
| Create affine geometry from reference element, one vertex, and the Jacobian matrix.
| AffineGeometry (Dune::GeometryType gt, const GlobalCoordinate &origin, const JacobianTransposed &jt)
| Create affine geometry from GeometryType, one vertex, and the Jacobian matrix.
template<class CoordVector>
| AffineGeometry (const ReferenceElement &refElement, const CoordVector &coordVector)
| Create affine geometry from reference element and a vector of vertex coordinates.
template<class CoordVector>
| AffineGeometry (Dune::GeometryType gt, const CoordVector &coordVector)
| Create affine geometry from GeometryType and a vector of vertex coordinates.
bool | affine () const
| Always true: this is an affine geometry.
Dune::GeometryType | type () const
| Obtain the type of the reference element.
int | corners () const
| Obtain number of corners of the corresponding reference element.
GlobalCoordinate | corner (int i) const
| Obtain coordinates of the i-th corner.
GlobalCoordinate | center () const
| Obtain the centroid of the mapping's image.
GlobalCoordinate | global (const LocalCoordinate &local) const
| Evaluate the mapping.
LocalCoordinate | local (const GlobalCoordinate &global) const
| Evaluate the inverse mapping.
ctype | integrationElement (const LocalCoordinate &local) const
| Obtain the integration element.
Volume | volume () const
| Obtain the volume of the element.
const JacobianTransposed & | jacobianTransposed (const LocalCoordinate &local) const
| Obtain the transposed of the Jacobian.
const JacobianInverseTransposed & | jacobianInverseTransposed (const LocalCoordinate &local) const
| Obtain the transposed of the Jacobian's inverse.
Jacobian | jacobian (const LocalCoordinate &local) const
| Obtain the Jacobian.
JacobianInverse | jacobianInverse (const LocalCoordinate &local) const
| Obtain the Jacobian's inverse.

## Static Public Attributes

static const int | mydimension = mydim
| Dimension of the geometry.
static const int | coorddimension = cdim
| Dimension of the world space.

## Friends

ReferenceElement | referenceElement (const AffineGeometry &geometry)

## Detailed Description

template<class ct, int mydim, int cdim>
class Dune::AffineGeometry< ct, mydim, cdim >

Implementation of the Geometry interface for affine geometries.

Template Parameters

  ct | Type used for coordinates
  mydim | Dimension of the geometry
  cdim | Dimension of the world space

## Member Typedef Documentation

## ctype

template<class ct, int mydim, int cdim>

typedef ct Dune::AffineGeometry< ct, mydim, cdim >::ctype

Type used for coordinates.

## GlobalCoordinate

template<class ct, int mydim, int cdim>

typedef FieldVector< ctype, coorddimension > Dune::AffineGeometry< ct, mydim, cdim >::GlobalCoordinate

Type for coordinate vector in world space.

## Jacobian

template<class ct, int mydim, int cdim>

typedef FieldMatrix< ctype, coorddimension, mydimension > Dune::AffineGeometry< ct, mydim, cdim >::Jacobian

Type for the Jacobian matrix.

## JacobianInverse

template<class ct, int mydim, int cdim>

typedef FieldMatrix< ctype, mydimension, coorddimension > Dune::AffineGeometry< ct, mydim, cdim >::JacobianInverse

Type for the inverse Jacobian matrix.

## JacobianInverseTransposed

template<class ct, int mydim, int cdim>

typedef FieldMatrix< ctype, coorddimension, mydimension > Dune::AffineGeometry< ct, mydim, cdim >::JacobianInverseTransposed

Type for the transposed inverse Jacobian matrix.

## JacobianTransposed

template<class ct, int mydim, int cdim>

typedef FieldMatrix< ctype, mydimension, coorddimension > Dune::AffineGeometry< ct, mydim, cdim >::JacobianTransposed

Type for the transposed Jacobian matrix.

## LocalCoordinate

template<class ct, int mydim, int cdim>

typedef FieldVector< ctype, mydimension > Dune::AffineGeometry< ct, mydim, cdim >::LocalCoordinate

Type for local coordinate vector.

## Volume

template<class ct, int mydim, int cdim>

typedef ctype Dune::AffineGeometry< ct, mydim, cdim >::Volume

Type used for volume.

## Constructor & Destructor Documentation

## AffineGeometry() [1/5]

template<class ct, int mydim, int cdim>

Dune::AffineGeometry< ct, mydim, cdim >::AffineGeometry | ( |  | ) |

default

Constructs an empty geometry.

This constructor creates an empty (invalid) affine geometry. It may not be used in any way except for assigning other affine geometries to it. After assigning a valid geometry, it may be used without restrictions.

## AffineGeometry() [2/5]

template<class ct, int mydim, int cdim>

Dune::AffineGeometry< ct, mydim, cdim >::AffineGeometry | ( | const ReferenceElement & | refElement,
|  | const GlobalCoordinate & | origin,
|  | const JacobianTransposed & | jt )

inline

Create affine geometry from reference element, one vertex, and the Jacobian matrix.

## AffineGeometry() [3/5]

template<class ct, int mydim, int cdim>

Dune::AffineGeometry< ct, mydim, cdim >::AffineGeometry | ( | Dune::GeometryType | gt,
|  | const GlobalCoordinate & | origin,
|  | const JacobianTransposed & | jt )

inline

Create affine geometry from GeometryType, one vertex, and the Jacobian matrix.

## AffineGeometry() [4/5]

template<class ct, int mydim, int cdim>
template<class CoordVector>

Dune::AffineGeometry< ct, mydim, cdim >::AffineGeometry | ( | const ReferenceElement & | refElement,
|  | const CoordVector & | coordVector )

inline

Create affine geometry from reference element and a vector of vertex coordinates.

## AffineGeometry() [5/5]

template<class ct, int mydim, int cdim>
template<class CoordVector>

Dune::AffineGeometry< ct, mydim, cdim >::AffineGeometry | ( | Dune::GeometryType | gt,
|  | const CoordVector & | coordVector )

inline

Create affine geometry from GeometryType and a vector of vertex coordinates.

## Member Function Documentation

## affine()

template<class ct, int mydim, int cdim>

bool Dune::AffineGeometry< ct, mydim, cdim >::affine | ( |  | ) | const

inline

Always true: this is an affine geometry.

## center()

template<class ct, int mydim, int cdim>

GlobalCoordinate Dune::AffineGeometry< ct, mydim, cdim >::center | ( |  | ) | const

inline

Obtain the centroid of the mapping's image.

## corner()

template<class ct, int mydim, int cdim>

GlobalCoordinate Dune::AffineGeometry< ct, mydim, cdim >::corner | ( | int | i | ) | const

inline

Obtain coordinates of the i-th corner.

## corners()

template<class ct, int mydim, int cdim>

int Dune::AffineGeometry< ct, mydim, cdim >::corners | ( |  | ) | const

inline

Obtain number of corners of the corresponding reference element.

## global()

template<class ct, int mydim, int cdim>

GlobalCoordinate Dune::AffineGeometry< ct, mydim, cdim >::global | ( | const LocalCoordinate & | local | ) | const

inline

Evaluate the mapping.

Parameters

  [in] | local | local coordinate to map

Returns
  corresponding global coordinate

## integrationElement()

template<class ct, int mydim, int cdim>

ctype Dune::AffineGeometry< ct, mydim, cdim >::integrationElement | ( | const LocalCoordinate & | local | ) | const

inline

Obtain the integration element.

If the Jacobian of the mapping is denoted by $J(x)$, the integration integration element is given by

Parameters

  [in] | local | local coordinate to evaluate the integration element in

Returns
  the integration element .

## jacobian()

template<class ct, int mydim, int cdim>

Jacobian Dune::AffineGeometry< ct, mydim, cdim >::jacobian | ( | const LocalCoordinate & | local | ) | const

inline

Obtain the Jacobian.

Parameters

  [in] | local | local coordinate to evaluate Jacobian in

Returns
  a copy of the transposed of the Jacobian

## jacobianInverse()

template<class ct, int mydim, int cdim>

JacobianInverse Dune::AffineGeometry< ct, mydim, cdim >::jacobianInverse | ( | const LocalCoordinate & | local | ) | const

inline

Obtain the Jacobian's inverse.

The Jacobian's inverse is defined as a pseudo-inverse. If we denote the Jacobian by , the following condition holds:

## jacobianInverseTransposed()

template<class ct, int mydim, int cdim>

const JacobianInverseTransposed & Dune::AffineGeometry< ct, mydim, cdim >::jacobianInverseTransposed | ( | const LocalCoordinate & | local | ) | const

inline

Obtain the transposed of the Jacobian's inverse.

The Jacobian's inverse is defined as a pseudo-inverse. If we denote the Jacobian by , the following condition holds:

## jacobianTransposed()

template<class ct, int mydim, int cdim>

const JacobianTransposed & Dune::AffineGeometry< ct, mydim, cdim >::jacobianTransposed | ( | const LocalCoordinate & | local | ) | const

inline

Obtain the transposed of the Jacobian.

Parameters

  [in] | local | local coordinate to evaluate Jacobian in

Returns
  a reference to the transposed of the Jacobian

## local()

template<class ct, int mydim, int cdim>

LocalCoordinate Dune::AffineGeometry< ct, mydim, cdim >::local | ( | const GlobalCoordinate & | global | ) | const

inline

Evaluate the inverse mapping.

Parameters

  [in] | global | global coordinate to map

Returns
  corresponding local coordinate

The returned local coordinate y minimizes

(global( y ) - x).two_norm()
Dune::AffineGeometry::global
GlobalCoordinate global(const LocalCoordinate &local) const
Evaluate the mapping.
Definition affinegeometry.hh:154

on the entire affine hull of the reference element. This degenerates to the inverse map if the argument y is in the range of the map.

## type()

template<class ct, int mydim, int cdim>

Dune::GeometryType Dune::AffineGeometry< ct, mydim, cdim >::type | ( |  | ) | const

inline

Obtain the type of the reference element.

## volume()

template<class ct, int mydim, int cdim>

Volume Dune::AffineGeometry< ct, mydim, cdim >::volume | ( |  | ) | const

inline

Obtain the volume of the element.

## Friends And Related Symbol Documentation

## referenceElement

template<class ct, int mydim, int cdim>

ReferenceElement referenceElement | ( | const AffineGeometry< ct, mydim, cdim > & | geometry | ) |

friend

## Member Data Documentation

## coorddimension

template<class ct, int mydim, int cdim>

const int Dune::AffineGeometry< ct, mydim, cdim >::coorddimension = cdim

static

Dimension of the world space.

## mydimension

template<class ct, int mydim, int cdim>

const int Dune::AffineGeometry< ct, mydim, cdim >::mydimension = mydim

static

Dimension of the geometry.

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

- affinegeometry.hh