dune-geometry  2.3.1
Classes | Enumerations | Functions
Dune::GenericGeometry Namespace Reference

Classes

class  CachedStorage
class  CachedJacobianTransposed
class  CachedJacobianInverseTransposed
class  CachedMapping
class  CodimTable
class  CodimTable< Element,-1 >
class  DuneGeometryType< Point, linetype >
class  DuneGeometryType< Prism< BaseTopology >, linetype >
class  DuneGeometryType< Pyramid< BaseTopology >, linetype >
class  DuneGeometryTypeProvider
 dynamically convert a generic topology type into a GeometryType More...
struct  Convert< GeometryType::simplex, dim >
struct  Convert< GeometryType::simplex, 0 >
struct  Convert< GeometryType::cube, dim >
struct  Convert< GeometryType::cube, 0 >
struct  Convert< GeometryType::prism, dim >
struct  Convert< GeometryType::pyramid, dim >
class  GenericCornerMapping< Point, Traits, affine, offset >
class  GenericCornerMapping< Prism< BaseTopology >, Traits, affine, offset >
class  GenericCornerMapping< Pyramid< BaseTopology >, Traits, affine, offset >
class  SubMappingCoords
class  CoordStorage
class  CoordPointerStorage
class  CornerMapping
 implementation of GenericGeometry::Mapping for first order lagrange type reference mappings. More...
class  BasicGeometry
 generic implementation of DUNE geometries More...
class  Geometry
 generic implementation of a DUNE (global) geometry More...
class  LocalGeometry
 generic implementation of a DUNE (local) geometry More...
struct  DuneCoordTraits
struct  MappingTraits
 Default mapping traits using Dune::FieldVector and Dune::FieldMatrix. More...
struct  DefaultGeometryTraits
 default settings for BasicGeometry More...
struct  GlobalGeometryTraits< const Grid >
struct  LocalGeometryTraits< const Grid >
class  HybridMapping
 abstract base class for generic mapping More...
class  VirtualMapping
class  NonHybridMapping
 non-virtual geometric mapping More...
class  Mapping
 interface for a mapping More...
class  NonHybridMappingFactory
class  VirtualMappingFactory
class  MappingProvider< HybridMapping< dim, GeometryTraits >, codim >
class  MappingProvider< NonHybridMapping< Topology, GeometryTraits >, codim >
struct  FieldHelper
struct  MatrixHelper
struct  StaticMaximum
struct  Maximum
struct  ReferenceDomain
struct  ReferenceElement
class  SizeImpl< Point, dim, codim >
class  SizeImpl< Prism< BaseTopology >, dim, codim >
class  SizeImpl< Prism< BaseTopology >, dim, 0 >
class  SizeImpl< Prism< BaseTopology >, dim, dim >
class  SizeImpl< Pyramid< BaseTopology >, dim, codim >
class  SizeImpl< Pyramid< BaseTopology >, dim, 0 >
class  SizeImpl< Pyramid< BaseTopology >, dim, dim >
struct  Size
 Statically compute the number of subentities of a given codimension. More...
class  SubTopologyImpl< Point, dim, codim, i >
class  SubTopologyImpl< Prism< BaseTopology >, dim, codim, i >
class  SubTopologyImpl< Prism< BaseTopology >, dim, 0, i >
class  SubTopologyImpl< Prism< BaseTopology >, dim, dim, i >
class  SubTopologyImpl< Pyramid< BaseTopology >, dim, codim, i >
class  SubTopologyImpl< Pyramid< BaseTopology >, dim, 0, i >
class  SubTopologyImpl< Pyramid< BaseTopology >, dim, dim, i >
struct  SubTopology
class  SubTopologySize
struct  GenericSubTopologyNumberingHelper< Prism< BaseTopology >, codim, subdim, subcodim >
struct  GenericSubTopologyNumberingHelper< Prism< BaseTopology >, codim, subdim, 0 >
struct  GenericSubTopologyNumberingHelper< Prism< BaseTopology >, codim, subdim, subdim >
struct  GenericSubTopologyNumberingHelper< Pyramid< BaseTopology >, codim, subdim, subcodim >
struct  GenericSubTopologyNumberingHelper< Pyramid< BaseTopology >, codim, subdim, 0 >
struct  GenericSubTopologyNumberingHelper< Pyramid< BaseTopology >, codim, subdim, subdim >
class  GenericSubTopologyNumbering
class  SubTopologyNumbering
class  SubTopologyMapper
struct  Point
struct  Prism
struct  Pyramid
struct  BaseTopology< Prism< Base > >
struct  BaseTopology< Pyramid< Base > >
struct  IsSimplex
struct  IsCube
struct  IsHybrid
struct  IsGeneralizedPrism
struct  IsGeneralizedPrism< Prism< BaseTopology > >
struct  SimplexTopology
struct  SimplexTopology< 0 >
struct  CubeTopology
struct  CubeTopology< 0 >
struct  PyramidTopology
struct  PrismTopology
class  Topology
class  Topology< id, 0 >
class  IfTopology
class  IfTopology< Operation, 0, Topology >
class  TraceProvider

Enumerations

enum  EvaluationType { ComputeOnDemand, PreCompute }
 If not affine only volume is cached (based on intElCompute) otherwise all quantities can be cached. More...
enum  TopologyConstruction { pyramidConstruction = 0, prismConstruction = 1 }

Functions

unsigned long referenceVolumeInverse (unsigned int topologyId, int dim)
template<class ct , int cdim>
bool checkInside (unsigned int topologyId, int dim, const FieldVector< ct, cdim > &x, ct tolerance, ct factor=ct(1))
template<class ct , int cdim>
unsigned int referenceCorners (unsigned int topologyId, int dim, FieldVector< ct, cdim > *corners)
template<class ct >
ct referenceVolume (unsigned int topologyId, int dim)
template<class ct , int cdim>
unsigned int referenceOrigins (unsigned int topologyId, int dim, int codim, FieldVector< ct, cdim > *origins)
template<class ct , int cdim, int mydim>
unsigned int referenceEmbeddings (unsigned int topologyId, int dim, int codim, FieldVector< ct, cdim > *origins, FieldMatrix< ct, mydim, cdim > *jacobianTransposeds)
template<class ct , int cdim>
unsigned int referenceIntegrationOuterNormals (unsigned int topologyId, int dim, const FieldVector< ct, cdim > *origins, FieldVector< ct, cdim > *normals)
template<class ct , int cdim>
unsigned int referenceIntegrationOuterNormals (unsigned int topologyId, int dim, FieldVector< ct, cdim > *normals)
unsigned int size (unsigned int topologyId, int dim, int codim)
 Compute the number of subentities of a given codimension.
unsigned int subTopologyId (unsigned int topologyId, int dim, int codim, unsigned int i)
 Compute the topology id of a given subentity.
void subTopologyNumbering (unsigned int topologyId, int dim, int codim, unsigned int i, int subcodim, unsigned int *beginOut, unsigned int *endOut)
unsigned int numTopologies (int dim)
 obtain the number of topologies of a given dimension
bool isPyramid (unsigned int topologyId, int dim, int codim=0)
 check whether a pyramid construction was used to create a given codimension
bool isPrism (unsigned int topologyId, int dim, int codim=0)
 check whether a prism construction was used to create a given codimension
bool isTopology (TopologyConstruction construction, unsigned int topologyId, int dim, int codim=0)
 check whether a specific topology construction was used to create a given codimension
unsigned int baseTopologyId (unsigned int topologyId, int dim, int codim=1)
 obtain the base topology of a given codimension

Enumeration Type Documentation

If not affine only volume is cached (based on intElCompute) otherwise all quantities can be cached.

Enumerator:
ComputeOnDemand 

assign if method called using barycenter

PreCompute 

assign in constructor using barycenter

Enumerator:
pyramidConstruction 
prismConstruction 

Function Documentation

unsigned int Dune::GenericGeometry::baseTopologyId ( unsigned int  topologyId,
int  dim,
int  codim = 1 
)
inline

obtain the base topology of a given codimension

Parameters
[in]topologyIdid of the topology
[in]dimdimension of the topology
[in]codimcodimension for which the information is desired (defaults to 1)

References numTopologies().

Referenced by checkInside(), referenceCorners(), referenceEmbeddings(), referenceIntegrationOuterNormals(), referenceOrigins(), referenceVolumeInverse(), size(), subTopologyId(), and subTopologyNumbering().

template<class ct , int cdim>
bool Dune::GenericGeometry::checkInside ( unsigned int  topologyId,
int  dim,
const FieldVector< ct, cdim > &  x,
ct  tolerance,
ct  factor = ct( 1 ) 
)
inline
bool Dune::GenericGeometry::isPrism ( unsigned int  topologyId,
int  dim,
int  codim = 0 
)
inline

check whether a prism construction was used to create a given codimension

Parameters
[in]topologyIdid of the topology
[in]dimdimension of the topology
[in]codimcodimension for which the information is desired (defaults to 0)
Returns
true, if a prism construction was used to generate the codimension the topology.

References numTopologies().

Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::affine(), checkInside(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::global(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), referenceCorners(), referenceEmbeddings(), referenceIntegrationOuterNormals(), referenceOrigins(), referenceVolumeInverse(), size(), subTopologyId(), and subTopologyNumbering().

bool Dune::GenericGeometry::isPyramid ( unsigned int  topologyId,
int  dim,
int  codim = 0 
)
inline

check whether a pyramid construction was used to create a given codimension

Parameters
[in]topologyIdid of the topology
[in]dimdimension of the topology
[in]codimcodimension for which the information is desired (defaults to 0)
Returns
true, if a pyramid construction was used to generate the codimension the topology.

References numTopologies().

Referenced by Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::global(), Dune::MultiLinearGeometry< ct, mydim, cdim, Traits >::jacobianTransposed(), size(), subTopologyId(), and subTopologyNumbering().

bool Dune::GenericGeometry::isTopology ( TopologyConstruction  construction,
unsigned int  topologyId,
int  dim,
int  codim = 0 
)
inline

check whether a specific topology construction was used to create a given codimension

Parameters
[in]constructionconstruction to check for
[in]topologyIdid of the topology
[in]dimdimension of the topology
[in]codimcodimension for which the information is desired (defaults to 0)
Returns
true, if construction was used to generate the codimension the topology.

References numTopologies().

unsigned int Dune::GenericGeometry::numTopologies ( int  dim)
inline

obtain the number of topologies of a given dimension

Note
Valid topology ids are 0,...,numTopologies(dim)-1.
Parameters
[in]dimdimension
Returns
number of topologies for the dimension

Referenced by baseTopologyId(), checkInside(), isPrism(), isPyramid(), isTopology(), Dune::GenericGeometry::VirtualMappingFactory< dim, GeometryTraits >::ConstructorTable< CoordVector >::operator[](), referenceCorners(), referenceEmbeddings(), referenceIntegrationOuterNormals(), referenceOrigins(), referenceVolumeInverse(), and size().

template<class ct , int cdim>
unsigned int Dune::GenericGeometry::referenceCorners ( unsigned int  topologyId,
int  dim,
FieldVector< ct, cdim > *  corners 
)
inline
template<class ct , int cdim, int mydim>
unsigned int Dune::GenericGeometry::referenceEmbeddings ( unsigned int  topologyId,
int  dim,
int  codim,
FieldVector< ct, cdim > *  origins,
FieldMatrix< ct, mydim, cdim > *  jacobianTransposeds 
)
inline
template<class ct , int cdim>
unsigned int Dune::GenericGeometry::referenceIntegrationOuterNormals ( unsigned int  topologyId,
int  dim,
const FieldVector< ct, cdim > *  origins,
FieldVector< ct, cdim > *  normals 
)
inline
template<class ct , int cdim>
unsigned int Dune::GenericGeometry::referenceIntegrationOuterNormals ( unsigned int  topologyId,
int  dim,
FieldVector< ct, cdim > *  normals 
)
inline
template<class ct , int cdim>
unsigned int Dune::GenericGeometry::referenceOrigins ( unsigned int  topologyId,
int  dim,
int  codim,
FieldVector< ct, cdim > *  origins 
)
inline
template<class ct >
ct Dune::GenericGeometry::referenceVolume ( unsigned int  topologyId,
int  dim 
)
inline
unsigned long Dune::GenericGeometry::referenceVolumeInverse ( unsigned int  topologyId,
int  dim 
)

References baseTopologyId(), isPrism(), and numTopologies().

Referenced by referenceVolume().

unsigned int Dune::GenericGeometry::size ( unsigned int  topologyId,
int  dim,
int  codim 
)

Compute the number of subentities of a given codimension.

References baseTopologyId(), isPrism(), isPyramid(), and numTopologies().

Referenced by Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::coords(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::equals(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, 0 >::equals(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::increment(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, 0 >::increment(), Dune::ReferenceElement< ctype, dim >::SubEntityInfo::initialize(), Dune::GenericGeometry::GenericSubTopologyNumberingHelper< Prism< BaseTopology >, codim, subdim, subcodim >::number(), Dune::GenericGeometry::GenericSubTopologyNumberingHelper< Prism< BaseTopology >, codim, subdim, subdim >::number(), Dune::GenericGeometry::GenericSubTopologyNumberingHelper< Pyramid< BaseTopology >, codim, subdim, subcodim >::number(), Dune::GenericGeometry::GenericSubTopologyNumberingHelper< Pyramid< BaseTopology >, codim, subdim, subdim >::number(), referenceCorners(), referenceIntegrationOuterNormals(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::RefinementIteratorSpecial(), Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, 0 >::RefinementIteratorSpecial(), subTopologyId(), Dune::GenericGeometry::SubTopologyMapper< Topology >::SubTopologyMapper(), and subTopologyNumbering().

unsigned int Dune::GenericGeometry::subTopologyId ( unsigned int  topologyId,
int  dim,
int  codim,
unsigned int  i 
)

Compute the topology id of a given subentity.

Parameters
topologyIdTopology id of entity
dimDimension of entity
codimCodimension of the subentity that we are interested in
iNumber of the subentity that we are interested in

References baseTopologyId(), isPrism(), isPyramid(), prismConstruction, pyramidConstruction, and size().

Referenced by Dune::ReferenceElement< ctype, dim >::SubEntityInfo::initialize(), and subTopologyNumbering().

void Dune::GenericGeometry::subTopologyNumbering ( unsigned int  topologyId,
int  dim,
int  codim,
unsigned int  i,
int  subcodim,
unsigned int *  beginOut,
unsigned int *  endOut 
)