5 #ifndef DUNE_GRID_CONCEPTS_ARCHETYPES_GEOMETRY_HH 6 #define DUNE_GRID_CONCEPTS_ARCHETYPES_GEOMETRY_HH 8 #include <dune/common/fmatrix.hh> 9 #include <dune/common/fvector.hh> 10 #include <dune/geometry/type.hh> 13 namespace Dune::Concept::Archetypes {
17 template <
int mydim,
int cdim = mydim>
20 static constexpr
int mydimension = mydim;
21 static constexpr
int coorddimension = cdim;
25 using LocalCoordinate = Dune::FieldVector<ctype, mydim>;
26 using GlobalCoordinate = Dune::FieldVector<ctype, cdim>;
27 using Jacobian = Dune::FieldMatrix<ctype, cdim, mydim>;
28 using JacobianTransposed = Dune::FieldMatrix<ctype, mydim, cdim>;
29 using JacobianInverse = Dune::FieldMatrix<ctype, mydim, cdim>;
30 using JacobianInverseTransposed = Dune::FieldMatrix<ctype, cdim, mydim>;
36 GlobalCoordinate corner (
int i)
const;
37 GlobalCoordinate global (
const LocalCoordinate& local)
const;
38 LocalCoordinate local (
const GlobalCoordinate& global)
const;
39 GlobalCoordinate center ()
const;
41 Volume integrationElement (
const LocalCoordinate& local)
const;
42 Volume volume ()
const;
44 Jacobian jacobian (
const LocalCoordinate& local)
const;
45 JacobianTransposed jacobianTransposed (
const LocalCoordinate& local)
const;
46 JacobianInverse jacobianInverse (
const LocalCoordinate& local)
const;
47 JacobianInverseTransposed jacobianInverseTransposed (
const LocalCoordinate& local)
const;
50 template <
int mydim,
int cdim>
56 #endif // DUNE_GRID_CONCEPTS_ARCHETYPES_GEOMETRY_HH concept Geometry
Model of a geometry object.
Definition: concepts/geometry.hh:29
auto referenceElement(const Geometry< mydim, cdim, GridImp, GeometryImp > &geo) -> decltype(referenceElement(geo, geo.impl()))
Definition: common/geometry.hh:558
concept ReferenceElement
Definition: concepts/geometry.hh:18
GeometryType
Type representing VTK's entity geometry types.
Definition: common.hh:132