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::FunctionSpace< A0, A1, A2, A3, A4 > Class Template Reference

#include <functionspace.hpp>

Detailed Description

template<typename A0, typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
class Feel::FunctionSpace< A0, A1, A2, A3, A4 >

Author
Function Space Class

FunctionSpace is a representation of a functional space parametrized by the type of the mesh (MeshType)

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::FunctionSpace< A0, A1, A2, A3, A4 >:

Public Types

typedef
functionspace_signature::bind
< A0, A1, A2, A3, A4 >::type 
args
 
typedef parameter::binding
< args, tag::bases_list,
detail::bases< Lagrange
< 1, Scalar > > >::type 
bases_list
 
typedef detail::bases2
< typename mpl::transform
< bases_list,
GetComponentBasis< mpl::_1 >
, mpl::back_inserter
< fusion::vector<> > >::type > 
component_basis_vector_type
 
typedef mpl::transform
< bases_list,
ChangeBasisToComponentBasis
< mpl::_1 >
, mpl::back_inserter
< fusion::vector<> > >::type 
component_functionspace_vector_type
 
typedef mpl::transform
< bases_list, ChangeBasis
< mpl::_1 >
, mpl::back_inserter
< fusion::vector<> > >::type 
functionspace_vector_type
 
typedef parameter::binding
< args, tag::mesh_type >::type 
meshes_list
 
typedef parameter::binding
< args, tag::periodicity_type,
Periodicity< NoPeriodicity >
>::type 
periodicity_type
 
typedef parameter::binding
< args, tag::value_type,
double >::type 
value_type
 
Typedefs
typedef ublas::type_traits
< value_type >::real_type 
real_type
 
typedef node< value_type >::type node_type
 
typedef FunctionSpace< A0, A1,
A2, A3, A4 > 
functionspace_type
 
typedef boost::shared_ptr
< functionspace_type
functionspace_ptrtype
 
typedef boost::shared_ptr
< functionspace_type
pointer_type
 
typedef FunctionSpace
< meshes_list,
component_basis_vector_type,
value_type, periodicity_type > 
component_functionspace_type
 
typedef boost::shared_ptr
< component_functionspace_type
component_functionspace_ptrtype
 
typedef bases_list BasisType
 
typedef mpl::if_< mpl::bool_
< is_composite >
, mpl::identity< bases_list >
, mpl::identity< basis_0_type >
>::type::type 
basis_type
 
typedef boost::shared_ptr
< basis_type > 
basis_ptrtype
 
typedef basis_type reference_element_type
 
typedef boost::shared_ptr
< reference_element_type > 
reference_element_ptrtype
 
typedef reference_element_type fe_type
 
typedef reference_element_ptrtype fe_ptrtype
 
typedef mpl::if_< mpl::bool_
< is_composite >
, mpl::identity< boost::none_t >
, mpl::identity< typename
basis_0_type::PreCompute >
>::type 
pc_type
 
typedef boost::shared_ptr
< pc_type > 
pc_ptrtype
 
typedef mpl::if_< mpl::bool_
< is_composite >
, mpl::identity
< component_basis_vector_type >
, typename mpl::at_c
< component_basis_vector_type, 0 >
::type::template apply< nDim,
nRealDim, value_type,
convex_type > >::type::type 
component_basis_type
 
typedef boost::shared_ptr
< component_basis_type > 
component_basis_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< typename
mesh_type::trace_mesh_type >
, mpl::identity< mpl::void_ >
>::type::type 
trace_mesh_type
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< typename
mesh_type::trace_mesh_ptrtype >
, mpl::identity< mpl::void_ >
>::type::type 
trace_mesh_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< FunctionSpace
< trace_mesh_type, bases_list >
>, mpl::identity< mpl::void_ >
>::type::type 
trace_functionspace_type
 
typedef boost::shared_ptr
< trace_functionspace_type > 
trace_functionspace_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< typename
mesh_type::trace_trace_mesh_type >
, mpl::identity< mpl::void_ >
>::type::type 
trace_trace_mesh_type
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< typename
mesh_type::trace_trace_mesh_ptrtype >
, mpl::identity< mpl::void_ >
>::type::type 
trace_trace_mesh_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 1 > >, mpl::identity
< FunctionSpace
< trace_trace_mesh_type,
bases_list > >, mpl::identity
< mpl::void_ > >::type::type 
trace_trace_functionspace_type
 
typedef boost::shared_ptr
< trace_trace_functionspace_type > 
trace_trace_functionspace_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename mesh_type::gm_type >
, mpl::identity< mpl::void_ >
>::type::type 
gm_type
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename mesh_type::gm1_type >
, mpl::identity< mpl::void_ >
>::type::type 
gm1_type
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename
mesh_type::element_type >
, mpl::identity< mpl::void_ >
>::type::type 
geoelement_type
 
typedef boost::shared_ptr
< gm_type > 
gm_ptrtype
 
typedef boost::shared_ptr
< gm1_type > 
gm1_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename gm_type::template
Context< vm::POINT|vm::JACOBIAN|vm::HESSIAN|vm::KB,
geoelement_type >
>, mpl::identity< mpl::void_ >
>::type::type 
gmc_type
 
typedef boost::shared_ptr
< gmc_type > 
gmc_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename
gm_type::precompute_ptrtype >
, mpl::identity< mpl::void_ >
>::type::type 
geopc_ptrtype
 
typedef mpl::if_< mpl::greater
< mpl::int_< nDim >, mpl::int_
< 0 > >, mpl::identity
< typename
gm_type::precompute_type >
, mpl::identity< mpl::void_ >
>::type::type 
geopc_type
 
typedef mpl::if_< mpl::bool_
< is_composite >
, mpl::identity< DofComposite >
, mpl::identity< DofTable
< mesh_type, basis_type,
periodicity_0_type >
> >::type::type 
dof_type
 
typedef boost::shared_ptr
< dof_type > 
dof_ptrtype
 
typedef mpl::if_
< mpl::equal_to< mpl::int_
< N_COMPONENTS >, mpl::int_
< 1 > >, mpl::identity
< value_type >, mpl::identity
< node_type > >::type::type 
return_type
 
typedef boost::function
< return_type(node_type const &)> 
function_type
 
typedef Element< value_type > element_type
 
typedef Element< value_type > real_element_type
 
typedef boost::shared_ptr
< element_type > 
element_ptrtype
 
typedef std::map< size_type,
std::vector< size_type > > 
proc_dist_map_type
 

Public Member Functions

 BOOST_MPL_ASSERT_NOT ((boost::is_same< mpl::at< bases_list, mpl::int_< 0 > >, mpl::void_ >))
 
 FunctionSpace (FunctionSpace const &__fe)
 
Operator overloads
void operator() (MESH_CHANGES mesh_changes)
 
Accessors
template<typename Context_t >
matrix_node< value_type >::type ptsInContext (Context_t const &context, mpl::int_< 2 >) const
 
uint16_type qDim () const
 
size_type nDof () const
 
size_type nLocalDof () const
 
size_type nLocalDofWithGhost () const
 
size_type nLocalDofWithoutGhost () const
 
size_type nLocalDofWithGhostOnProc (const int proc) const
 
size_type nLocalDofWithoutGhostOnProc (const int proc) const
 
proc_dist_map_type getProcDistMap () const
 
size_type nDofStart (size_type i=0) const
 
size_type nLocalDofStart (size_type i=0) const
 
size_type nLocalDofWithGhostStart (size_type i=0) const
 
size_type nLocalDofWithoutGhostStart (size_type i=0) const
 
size_type nLocalDofWithGhostOnProcStart (const int proc, size_type i=0) const
 
size_type nLocalDofWithoutGhostOnProcStart (const int proc, size_type i=0) const
 
uint16_type nSubFunctionSpace () const
 
size_type nDofPerComponent () const
 
mesh_ptrtype & mesh ()
 
mesh_ptrtype const & mesh () const
 
template<int i>
GetMesh< mesh_ptrtype, i >::type mesh () const
 
template<int i>
GetMesh< mesh_ptrtype, i >::type mesh (mpl::bool_< true >) const
 
template<int i>
GetMesh< mesh_ptrtype, i >::type mesh (mpl::bool_< false >) const
 
basis_ptrtype const & basis () const
 
std::string basisName () const
 
std::string basisName (mpl::bool_< true >) const
 
std::string basisName (mpl::bool_< false >) const
 
std::vector< int > basisOrder () const
 
std::vector< int > basisOrder (mpl::bool_< true >) const
 
std::vector< int > basisOrder (mpl::bool_< false >) const
 
reference_element_ptrtype const & fe () const
 
gm_ptrtype const & gm () const
 
gm1_ptrtype const & gm1 () const
 
DataMap const & map () const
 
DataMap const & mapOn () const
 
DataMap const & mapOnOff () const
 
dof_ptrtype dof ()
 
dof_ptrtype dofOn ()
 
dof_ptrtype dofOnOff ()
 
dof_ptrtype const & dof () const
 
dof_ptrtype const & dofOn () const
 
dof_ptrtype const & dofOnOff () const
 
functionspace_vector_type const & functionSpaces () const
 
std::vector< std::vector
< size_type > > 
dofIndexSplit ()
 
element_type element (std::string const &name="u")
 
element_ptrtype elementPtr (std::string const &name="u")
 
template<int i>
mpl::at_c
< functionspace_vector_type, i >
::type 
functionSpace ()
 
component_functionspace_ptrtype
const & 
compSpace () const
 
trace_functionspace_ptrtype trace () const
 
template<typename RangeT >
trace_functionspace_ptrtype trace (RangeT range) const
 
trace_trace_functionspace_ptrtype wireBasket () const
 
template<typename RangeT >
trace_trace_functionspace_ptrtype wireBasket (RangeT range) const
 
bool hasRegionTree () const
 
region_tree_ptrtype const & regionTree () const
 
void updateRegionTree () const
 
bool findPoint (node_type const &pt, size_type &cv, node_type &ptr) const
 
void rebuildDofPoints ()
 
Methods
void printInfo () const
 
- Public Member Functions inherited from Feel::FunctionSpaceBase
virtual ~FunctionSpaceBase ()
 destructor
 
FunctionSpaceBaseoperator= (FunctionSpaceBase const &o)
 copy operator
 

Protected Attributes

component_functionspace_ptrtype M_comp_space
 component fe space
 
dof_ptrtype M_dof
 Degrees of freedom.
 
dof_ptrtype M_dofOnOff
 Degrees of freedom (only init wiht mpi)
 
mesh_ptrtype M_mesh
 
reference_element_ptrtype M_ref_fe
 finite element reference type
 
boost::optional
< region_tree_ptrtype
M_rt
 
boost::shared_ptr< WorldComm > M_worldComm
 
std::vector< WorldComm > M_worldsComm
 

Friends

class ComponentSpace
 

Constants

typedef meshes_list MeshesListType
 
typedef GetMesh< meshes_list, 0 >
::type 
mesh_0_type
 
typedef mpl::if_
< boost::is_base_of< MeshBase,
meshes_list >, mpl::identity
< meshes_list >, mpl::identity
< mesh_0_type > >::type::type 
mesh_type
 
typedef mpl::if_
< boost::is_base_of< MeshBase,
meshes_list >, mpl::identity
< boost::shared_ptr< mesh_type >
>, mpl::identity< typename
mpl::transform< meshes_list,
ChangeToMeshPtr< mpl::_1 >
, mpl::back_inserter< meshes
<> > >::type > >::type::type 
mesh_ptrtype
 
typedef mpl::if_
< boost::is_base_of< MeshBase,
meshes_list >, mpl::identity
< typename
mesh_type::element_type >
, mpl::identity< typename
mesh_0_type::element_type >
>::type::type 
convex_type
 
typedef mpl::at_c< bases_list, 0 >
::type::template apply
< GetMesh< meshes_list, 0 >
::type::nDim, GetMesh
< meshes_list, 0 >
::type::nRealDim, value_type,
typename GetMesh< meshes_list, 0 >
::type::element_type >::type 
basis_0_type
 
typedef
basis_0_type::continuity_type 
continuity_type
 
typedef GetPeriodicity
< periodicity_type, 0 >::type 
periodicity_0_type
 
static const bool is_composite = ( mpl::size<bases_list>::type::value > 1 )
 
static const uint16_type nDim
 
static const uint16_type nRealDim
 
static const uint16_type rank = ( is_composite? invalid_uint16_type_value : basis_0_type::rank )
 
static const bool is_scalar = ( is_composite? false : basis_0_type::is_scalar )
 
static const bool is_vectorial = ( is_composite? false : basis_0_type::is_vectorial )
 
static const bool is_tensor2 = ( is_composite? false : basis_0_type::is_tensor2 )
 
static const bool is_continuous = ( is_composite? false : basis_0_type::isContinuous )
 
static const bool is_modal = ( is_composite? false : basis_0_type::is_modal )
 
static const uint16_type nComponents1 = ( is_composite? invalid_uint16_type_value : basis_0_type::nComponents1 )
 
static const uint16_type nComponents2 = ( is_composite? invalid_uint16_type_value : basis_0_type::nComponents2 )
 
static const bool is_product = ( is_composite? invalid_uint16_type_value : basis_0_type::is_product )
 
static const uint16_type nComponents
 
static const uint16_type N_COMPONENTS = nComponents
 
static const uint16_type nSpaces = mpl::size<bases_list>::type::value
 
static const bool is_periodic = periodicity_0_type::is_periodic
 

Constructors, destructor

 FunctionSpace (mesh_ptrtype const &mesh, size_type mesh_components=MESH_RENUMBER|MESH_CHECK, periodicity_type periodicity=periodicity_type(), std::vector< WorldComm > const &_worldsComm=Environment::worldsComm(nSpaces))
 
 FunctionSpace (mesh_ptrtype const &mesh, std::vector< Dof > const &dofindices, periodicity_type periodicity=periodicity_type(), std::vector< WorldComm > const &_worldsComm=Environment::worldsComm(nSpaces))
 
void init (mesh_ptrtype const &mesh, size_type mesh_components=MESH_RENUMBER|MESH_CHECK, periodicity_type periodicity=periodicity_type())
 
void init (mesh_ptrtype const &mesh, size_type mesh_components, std::vector< Dof > const &dofindices, periodicity_type periodicity=periodicity_type())
 
 ~FunctionSpace ()
 destructor: do nothing thanks to shared_ptr<>
 
void setWorldsComm (std::vector< WorldComm > const &_worldsComm)
 
void setWorldComm (WorldComm const &_worldComm)
 
std::vector< WorldComm > const & worldsComm () const
 
WorldComm const & worldComm () const
 
bool hasEntriesForAllSpaces ()
 
static pointer_type New (mesh_ptrtype const &__m, std::vector< Dof > const &dofindices)
 
static pointer_type NewImpl (mesh_ptrtype const &__m, size_type mesh_components=MESH_RENUMBER|MESH_CHECK, periodicity_type periodicity=periodicity_type())
 

Constructor & Destructor Documentation

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
Feel::FunctionSpace< A0, A1, A2, A3, A4 >::FunctionSpace ( mesh_ptrtype const &  mesh,
size_type  mesh_components = MESH_RENUMBER | MESH_CHECK,
periodicity_type  periodicity = periodicity_type(),
std::vector< WorldComm > const &  _worldsComm = Environment::worldsComm(nSpaces) 
)
inline

FunctionSpace constructor

Parameters
mesha mesh data structure

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::init().

Member Function Documentation

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
basis_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::basis ( ) const
inline
Returns
the reference finite element

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_ref_fe.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
std::string Feel::FunctionSpace< A0, A1, A2, A3, A4 >::basisName ( ) const
inline
Returns
the basis name
Note
in the case of product of space, this is the concatenation of the basis name of each function space
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
std::vector<int> Feel::FunctionSpace< A0, A1, A2, A3, A4 >::basisOrder ( ) const
inline
Returns
the basis order
Note
in the case of product of space, this is the concatenation of the orders in a vector
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
component_functionspace_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::compSpace ( ) const
inline
Returns
the finite element space associated with the n-th component

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_comp_space.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dof ( )
inline
Returns
the degrees of freedom

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dof ( ) const
inline
Returns
the degrees of freedom

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dofOn ( )
inline
Returns
the degrees of freedom (ON processor)

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dofOn ( ) const
inline
Returns
the degrees of freedom (ON processor)

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dofOnOff ( )
inline
Returns
the degrees of freedom (ON and OFF processor)

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dofOnOff.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
dof_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::dofOnOff ( ) const
inline
Returns
the degrees of freedom (ON and OFF processor)

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dofOnOff.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
element_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::element ( std::string const &  name = "u")
inline
Returns
an element of the function space
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
element_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::elementPtr ( std::string const &  name = "u")
inline
Returns
an element of the function space
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
reference_element_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::fe ( ) const
inline
Returns
the reference finite element

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_ref_fe.

template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
bool Feel::FunctionSpace< A0, A1, A2, A3, A4 >::findPoint ( node_type const &  pt,
size_type cv,
node_type &  ptr 
) const

find a point(real coordinate) pt in the mesh associated with the space and provide: (i) the reference coordinates ptr and (ii) the index of the element containing it.

Parameters
ptpoint to be looked for (real coordinates)
ptrreference coordinates of the point
cvindex of the element containing the point pt

References Feel::invalid_size_type_value.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
template<int i>
mpl::at_c<functionspace_vector_type,i>::type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::functionSpace ( )
inline

get the i -th FunctionSpace out the list

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
functionspace_vector_type const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::functionSpaces ( ) const
inline

get the FunctionSpace vector

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
proc_dist_map_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::getProcDistMap ( ) const
inline
Returns
the distribution of the dofs among the processors
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
gm_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::gm ( ) const
inline
Returns
the geometric mapping
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
gm1_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::gm1 ( ) const
inline
Returns
the geometric mapping
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
bool Feel::FunctionSpace< A0, A1, A2, A3, A4 >::hasRegionTree ( ) const
inline
Returns
true if Space has a region tree to localize points

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_rt.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
void Feel::FunctionSpace< A0, A1, A2, A3, A4 >::init ( mesh_ptrtype const &  mesh,
size_type  mesh_components = MESH_RENUMBER | MESH_CHECK,
periodicity_type  periodicity = periodicity_type() 
)
inline

initialize the function space

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
DataMap const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::map ( ) const
inline
Returns
the degrees of freedom

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
DataMap const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::mapOn ( ) const
inline
Returns
the degrees of freedom

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dof.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
DataMap const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::mapOnOff ( ) const
inline
Returns
the degrees of freedom

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_dofOnOff.

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
mesh_ptrtype& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::mesh ( )
inline
Returns
the mesh associated with the approximation
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
mesh_ptrtype const& Feel::FunctionSpace< A0, A1, A2, A3, A4 >::mesh ( ) const
inline
Returns
the mesh associated with the approximation
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
size_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nDof ( ) const
inline
Returns
the number of degrees of freedom for each space overall the entire domain
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
size_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nDofPerComponent ( ) const
inline
Returns
the number of degrees of freedom per dim

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nDof(), and Feel::FunctionSpace< A0, A1, A2, A3, A4 >::qDim().

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
size_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nDofStart ( size_type  i = 0) const
inline
Returns
the starting value of the global dof numbering

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::functionSpaces().

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
static pointer_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::New ( mesh_ptrtype const &  __m,
std::vector< Dof > const &  dofindices 
)
inlinestatic

helper static function to create a boost::shared_ptr<> out of the FunctionSpace

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
size_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nLocalDof ( ) const
inline
Returns
the number of degrees of freedom for each space on the current subdomain
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
void Feel::FunctionSpace< A0, A1, A2, A3, A4 >::operator() ( MESH_CHANGES  mesh_changes)
inline

update element when mesh has been changed

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
uint16_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::qDim ( ) const
inline

return 1 if scalar space or the number of components if vectorial space

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
void Feel::FunctionSpace< A0, A1, A2, A3, A4 >::rebuildDofPoints ( )
inline

rebuild dof points after a mesh mover for example

References Feel::FunctionSpace< A0, A1, A2, A3, A4 >::rebuildDofPoints().

template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
region_tree_ptrtype const & Feel::FunctionSpace< A0, A1, A2, A3, A4 >::regionTree ( ) const
Returns
the Region Tree
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
trace_functionspace_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::trace ( ) const
inline
template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
void Feel::FunctionSpace< A0, A1, A2, A3, A4 >::updateRegionTree ( ) const
Returns
update the Region Tree
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
trace_trace_functionspace_ptrtype Feel::FunctionSpace< A0, A1, A2, A3, A4 >::wireBasket ( ) const
inline

Member Data Documentation

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
boost::optional<region_tree_ptrtype> Feel::FunctionSpace< A0, A1, A2, A3, A4 >::M_rt
mutableprotected

region tree associated with the mesh

template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
const uint16_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nComponents
static
Initial value:
= mpl::transform<bases_list,
GetNComponents<mpl::_1>,
mpl::inserter<mpl::int_<0>,mpl::plus<mpl::_,mpl::_> > >::type::value
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
const uint16_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nDim
static
Initial value:
= mpl::if_<boost::is_base_of<MeshBase, meshes_list >,
mpl::identity<meshes_list >,
mpl::identity<nodim> >::type::type::nDim
template<typename A0 , typename A1 = parameter::void_, typename A2 = parameter::void_, typename A3 = parameter::void_, typename A4 = parameter::void_>
const uint16_type Feel::FunctionSpace< A0, A1, A2, A3, A4 >::nRealDim
static
Initial value:
= mpl::if_<boost::is_base_of<MeshBase, meshes_list >,
mpl::identity<meshes_list>,
mpl::identity<nodim> >::type::type::nRealDim

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

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