Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Feel::Simplex< Dim, Order, RDim > Class Template Reference

#include <simplex.hpp>

Detailed Description

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@fe.nosp@m.elpp.nosp@m..org
+ Inheritance diagram for Feel::Simplex< Dim, Order, RDim >:

Public Types

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::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type 
edge_to_point_t
 
typedef mpl::at< elements_t,
mpl::int_< nDim > >::type 
element_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::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type 
face_to_edge_t
 
typedef mpl::at
< map_entity_to_point_t,
mpl::int_< nDim > >::type 
face_to_point_t
 
typedef topological_face_type GeoBShape
 
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
 
typedef mpl::at< typename
faces_t< real_dimension >
::type, mpl::int_< nDim >
>::type 
topological_face_type
 
typedef no_permutation vertex_permutation_type
 

Public Member Functions

uint16_type dimension () const
 
uint16_type topologicalDimension () const
 
- Public Member Functions inherited from Feel::Convex< Dim, Order, RDim >
 Convex ()
 default constructor
 
 Convex (Convex const &)
 copy constructor
 
virtual ~Convex ()
 destructor
 
Convexoperator= (Convex const &o)
 copy operator
 

Static Public Member Functions

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 uint16_type nPointsOnEdge ()
 
static uint16_type nPointsOnFace ()
 
static uint16_type nPointsOnVertex ()
 
static uint16_type nPointsOnVolume ()
 
static uint32_type polyDims (int n)
 
static std::string type ()
 

Static Public Attributes

static const size_type Geometry = mpl::at<geometries_t, mpl::int_<nDim> >::type::value
 
static const bool is_hypercube = false
 
static const bool is_simplex = true
 
static const uint16_type nbPtsPerEdge = mpl::at<points_edge_t, mpl::int_<nDim> >::type::value
 
static const uint16_type nbPtsPerFace = mpl::at<points_face_t, mpl::int_<nDim> >::type::value
 
static const uint16_type nbPtsPerVertex = ( nOrder==0 )?0:1
 
static const uint16_type nbPtsPerVolume = mpl::at<points_volume_t, mpl::int_<nDim> >::type::value
 
static const uint16_type nDim = Dim
 
static const uint16_type nOrder = Order
 
static const uint16_type nRealDim = RDim
 
static const uint16_type numEdges = mpl::at<edges_t, mpl::int_<nDim> >::type::value
 
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 numNormals = mpl::at<normals_t, mpl::int_<nDim> >::type::value
 
static const uint16_type numPoints
 
static const uint16_type numTopologicalFaces = mpl::at<faces_index_t, mpl::int_<nDim> >::type::value
 
static const uint16_type numVertices = nDim+1
 
static const uint16_type numVolumes = mpl::at<volumes_t, mpl::int_<nDim> >::type::value
 
static const uint16_type real_dimension = nRealDim
 
static const size_type Shape = mpl::at<shapes_t, mpl::int_<nDim> >::type::value
 
static const uint16_type topological_dimension = nDim
 
- Static Public Attributes inherited from Feel::Convex< Dim, Order, RDim >
static const uint16_type nDim = Dim
 
static const uint16_type nOrder = Order
 
static const uint16_type nRealDim = RDim
 

Member Function Documentation

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>
static std::string Feel::Simplex< Dim, Order, RDim >::name ( )
inlinestatic
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:
  1. (n+1) over the line
  2. (n+1)(n+2)/2 over the triangle,
  3. (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

Member Data Documentation

template<uint16_type Dim, uint16_type Order = 1, uint16_type RDim = Dim>
const uint16_type Feel::Simplex< Dim, Order, RDim >::numPoints
static
Initial value:
= ( numVertices * nbPtsPerVertex +
numEdges * nbPtsPerEdge +
numFaces * nbPtsPerFace +
numVolumes * nbPtsPerVolume )

The documentation for this class was generated from the following file:

Generated on Fri Oct 25 2013 14:24:32 for Feel++ by doxygen 1.8.4