Dune Core Modules (2.3.1)
generic implementation of DUNE geometries More...
#include <dune/geometry/genericgeometry/geometry.hh>
Public Types | |
| typedef CoordTraits::ctype | ctype |
| Type used for coordinate components. | |
| typedef FieldVector< ctype, mydimension > | LocalCoordinate |
| Type used for parameter coordinates. | |
| typedef FieldVector< ctype, coorddimension > | GlobalCoordinate |
| Type used for world coordinates. | |
| typedef Mapping::JacobianTransposed | JacobianTransposed |
| Type used for Jacobian matrices. More... | |
| typedef Mapping::JacobianInverseTransposed | Jacobian |
| Type used for Jacobian matrices. More... | |
Public Member Functions | |
| BasicGeometry () | |
| Default constructor. | |
| template<class CoordVector > | |
| BasicGeometry (const GeometryType &type, const CoordVector &coords) | |
| Constructor using a GeometryType and a list of corner coordinates. | |
| template<class CoordVector > | |
| BasicGeometry (const CoordVector &coords) | |
| Constructor using a vector of corner coordinates and the dimension. More... | |
| template<int fatherdim> | |
| BasicGeometry (const BasicGeometry< fatherdim, Traits > &father, int i) | |
| obtain a geometry for a subentity More... | |
| BasicGeometry (const BasicGeometry &other) | |
| Copy constructor. | |
| ~BasicGeometry () | |
| Destructor. | |
| const BasicGeometry & | operator= (const BasicGeometry &other) |
| Assignment from other BasicGeometry. | |
| operator bool () const | |
| bool cast More... | |
| GeometryType | type () const |
| Return the topological type of this geometry. | |
| int | corners () const |
| Return the number of corners. | |
| GlobalCoordinate | corner (const int i) const |
| Return the world coordinates of the i-th corner. | |
| GlobalCoordinate | global (const LocalCoordinate &local) const |
| Map local to global coordinates. | |
| LocalCoordinate (const GlobalCoordinate &global) const | |
| Map global to local coordinates. | |
| GlobalCoordinate | center () const |
| return center of element | |
| bool | affine () const |
| Return true if this is an affine geometry. | |
| ctype | integrationElement (const LocalCoordinate &local) const |
| Return the factor $|det F|$ that appears in the integral transformation formula. | |
| ctype | volume () const |
| Return the volume of the element. | |
| const JacobianTransposed & | jacobianTransposed (const LocalCoordinate &local) const |
| Compute the transpose of the Jacobian matrix of the transformation from the reference element into the world space. | |
| const JacobianInverseTransposed & | jacobianInverseTransposed (const LocalCoordinate &local) const |
| Compute the transpose of the inverse Jacobian matrix of the transformation from the reference element into the world space. | |
Detailed Description
class Dune::GenericGeometry::BasicGeometry< mydim, Traits >
generic implementation of DUNE geometries
This class is provides a generic implementation of a DUNE geometry.
Parameters shared by all codimensions are summarized in one class parameter called Traits. As a default traits class, the class DefaultGeometryTraits can be used. Alternatively, the user can provide hand-written traits classes (which may, if that helps, derive from DefaultGeometryTraits). Such classes have to provide the following fields:
The structure specifying the reference mapping is Traits::Mapping::type. An example implementation is the GenericGeometry::CornerMapping which defines the simple mapping taking corners of the reference elements to corner of the entity in space.
The central reference mapping specified by Traits::Mapping::type requires a constructor taking a single argument. The GenericGeometry::BasicGeometry has a constructor with one template argument which is passed on to the constructor of the reference mapping. The interface for the this class is GenericGeometry::Mapping.
To increase the efficiency of the geometry implementation, different strategies for the caching of parts of the geometry data is provided. The specifics are given by the structure Traits::Caching. Possible values are:
- ComputeOnDemand: use caching if method called using barycenter
- PreCompute: use caching in constructor using barycenter
- Note
- This class cannot be used directly as an implementation of Dune::Geometry. Its template parameter list differs from what is expected there from the engine. One of the following derived classes can be used instead:
Member Typedef Documentation
◆ Jacobian
| typedef Mapping::JacobianInverseTransposed Dune::GenericGeometry::BasicGeometry< mydim, Traits >::Jacobian |
Type used for Jacobian matrices.
- Note
- This is not a FieldMatrix but a proxy type that can be assigned to a FieldMatrix.
◆ JacobianTransposed
| typedef Mapping::JacobianTransposed Dune::GenericGeometry::BasicGeometry< mydim, Traits >::JacobianTransposed |
Type used for Jacobian matrices.
- Note
- This is not a FieldMatrix but a proxy type that can be assigned to a FieldMatrix.
Constructor & Destructor Documentation
◆ BasicGeometry() [1/2]
|
inline |
Constructor using a vector of corner coordinates and the dimension.
- Note
- the geometry type is guessed from the number of vertices, thus this will only work up to dim 3
References Dune::GeometryType::id(), Dune::GeometryType::makeFromVertices(), and Dune::GenericGeometry::BasicGeometry< mydim, Traits >::type().
◆ BasicGeometry() [2/2]
|
inline |
obtain a geometry for a subentity
Assume that we have a geometry for some entity d-dimensional E. This method can provide a geometry for the i-th subentity of E (of codimension d - mydimension).
- Note
- This method can be more efficient than just building up the geometry for the subentity. For example, the subgeometry automatically inherits affinity.
- Parameters
-
[in] father geometry of entity E [in] i number of the subentity (in generic numbering)
Member Function Documentation
◆ operator bool()
|
inline |
bool cast
Like a pointer, a BasicGeometry casts to true if and only if it is properly initialized. If a geometry casts to false, none of the interface methods may be called.
The documentation for this class was generated from the following file:
- dune/geometry/genericgeometry/geometry.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden & Uni Heidelberg |
generated with Hugo v0.111.3
(Mar 16, 23:38, 2026)