Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::QuadPtLocalization< IteratorRange, Im, Expr > Class Template Reference
+ Collaboration diagram for Feel::QuadPtLocalization< IteratorRange, Im, Expr >:

Classes

struct  bilinearformContext
 
struct  linearformContext
 
struct  TheGmc
 

Public Types

typedef boost::remove_reference< range_elt_type >::type const_t
 
using element_iterator_type = typename IteratorRange::iterator_t
 
typedef the_element_type geoelement_type
 
using GeoShape = typename IteratorRange::element_t::GeoShape
 
typedef geoelement_type::gm_type gm_type
 
typedef std::shared_ptr< gmc_face_type > gmc_face_ptrtype
 
using gmc_face_type = typename TheGmc< 1 >::type
 
typedef std::shared_ptr< gmc_type > gmc_ptrtype
 
using gmc_range_ptrtype = typename TheGmc< coDimFromRange >::ptrtype
 
using gmc_type = typename TheGmc< 0 >::type
 
typedef im_type::face_quadrature_type im_face_type
 
using im_type = im_t< geoelement_type, value_type >
 
using index_type = typename geoelement_type::index_type
 
typedef geoelement_type::matrix_node_type matrix_node_type
 
typedef geoelement_type::node_type node_type
 
typedef gm_type::precompute_ptrtype pc_ptrtype
 
typedef gm_type::precompute_type pc_type
 
typedef QuadMapped< im_type >::permutation_points_type permutation_points_type
 
typedef QuadMapped< im_type >::permutation_type permutation_type
 
using range_elt_type = typename IteratorRange::element_t
 
typedef IteratorRange range_iterator
 
typedef std::list< boost::tuple< size_type, std::vector< boost::tuple< size_type, size_type > >, matrix_node_type > > result_container_linear_type
 
typedef std::list< boost::tuple< size_type, result_temp2_type > > result_container_type
 
typedef std::map< size_type, std::list< boost::tuple< size_type, size_type, node_type, node_type > > > result_temp1_type
 
typedef std::map< size_type, boost::tuple< std::vector< boost::tuple< size_type, size_type > >, matrix_node_type, matrix_node_type > > result_temp2_type
 
using size_type = typename geoelement_type::size_type
 
typedef the_face_element_type::super2::template Element< the_face_element_type >::type the_element_type
 
typedef boost::remove_const< const_t >::type the_face_element_type
 
typedef geoelement_type::value_type value_type
 

Public Member Functions

element_iterator_type beginElement () const
 begin itrange
 
size_type eltForThisQuadPt (size_type theIdq, mpl::int_< MESH_ELEMENTS >)
 
size_type eltForThisQuadPt (size_type theIdq, mpl::int_< MESH_FACES >)
 
template<typename FE1 , typename FE2 , typename ElemContType >
bilinearformContext< FE1, FE2, ElemContType >::return_type const & getPrecompute (vf::detail::BilinearForm< FE1, FE2, ElemContType >const &__form) const
 
template<typename FE , typename VectorType , typename ElemContType >
linearformContext< FE, VectorType, ElemContType >::return_type const & getPrecompute (vf::detail::LinearForm< FE, VectorType, ElemContType > const &__form) const
 
std::vector< boost::tuple< std::vector< boost::tuple< size_type, size_type > >, gmc_range_ptrtype, matrix_node_type > > getUsableDataInFormContext (std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad, matrix_node_type const &ptsRefTest)
 
std::vector< boost::tuple< std::vector< boost::tuple< size_type, size_type > >, gmc_range_ptrtype, matrix_node_type, matrix_node_type > > getUsableDataInFormContext (std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad, matrix_node_type const &ptsRefTest, matrix_node_type const &ptsRefTrial)
 
gmc_ptrtype gmcForThisElt (size_type theIdElt, std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad, mpl::int_< MESH_ELEMENTS >)
 
gmc_face_ptrtype gmcForThisElt (size_type theIdElt, std::vector< boost::tuple< size_type, size_type > > const &indexLocalToQuad, mpl::int_< MESH_FACES >)
 
bool hasPrecompute () const
 
im_type const & im () const
 get the integration method
 
im_face_type im (uint16_type f) const
 get the integration method on face f
 
template<typename Mesh1Type , typename Mesh2Type >
void localization (mpl::int_< MESH_ELEMENTS >, std::shared_ptr< Mesh1Type > meshTest, std::shared_ptr< Mesh2Type > meshTrial, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &testEltToPtsQuad, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &trialEltToPtsQuad, std::vector< std::list< size_type > > &EltCoupled)
 
template<typename Mesh1Type >
void localization (mpl::int_< MESH_ELEMENTS >, std::shared_ptr< Mesh1Type > meshTest, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &testEltToPtsQuad)
 
template<typename Mesh1Type , typename Mesh2Type >
void localization (mpl::int_< MESH_FACES >, std::shared_ptr< Mesh1Type > meshTest, std::shared_ptr< Mesh2Type > meshTrial, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &testEltToPtsQuad, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &trialEltToPtsQuad, std::vector< std::list< size_type > > &EltCoupled)
 
template<typename Mesh1Type >
void localization (mpl::int_< MESH_FACES >, std::shared_ptr< Mesh1Type > meshTest, std::vector< std::list< boost::tuple< size_type, size_type, node_type > > > &testEltToPtsQuad)
 
template<typename FE1 , typename FE2 , typename ElemContType >
void precompute (vf::detail::BilinearForm< FE1, FE2, ElemContType >const &__form)
 
template<typename FE , typename VectorType , typename ElemContType >
void precompute (vf::detail::LinearForm< FE, VectorType, ElemContType > const &__form)
 
size_type qIndexForThisGlobalQuadPt (size_type theIdq, mpl::int_< MESH_ELEMENTS >)
 
size_type qIndexForThisGlobalQuadPt (size_type theIdq, mpl::int_< MESH_FACES >)
 
 QuadPtLocalization (IteratorRange const &elts)
 
 QuadPtLocalization (IteratorRange const &elts, im_type const &_im)
 
 QuadPtLocalization (std::list< IteratorRange > const &elts)
 
 QuadPtLocalization (std::list< IteratorRange > const &elts, im_type const &_im)
 
result_container_type const & result () const
 container for bilinear form
 
result_container_linear_type const & resultLinear () const
 container for linear form
 
template<typename Mesh1Type >
void update (std::shared_ptr< Mesh1Type > meshTest)
 
template<typename Mesh1Type , typename Mesh2Type >
void update (std::shared_ptr< Mesh1Type > meshTest, std::shared_ptr< Mesh2Type > meshTrial)
 

Static Public Attributes

static const int coDimFromRange = iDim == MESH_FACES? 1 : 0
 
static const Feel::size_type context
 
static const Feel::size_type iDim = IteratorRange::entities()
 

Member Data Documentation

◆ context

template<typename IteratorRange , typename Im , typename Expr >
const Feel::size_type Feel::QuadPtLocalization< IteratorRange, Im, Expr >::context
static