Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::detail::PrecomputeDomainBasisFunction< DomainSpaceType, ImageSpaceType, ExprType, DomainEvalOnSubEntityCoDim > Struct Template Reference
+ Collaboration diagram for Feel::detail::PrecomputeDomainBasisFunction< DomainSpaceType, ImageSpaceType, ExprType, DomainEvalOnSubEntityCoDim >:

Public Types

using domain_geoelement_type = typename domain_mesh_type::element_type
 
typedef domain_gm_type::precompute_ptrtype domain_geopc_ptrtype
 
typedef domain_gm_type::precompute_type domain_geopc_type
 
typedef domain_geoelement_type::gm_ptrtype domain_gm_ptrtype
 
typedef domain_geoelement_type::gm_type domain_gm_type
 
typedef std::shared_ptr< domain_gmc_type > domain_gmc_ptrtype
 
typedef domain_gm_type::template Context< domain_geoelement_type, DomainEvalOnSubEntityCoDim > domain_gmc_type
 
using domain_mesh_type = typename DomainSpaceType::mesh_type
 
typedef domain_geoelement_type::permutation_type domain_permutation_type
 
typedef std::shared_ptr< DomainSpaceType > domain_space_ptrtype
 
typedef ExprType expression_type
 
typedef DomainSpaceType::basis_type fe_type
 
typedef std::shared_ptr< fecontext_type > fecontext_ptrtype
 
typedef fe_type::template Context< context, fe_type, domain_gm_type, domain_geoelement_type, 0, domain_gmc_type::subEntityCoDim > fecontext_type
 
typedef image_fe_type::template ChangeDim< fe_type::nDim >::type image_fe_changedim_type
 
typedef ImageSpaceType::basis_type image_fe_type
 
using image_geoelement_type = typename image_mesh_type::element_type
 
using image_geopc_type = typename image_gm_type::precompute_type
 
typedef image_geoelement_type::gm_ptrtype image_gm_ptrtype
 
typedef image_geoelement_type::gm_type image_gm_type
 
using image_gmc_type = typename image_gm_type::template Context< image_geoelement_type, 0 >
 
using image_mesh_type = typename ImageSpaceType::mesh_type
 
typedef std::shared_ptr< ImageSpaceType > image_space_ptrtype
 
typedef fusion::map< fusion::pair< vf::detail::gmc< 0 >, fecontext_ptrtype > > map_fec_type
 
typedef fusion::map< fusion::pair< vf::detail::gmc< 0 >, domain_gmc_ptrtype > > map_gmc_type
 
typedef expression_type::template tensor< map_gmc_type, map_fec_type > t_expr_type
 

Public Member Functions

domain_gmc_ptrtype & gmc ()
 
Eigen::MatrixXd const & interpolant () const
 return current interpolant
 
 PrecomputeDomainBasisFunction (domain_space_ptrtype const &XhDomain, image_space_ptrtype const &XhImage, ExprType const &expr)
 
template<typename InterpOnType >
requires (InterpOnType::onEntity() == ElementsType::MESH_ELEMENTS)
void update (InterpOnType const &interpOnElts)
 
template<typename InterpOnType >
requires (InterpOnType::onEntity() == ElementsType::MESH_FACES) && (DomainSpaceType::nDim == ImageSpaceType::nDim)
void update (InterpOnType const &interpOnFaceFull)
 
template<typename InterpOnType >
requires (InterpOnType::onEntity() == ElementsType::MESH_FACES) && (DomainSpaceType::nDim == (ImageSpaceType::nDim+1))
void update (InterpOnType const &interpOnFaceFull)
 

Static Public Member Functions

template<typename Gmc1Type , typename Gmc2Type >
static void upMatchingDofPoints (std::shared_ptr< Gmc1Type > gmc1, std::shared_ptr< Gmc2Type > gmc2, std::vector< uint16_type > &mapGmc1ToGmc2)
 

Static Public Attributes

static const size_type context = context2|vm::POINT
 
static const size_type context2
 

Member Data Documentation

◆ context2

template<typename DomainSpaceType , typename ImageSpaceType , typename ExprType , int DomainEvalOnSubEntityCoDim>
const size_type Feel::detail::PrecomputeDomainBasisFunction< DomainSpaceType, ImageSpaceType, ExprType, DomainEvalOnSubEntityCoDim >::context2
static
Initial value:
= (is_hdiv_conforming_v<image_fe_type> || is_hcurl_conforming_v<image_fe_type> )?
expression_type::context|vm::JACOBIAN|vm::KB :
expression_type::context