Public Types |
typedef mpl::if_
< mpl::equal_to< mpl::int_
< PDim >, mpl::int_< NDim >
>, mpl::identity< GeoMap< Dim,
Order, NDim, T, Entity, PP >
>, typename mpl::if_
< mpl::and_
< mpl::greater_equal
< mpl::int_< NDim >, mpl::int_
< 1 > >, mpl::equal_to
< mpl::int_< PDim >, mpl::int_
< NDim-1 > > >, mpl::identity
< typename GeoMap< NDim, Order,
NDim, T, Entity, PP >
::face_gm_type >, typename
mpl::if_< mpl::and_
< mpl::equal_to< mpl::int_
< NDim >, mpl::int_
< 3 > >, mpl::equal_to
< mpl::int_< PDim >, mpl::int_
< NDim-2 > > >, mpl::identity
< typename GeoMap< NDim, Order,
NDim, T, Entity, PP >
::edge_gm_type >
, mpl::identity< boost::none_t >
>::type >::type >::type::type | gm_type |
typedef boost::shared_ptr
< gm_type > | gm_ptrtype |
|
typedef gm_type::value_type | value_type |
|
typedef gm_type::precompute_ptrtype | precompute_ptrtype |
typedef Context< contextv,
ElementType > | gmc_type |
typedef boost::shared_ptr
< gmc_type > | gmc_ptrtype |
|
typedef node_t_type | normal_type |
typedef ublas::vector
< normal_type > | normals_type |
typedef
normals_type::const_iterator | normal_const_iterator |
|
typedef node_t_type | tangent_type |
typedef ublas::vector
< tangent_type > | tangents_type |
typedef
tangents_type::const_iterator | tangent_const_iterator |
|
typedef ElementType | element_type |
typedef
element_type::permutation_type | permutation_type |
Public Member Functions |
|
| Context (gm_ptrtype __gm, element_type const &__e, precompute_ptrtype const &__pc) |
|
| Context (gm_ptrtype __gm, element_type const &__e, std::vector< std::map< permutation_type, precompute_ptrtype > > &__pc, uint16_type __f) |
|
| Context (gmc_ptrtype &p) |
| gmc_ptrtype | clone () |
| void | update (element_type const &__e, uint16_type __f) |
|
void | update (element_type const &__e, precompute_ptrtype const &__pc) |
| void | update (element_type const &__e) |
|
| gm_ptrtype const & | geometricMapping () const |
| uint16_type | N () const |
| uint16_type | P () const |
| element_type const & | element () const |
|
element_type const & | element_c () const |
|
uint16_type | nPoints () const |
| matrix_node_t_type const & | xRefs () const |
ublas::matrix_column
< matrix_node_t_type const > | xRef (int q) const |
| matrix_type const & | xReal () const |
ublas::matrix_column
< matrix_type const > | xReal (int q) const |
| value_type | J (int q) const |
| matrix_type const & | G () const |
| matrix_type const & | B (int i) const |
|
value_type | B (int c1, int c2, int q) const |
|
matrix_type const & | K (int i) const |
|
value_type | K (int c1, int c2, int q) const |
|
matrix_type const & | B (int, mpl::bool_< true >) const |
|
matrix_type const & | B (int i, mpl::bool_< false >) const |
boost::multi_array< value_type, 4 >
const & | B3 () const |
| node_t_type | barycenterRef () const |
| node_t_type | barycenterReal () const |
| bool | isOnConvexSurface () const |
|
node_t_type const & | refNormal (int) const |
| value_type | normalNorm (int q) const |
| node_t_type const & | normal () const |
ublas::matrix_column
< matrix_node_t_type const > | normal (int q) const |
| node_t_type const & | unitNormal () const |
|
node_t_type | unitNormal (int q) const |
|
value_type const & | unitNormal (int n, int q) const |
|
node_t_type const & | tangent () const |
|
node_t_type | tangent (int q) const |
|
value_type const & | unitTangent (int n, int q) const |
| size_type | id () const |
|
uint16_type | faceId () const |
| bool | elementIsAFace () const |
| Marker1 | marker () const |
| Marker2 | marker2 () const |
| Marker2 | marker3 () const |
| size_type | id1 () const |
| uint16_type | idIn1 () const |
| size_type | id2 () const |
| uint16_type | idIn2 () const |
| value_type | radiusEstimate () const |
| value_type | h () const |
| value_type | hFace () const |
|
value_type | meas () const |
|
value_type | measurePointElementNeighbors () const |
|
value_type | measFace () const |
| permutation_type | permutation () const |
| precompute_ptrtype const & | pc () const |
std::vector< std::map
< permutation_type,
precompute_ptrtype > > const & | pcFaces () const |
|
| void | setPc (precompute_ptrtype const &__pc) |
Static Public Attributes |
|
static const size_type | contextv = context_v |
|
static const size_type | context = context_v |
|
static const uint16_type | PDim = ElementType::nDim |
|
static const uint16_type | NDim = ElementType::nRealDim |
|
static const uint16_type | nDim = NDim |
static const
fem::transformation_type | trans = geometric_mapping_type::trans |
|
static const bool | is_linear = ( trans == fem::LINEAR ) |
|
static const bool | condition = ( ( PDim==NDim )||( ( NDim>=1 )&&( PDim==NDim-1 ) ) ) |
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType>
class Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >
Context for the geometric mapping depend on a node in the reference element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| matrix_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::B |
( |
int |
i | ) |
const [inline] |
Get the inverse of the transformation at the i -th point
- Parameters:
-
| i | the index of point where the pseudo-inverse is requested |
- Returns:
- the pseudo inverse of the transformation
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| boost::multi_array<value_type,4> const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::B3 |
( |
| ) |
const [inline] |
the tensor of rank 4 for the transformation of 2nd order derivatives from the reference element to the real element. The tensor has the shape
.
- Returns:
- the tensor of rank 4
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the barycenter of the geometric nodes
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the barycenter of the reference nodes
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the real element to which this context is associated
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the matrix associated with the geometric nodes
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the geometric mapping associated with the context
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the max length of the edges of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
Get max length of the edge of the face of the element
- Returns:
- the max length of the edge of the face of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the id of the element
- Returns:
- the id of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the id of the first element containing the element
- Returns:
- the id of the first element containing the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the id of the second element containing the element
- Returns:
- the id of the second element containing the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the local id of the element in the first element containing the element
- Returns:
- the local id of element in the first element containing the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the local id of the element in the second element containing the element
- Returns:
- the local id of element in the second element containing the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
tell whether the point is on the surface of the convex
- Returns:
- true if the point is on the surface, false otherwise
References Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xReal(), and Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xRef().
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
Get the jacobian of the transformation at the q -th point
- Parameters:
-
| q | index of the point where the jacobian is requested |
- Returns:
- the jacobian of the transformation
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the marker of the element
- Returns:
- the marker of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the marker2 of the element
- Returns:
- the marker2 of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the marker3 of the element
- Returns:
- the marker3 of the element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the dimension of the space of the real element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the normal of the real element
- Returns:
- the normal of the real element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| ublas::matrix_column<matrix_node_t_type const> Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::normal |
( |
int |
q | ) |
const [inline] |
normal getter
- Parameters:
-
| q | the index of the normal to be returned |
- Returns:
- the
q -th normal
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the norm_2 of normal of the real element
- Returns:
- the norm_2 of the normal of the real element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the dimension of the space of the reference element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the precompute type
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| std::vector<std::map<permutation_type, precompute_ptrtype> > const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::pcFaces |
( |
| ) |
const [inline] |
- Returns:
- the precompute type for the faces
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the permutation associated with the face
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get an estimate of the radius of the current element
- Returns:
- the radius estimate of the current element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
set some precomputed data on the reference element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
get the unit normal of the real element
- Returns:
- the unit normal of the real element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
update information on this context
- update the coordinate of the real points
- update the pseudo-inverse of the gradient of the transformation
compute
where
is the matrix representing the geometric nodes nDof x dim
compute
where
is the matrix representing the geometric nodes nDof x dim
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
update information on this context
- update the coordinate of the real points
- update the pseudo-inverse of the gradient of the transformation
compute
where
is the matrix representing the geometric nodes nDof x dim
compute
where
is the matrix representing the geometric nodes nDof x dim
References Feel::invalid_uint16_type_value.
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| ublas::matrix_column<matrix_type const> Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xReal |
( |
int |
q | ) |
const [inline] |
- Returns:
- the node in the real element
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
| ublas::matrix_column<matrix_node_t_type const> Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xRef |
( |
int |
q | ) |
const [inline] |
template<uint16_type Dim, uint16_type Order, uint16_type RealDim, typename T = double, template< uint16_type, uint16_type, uint16_type > class Entity = Simplex, template< uint16_type, template< uint16_type RDim > class PolySetType, typename ContinuityType, template< class, uint16_type, class > class Pts, uint16_type > class PP = Lagrange>
template<size_type context_v, typename ElementType >
- Returns:
- the set of points in the reference convex