simplex of dimension Dim
More...
#include <simplex.hpp>
|
typedef mpl::at< elements_t,
mpl::int_< nDim > >::type | element_type |
|
typedef mpl::at< typename
faces_t< real_dimension >
::type, mpl::int_< nDim >
>::type | topological_face_type |
|
typedef topological_face_type | GeoBShape |
|
typedef mpl::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type | edge_to_point_t |
|
typedef mpl::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type | face_to_point_t |
|
typedef mpl::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type | face_to_edge_t |
|
typedef no_permutation | vertex_permutation_type |
|
typedef mpl::if_
< mpl::greater_equal
< mpl::int_< nDim >, mpl::int_
< 2 > >, mpl::identity
< line_permutations >
, mpl::identity
< no_permutation >
>::type::type | edge_permutation_type |
|
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 3 > >, mpl::identity
< triangular_faces_type >
, mpl::identity
< no_permutation >
>::type::type | face_permutation_type |
|
typedef mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 2 > >, mpl::identity
< edge_permutation_type >
, typename mpl::if_
< mpl::equal_to< mpl::int_
< nDim >, mpl::int_
< 3 > >, mpl::identity
< face_permutation_type >
, mpl::identity
< no_permutation > >::type >
::type::type | permutation_type |
|
|
static uint16_type | nPointsOnVertex () |
|
static uint16_type | nPointsOnEdge () |
|
static uint16_type | nPointsOnFace () |
|
static uint16_type | nPointsOnVolume () |
|
static uint32_type | polyDims (int n) |
|
static uint16_type | e2p (uint16_type e, uint16_type p) |
|
static uint16_type | f2e (uint16_type f, uint16_type e) |
|
static uint16_type | f2eLoc (uint16_type f, uint16_type e) |
|
static uint16_type | f2p (uint16_type f, uint16_type p) |
|
static std::string | name () |
|
static std::string | type () |
|
|
static const bool | is_simplex = true |
|
static const bool | is_hypercube = false |
|
static const uint16_type | nDim = Dim |
|
static const uint16_type | nOrder = Order |
|
static const uint16_type | nRealDim = RDim |
|
static const uint16_type | topological_dimension = nDim |
|
static const uint16_type | real_dimension = nRealDim |
|
static const size_type | Shape = mpl::at<shapes_t, mpl::int_<nDim> >::type::value |
|
static const size_type | Geometry = mpl::at<geometries_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numVertices = nDim+1 |
|
static const uint16_type | numFaces = mpl::at<geo_faces_index_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numGeometricFaces = mpl::at<geo_faces_index_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numTopologicalFaces = mpl::at<faces_index_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numEdges = mpl::at<edges_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numVolumes = mpl::at<volumes_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numNormals = mpl::at<normals_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | nbPtsPerVertex = (nOrder==0)?0:1 |
|
static const uint16_type | nbPtsPerEdge = (nOrder==0)?((nDim==1)?1:0):mpl::at<points_edge_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | nbPtsPerFace = (nOrder==0)?((nDim==2)?1:0):mpl::at<points_face_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | nbPtsPerVolume = (nOrder==0)?((nDim==3)?1:0):mpl::at<points_volume_t, mpl::int_<nDim> >::type::value |
|
static const uint16_type | numPoints |
|
static const uint16_type | nDim = Dim |
|
static const uint16_type | nOrder = Order |
|
static const uint16_type | nRealDim = RDim |
|
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
class Feel::Simplex< Dim, Order, RDim >
simplex of dimension Dim
- Author
- Christophe Prud'homme chris.nosp@m.toph.nosp@m.e.pru.nosp@m.dhom.nosp@m.me@uj.nosp@m.f-gr.nosp@m.enobl.nosp@m.e.fr
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
uint16_type Feel::Simplex< Dim, Order, RDim >::dimension |
( |
| ) |
const |
|
inline |
- Returns
- the dimension of the space where the simplex resides
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::e2p |
( |
uint16_type |
e, |
|
|
uint16_type |
p |
|
) |
| |
|
inlinestatic |
Given an edge e
in the element and the local index p
(0 or 1) of a point in the edge e
,
- Returns
- the index in the element of the point.
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::f2e |
( |
uint16_type |
f, |
|
|
uint16_type |
e |
|
) |
| |
|
inlinestatic |
Given a face f
in the element and the local index e
of an edge in the face f
,
- Returns
- the index in the element of the edge.
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::f2eLoc |
( |
uint16_type |
f, |
|
|
uint16_type |
e |
|
) |
| |
|
inlinestatic |
Given a face f
in the element and the global index e
of an edge in the face f
,
- Returns
- the local index in the element of the edge.
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::f2p |
( |
uint16_type |
f, |
|
|
uint16_type |
p |
|
) |
| |
|
inlinestatic |
Given a face f
in the element and the local index p
of a point in the face f
,
- Returns
- the index in the element of the point.
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
- Returns
- the name of the simplex
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::nPointsOnEdge |
( |
| ) |
|
|
inlinestatic |
Returns the number of points per edge
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::nPointsOnFace |
( |
| ) |
|
|
inlinestatic |
Returns the number of points per face
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::nPointsOnVertex |
( |
| ) |
|
|
inlinestatic |
Returns the number of points per vertex
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint16_type Feel::Simplex< Dim, Order, RDim >::nPointsOnVolume |
( |
| ) |
|
|
inlinestatic |
Returns the number of points per volume
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
static uint32_type Feel::Simplex< Dim, Order, RDim >::polyDims |
( |
int |
n | ) |
|
|
inlinestatic |
- Returns
- the number of polynomials of total degree
n
on the shape:
- (n+1) over the line
- (n+1)(n+2)/2 over the triangle,
- (n+1)(n+2)(n+3)/6 in three dimensions.
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
uint16_type Feel::Simplex< Dim, Order, RDim >::topologicalDimension |
( |
| ) |
const |
|
inline |
- Returns
- the topological dimension of the simplex
template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
Initial value:= ( numVertices * nbPtsPerVertex +
numEdges * nbPtsPerEdge +
numFaces * nbPtsPerFace +
numVolumes * nbPtsPerVolume )