dune-geometry 2.9.1
Loading...
Searching...
No Matches
Classes
Dune::RefinementImp::Simplex Namespace Reference

This namespace contains the Refinement implementation for simplices (triangles, tetrahedrons...) More...

Classes

class  RefinementImp
 
class  RefinementIteratorSpecial
 
class  RefinementIteratorSpecial< dimension, CoordType, 0 >
 
class  RefinementIteratorSpecial< dimension, CoordType, dimension >
 

Functions

Utilities
int factorial (int n)
 Calculate n!
 
int binomial (int upper, int lower)
 calculate $\left({upper}\atop{lower}\right)$
 
template<int dimension>
int pointIndex (const FieldVector< int, dimension > &point)
 calculate the index of a given gridpoint within a Kuhn0 simplex
 
template<int n>
FieldVector< int, n > getPermutation (int m)
 Calculate permutation from it's index.
 
template<int dimension, class CoordType >
FieldVector< CoordType, dimension > referenceToKuhn (FieldVector< CoordType, dimension > point, const FieldVector< int, dimension > &kuhn)
 Map from the reference simplex to some Kuhn simplex.
 
template<int dimension, class CoordType >
FieldVector< CoordType, dimension > kuhnToReference (FieldVector< CoordType, dimension > point, const FieldVector< int, dimension > &kuhn)
 Map from some Kuhn simplex to the reference simplex.
 

Detailed Description

This namespace contains the Refinement implementation for simplices (triangles, tetrahedrons...)

See Refinement implementation for simplices.

Function Documentation

◆ binomial()

int Dune::RefinementImp::Simplex::binomial ( int upper,
int lower )
inline

calculate $\left({upper}\atop{lower}\right)$

Runtime is of order O(min {lower, upper-lower})

\deprecate Use binomial from dune/common/math instead. Will be removed after Dune 2.9.

◆ factorial()

int Dune::RefinementImp::Simplex::factorial ( int n)
inline

Calculate n!

Runtime is of order O(n).

\deprecate Use factorial from dune/common/math instead. Will be removed after Dune 2.9.

◆ getPermutation()

template<int n>
FieldVector< int, n > Dune::RefinementImp::Simplex::getPermutation ( int m)

Calculate permutation from it's index.

Runtime is of order O(n).

◆ kuhnToReference()

template<int dimension, class CoordType >
FieldVector< CoordType, dimension > Dune::RefinementImp::Simplex::kuhnToReference ( FieldVector< CoordType, dimension > point,
const FieldVector< int, dimension > & kuhn )

Map from some Kuhn simplex to the reference simplex.

Template Parameters
dimensionDimension of the simplices
CoordTypeThe C++ type of the coordinates

Runtime is of order O(dimension)

Parameters
pointPoint to map
kuhnPermutation of the Kuhn simplex to map from

◆ pointIndex()

template<int dimension>
int Dune::RefinementImp::Simplex::pointIndex ( const FieldVector< int, dimension > & point)

calculate the index of a given gridpoint within a Kuhn0 simplex

Runtime is of order O(dimension^2) (or better for dimension > the coordinates of the point)

◆ referenceToKuhn()

template<int dimension, class CoordType >
FieldVector< CoordType, dimension > Dune::RefinementImp::Simplex::referenceToKuhn ( FieldVector< CoordType, dimension > point,
const FieldVector< int, dimension > & kuhn )

Map from the reference simplex to some Kuhn simplex.

Template Parameters
dimensionDimension of the simplices
CoordTypeThe C++ type of the coordinates

Runtime is of order O(dimension)

Parameters
pointPoint to map
kuhnPermutation of the Kuhn simplex to map to