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::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType > Class Template Reference

#include <geomap.hpp>

Detailed Description

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

Public Types

typedef ElementType element_type
 
typedef boost::shared_ptr
< gm_type > 
gm_ptrtype
 
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
< gmc_type
gmc_ptrtype
 
typedef Context< contextv,
ElementType > 
gmc_type
 
typedef
normals_type::const_iterator 
normal_const_iterator
 
typedef node_t_type normal_type
 
typedef ublas::vector
< normal_type > 
normals_type
 
typedef
element_type::permutation_type 
permutation_type
 
typedef gm_type::precompute_ptrtype precompute_ptrtype
 
typedef
tangents_type::const_iterator 
tangent_const_iterator
 
typedef node_t_type tangent_type
 
typedef ublas::vector
< tangent_type > 
tangents_type
 
typedef gm_type::value_type value_type
 

Public Member Functions

gmc_ptrtype clone ()
 
 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)
 
void update (element_type const &__e, uint16_type __f)
 
void update (element_type const &__e, uint16_type __f, permutation_type __perm)
 
void update (element_type const &__e, precompute_ptrtype const &__pc)
 
void update (element_type const &__e)
 
Accessors
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
 
Mutators
void setPc (precompute_ptrtype const &__pc)
 
void setPcFaces (std::vector< std::map< permutation_type, precompute_ptrtype > > const &__pcfaces)
 

Static Public Attributes

static const bool condition = ( ( PDim==NDim )||( ( NDim>=1 )&&( PDim==NDim-1 ) ) )
 
static const size_type context = context_v
 
static const size_type contextv = context_v
 
static const bool is_linear = ( trans == fem::LINEAR )
 
static const uint16_type NDim = ElementType::nRealDim
 
static const uint16_type nDim = NDim
 
static const uint16_type PDim = ElementType::nDim
 
static const
fem::transformation_type 
trans = geometric_mapping_type::trans
 

Member Function Documentation

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
ithe 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 $[N,N,P,P]$.

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 >
node_t_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::barycenterReal ( ) const
inline
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 >
node_t_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::barycenterRef ( ) const
inline
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 >
gmc_ptrtype Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::clone ( )
inline

clone this 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 >
element_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::element ( ) const
inline
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 >
bool Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::elementIsAFace ( ) const
inline
Returns
true if the element is a face, false otherwise

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 >
matrix_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::G ( ) const
inline
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 >
gm_ptrtype const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::geometricMapping ( ) const
inline
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 >
value_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::h ( ) const
inline
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 >
value_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::hFace ( ) const
inline

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 >
size_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::id ( ) const
inline

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 >
size_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::id1 ( ) const
inline

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 >
size_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::id2 ( ) const
inline

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 >
uint16_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::idIn1 ( ) const
inline

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 >
uint16_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::idIn2 ( ) const
inline

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 >
bool Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::isOnConvexSurface ( ) const
inline

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 >
value_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::J ( int  q) const
inline

Get the jacobian of the transformation at the q -th point

Parameters
qindex 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 >
Marker1 Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::marker ( ) const
inline

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 >
Marker2 Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::marker2 ( ) const
inline

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 >
Marker2 Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::marker3 ( ) const
inline

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 >
uint16_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::N ( ) const
inline
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 >
node_t_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::normal ( ) const
inline

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
qthe 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 >
value_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::normalNorm ( int  q) const
inline

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 >
uint16_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::P ( ) const
inline
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 >
precompute_ptrtype const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::pc ( ) const
inline
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 >
permutation_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::permutation ( ) const
inline
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 >
value_type Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::radiusEstimate ( ) const
inline

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 >
void Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::setPc ( precompute_ptrtype const &  __pc)
inline

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 >
node_t_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::unitNormal ( ) const
inline

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 >
void Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::update ( element_type const &  __e,
uint16_type  __f 
)
inline

update information on this context

  • update the coordinate of the real points
  • update the pseudo-inverse of the gradient of the transformation

compute $ K(x_{\mathrm{ref}}) = G \nabla_{\mathrm{ref}} \phi(x_{\mathrm{ref}}) $ where $G $ is the matrix representing the geometric nodes nDof x dim

compute $ B(x_{\mathrm{ref}}) = K ( K^T K )^{-1} $ where $G $ 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 >
void Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::update ( element_type const &  __e)
inline

update information on this context

  • update the coordinate of the real points
  • update the pseudo-inverse of the gradient of the transformation

compute $ K(x_{\mathrm{ref}}) = G \nabla_{\mathrm{ref}} \phi(x_{\mathrm{ref}}) $ where $G $ is the matrix representing the geometric nodes nDof x dim

compute $ B(x_{\mathrm{ref}}) = K ( K^T K )^{-1} $ where $G $ 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 >
matrix_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xReal ( ) 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_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
Returns
the q-th point in the reference convex
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_node_t_type const& Feel::GeoMap< Dim, Order, RealDim, T, Entity, PP >::Context< context_v, ElementType >::xRefs ( ) const
inline
Returns
the set of points in the reference convex

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

Generated on Sun Oct 20 2013 08:25:08 for Feel++ by doxygen 1.8.4