dune-geometry
2.4
|
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! More... | |
int | binomial (int upper, int lower) |
calculate ![]() | |
template<int dimension> | |
int | pointIndex (const FieldVector< int, dimension > &point) |
calculate the index of a given gridpoint within a Kuhn0 simplex More... | |
template<int n> | |
FieldVector< int, n > | getPermutation (int m) |
Calculate permutation from it's index. More... | |
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. More... | |
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. More... | |
This namespace contains the Refinement implementation for simplices (triangles, tetrahedrons...)
|
inline |
calculate
Runtime is of order O(min {lower, upper-lower})
References factorial().
Referenced by Dune::RefinementImp::Simplex::RefinementImp< dimension_, CoordType >::nVertices(), and pointIndex().
|
inline |
Calculate n!
Runtime is of order O(n).
Referenced by binomial(), Dune::RefinementImp::HCubeTriangulation::RefinementImp< dimension_, CoordType >::nElements(), and Dune::RefinementImp::HCubeTriangulation::RefinementImp< dimension_, CoordType >::nVertices().
FieldVector<int, n> Dune::RefinementImp::Simplex::getPermutation | ( | int | m | ) |
Calculate permutation from it's index.
Runtime is of order O(n).
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.
dimension | Dimension of the simplices |
CoordType | The C++ type of the coordinates |
Runtime is of order O(dimension)
point | Point to map |
kuhn | Permutation of the Kuhn simplex to map from |
Referenced by Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::coords().
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)
References binomial().
Referenced by Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, dimension >::index(), and Dune::RefinementImp::Simplex::RefinementIteratorSpecial< dimension, CoordType, 0 >::vertexIndices().
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.
dimension | Dimension of the simplices |
CoordType | The C++ type of the coordinates |
Runtime is of order O(dimension)
point | Point to map |
kuhn | Permutation of the Kuhn simplex to map to |
Referenced by Dune::RefinementImp::HCubeTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::coords(), Dune::RefinementImp::PrismTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::coords(), Dune::RefinementImp::PyramidTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::coords(), Dune::RefinementImp::PrismTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::geometry(), Dune::RefinementImp::HCubeTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::geometry(), and Dune::RefinementImp::PyramidTriangulation::RefinementIteratorSpecial< dimension, CoordType, dimension >::geometry().