|
dune-geometry 2.10
|
generic geometry implementation based on corner coordinates More...
#include <dune/geometry/multilineargeometry.hh>

Classes | |
| class | JacobianInverseTransposed |
Public Types | |
| typedef ct | ctype |
| coordinate type | |
| typedef FieldVector< ctype, mydimension > | LocalCoordinate |
| type of local coordinates | |
| typedef FieldVector< ctype, coorddimension > | GlobalCoordinate |
| type of global coordinates | |
| typedef ctype | Volume |
| type of volume | |
| typedef FieldMatrix< ctype, mydimension, coorddimension > | JacobianTransposed |
| type of jacobian transposed | |
| typedef FieldMatrix< ctype, coorddimension, mydimension > | Jacobian |
| Type for the Jacobian matrix. | |
| typedef FieldMatrix< ctype, mydimension, coorddimension > | JacobianInverse |
| Type for the inverse Jacobian matrix. | |
| typedef ReferenceElements::ReferenceElement | ReferenceElement |
| type of reference element | |
Public Member Functions | |
| template<class Corners> | |
| MultiLinearGeometry (const ReferenceElement &refElement, const Corners &corners) | |
| constructor | |
| template<class Corners> | |
| MultiLinearGeometry (Dune::GeometryType gt, const Corners &corners) | |
| constructor | |
| bool | affine () const |
| is this mapping affine? | |
| Dune::GeometryType | type () const |
| obtain the name 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 &globalCoord) const |
| evaluate the inverse mapping | |
| Volume | integrationElement (const LocalCoordinate &local) const |
| obtain the integration element | |
| Volume | volume () const |
| obtain the volume of the mapping's image | |
| JacobianTransposed | jacobianTransposed (const LocalCoordinate &local) const |
| obtain the transposed of the Jacobian | |
| 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 |
| geometry dimension | |
| static const int | coorddimension = cdim |
| coordinate dimension | |
Protected Types | |
| typedef Dune::ReferenceElements< ctype, mydimension > | ReferenceElements |
| typedef Traits::MatrixHelper | MatrixHelper |
| typedef std::conditional< hasSingleGeometryType, std::integral_constant< unsignedint, Traits::templatehasSingleGeometryType< mydimension >::topologyId >, unsignedint >::type | TopologyId |
Protected Member Functions | |
| ReferenceElement | refElement () const |
| TopologyId | topologyId () const |
| bool | affine (JacobianTransposed &jacobianT) const |
Static Protected Member Functions | |
| template<bool add, int dim, class CornerIterator> | |
| static void | global (TopologyId topologyId, std::integral_constant< int, dim >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
| template<bool add, class CornerIterator> | |
| static void | global (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, GlobalCoordinate &y) |
| template<bool add, int rows, int dim, class CornerIterator> | |
| static void | jacobianTransposed (TopologyId topologyId, std::integral_constant< int, dim >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, FieldMatrix< ctype, rows, cdim > &jt) |
| template<bool add, int rows, class CornerIterator> | |
| static void | jacobianTransposed (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, const ctype &df, const LocalCoordinate &x, const ctype &rf, FieldMatrix< ctype, rows, cdim > &jt) |
| template<int dim, class CornerIterator> | |
| static bool | affine (TopologyId topologyId, std::integral_constant< int, dim >, CornerIterator &cit, JacobianTransposed &jt) |
| template<class CornerIterator> | |
| static bool | affine (TopologyId topologyId, std::integral_constant< int, 0 >, CornerIterator &cit, JacobianTransposed &jt) |
generic geometry implementation based on corner coordinates
Based on the recursive definition of the reference elements, the MultiLinearGeometry provides a generic implementation of a geometry given the corner coordinates.
The geometric mapping is multilinear in the classical sense only in the case of cubes; for simplices it is linear. The name is still justified, because the mapping satisfies the important property of begin linear along edges.
| ct | coordinate type |
| mydim | geometry dimension |
| cdim | coordinate dimension |
| Traits | traits allowing to tweak some implementation details (optional) |
The requirements on the traits are documented along with their default, MultiLinearGeometryTraits.
| typedef ct Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::ctype |
coordinate type
| typedef FieldVector< ctype, coorddimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::GlobalCoordinate |
type of global coordinates
| typedef FieldMatrix< ctype, coorddimension, mydimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::Jacobian |
Type for the Jacobian matrix.
| typedef FieldMatrix< ctype, mydimension, coorddimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianInverse |
Type for the inverse Jacobian matrix.
| typedef FieldMatrix< ctype, mydimension, coorddimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::JacobianTransposed |
type of jacobian transposed
| typedef FieldVector< ctype, mydimension > Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::LocalCoordinate |
type of local coordinates
|
protected |
| typedef ReferenceElements::ReferenceElement Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::ReferenceElement |
type of reference element
|
protected |
|
protected |
| typedef ctype Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::Volume |
type of volume
|
inline |
constructor
| [in] | refElement | reference element for the geometry |
| [in] | corners | corners to store internally |
|
inline |
constructor
| [in] | gt | geometry type |
| [in] | corners | corners to store internally |
|
inline |
is this mapping affine?
|
inlineprotected |
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inline |
obtain the centroid of the mapping's image
|
inline |
obtain coordinates of the i-th corner
|
inline |
obtain number of corners of the corresponding reference element
|
inline |
evaluate the mapping
| [in] | local | local coordinate to map |
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inline |
obtain the integration element
If the Jacobian of the mapping is denoted by $J(x)$, the integration integration element 
![\[ \mu(x) = \sqrt{|\det (J^T(x) J(x))|}.\]](form_1.png)
| [in] | local | local coordinate to evaluate the integration element in |

|
inline |
|
inline |
|
inline |
|
inline |
obtain the transposed of the Jacobian
| [in] | local | local coordinate to evaluate Jacobian in |
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inline |
evaluate the inverse mapping
| [in] | globalCoord | global coordinate to map |
|
inlineprotected |
|
inlineprotected |
|
inline |
obtain the name of the reference element
|
inline |
obtain the volume of the mapping's image
|
static |
coordinate dimension
|
static |
geometry dimension