Dune Core Modules (2.3.1)

Dune::GenericGeometry::LocalGeometryTraits< Grid > Struct Template Reference

grid specific information required by GenericGeometry::LocalGeometry More...

#include <dune/geometry/genericgeometry/geometrytraits.hh>

Detailed Description

template<class Grid>
struct Dune::GenericGeometry::LocalGeometryTraits< Grid >

grid specific information required by GenericGeometry::LocalGeometry

Every implementation of a DUNE Geometry is required to have the same template parameter list:

template< int mydim, int cdim, class Grid >

Consequently, there is no direct way to pass compile time static information to a unified implementation such as the generic geometries. The structure GeometryTraits realizes an indirect way to do this.

For every grid implementation using the generic geometries, this structure must be specialized. The following default implementation can be used (via subclassing) to provide the necessary information. It contains exactly the fields that are necessary:

template< class ctype, int dimW >
struct DefaultGeometryTraits
{
typedef DuneCoordTraits< ctype > CoordTraits;
static const int dimWorld = dimW;
// hybrid [ true if Codim 0 is hybrid ]
static const bool hybrid = true;
template< class Topology >
struct Mapping
{
typedef MappingTraits< CoordTraits, Topology :: dimension, dimWorld > Traits;
typedef CoordPointerStorage< Topology, typename Traits :: GlobalCoordinate >
CornerStorage;
typedef CornerMapping< Topology, Traits, CornerStorage > type;
};
struct Caching
{
static const EvaluationType evaluateJacobianTransposed = ComputeOnDemand;
static const EvaluationType evaluateJacobianInverseTransposed = ComputeOnDemand;
static const EvaluationType evaluateIntegrationElement = ComputeOnDemand;
};
};

This implementation specifies the information used by GenericGeometry::LocalGeometry.

Template Parameters
Gridtype of the grid, this traits class applies to

The documentation for this struct was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 26, 22:29, 2024)