Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::Stencil< X1, X2, RangeIteratorTestType, RangeExtendedIteratorType, QuadSetType > Class Template Reference
+ Collaboration diagram for Feel::Stencil< X1, X2, RangeIteratorTestType, RangeExtendedIteratorType, QuadSetType >:

Classes

struct  rangeExtendedIteratorType
 
struct  rangeiteratorType
 

Public Types

typedef std::shared_ptr< graph_type > graph_ptrtype
 
typedef GraphCSR graph_type
 
typedef QuadSetType nonstandard_quadset_type
 
typedef RangeExtendedIteratorType rangeiterator_extended_type
 
typedef RangeIteratorTestType rangeiterator_test_type
 
typedef Stencil< X1, X2, RangeIteratorTestType, RangeExtendedIteratorType, QuadSetType > self_type
 
using size_type = typename graph_type::size_type
 
using test_space_ptrtype = std::shared_ptr< test_space_type >
 
using test_space_type = X1
 
using trial_space_ptrtype = std::shared_ptr< trial_space_type >
 
using trial_space_type = X2
 

Public Member Functions

BlocksStencilPattern blockPattern () const
 
size_type blockPattern (uint16_type i, uint16_type j) const
 
graph_ptrtype computeGraph (size_type hints)
 
graph_ptrtype computeGraph (size_type hints, multiple_space_t, multiple_space_t)
 
graph_ptrtype computeGraph (size_type hints, multiple_space_t, single_space_t)
 
graph_ptrtype computeGraph (size_type hints, multiple_spaces_t)
 
graph_ptrtype computeGraph (size_type hints, single_space_t, multiple_space_t)
 
graph_ptrtype computeGraph (size_type hints, single_spaces_t)
 
graph_ptrtype computeGraphHDG (size_type hints, multiple_spaces_t)
 
graph_ptrtype computeGraphHDG (size_type hints, single_spaces_t)
 Specific function to compute the graph associated to the static condensation of the HDG method.
 
graph_ptrtype computeGraphHDG (size_type hints, std::integral_constant< bool, false >)
 
graph_ptrtype computeGraphHDG (size_type hints, std::integral_constant< bool, true >)
 
graph_ptrtype computeGraphInCaseOfInterpolate (size_type hints, multiple_space_t, multiple_space_t)
 
graph_ptrtype computeGraphInCaseOfInterpolate (size_type hints, multiple_space_t, single_space_t)
 
graph_ptrtype computeGraphInCaseOfInterpolate (size_type hints, multiple_spaces_t)
 
graph_ptrtype computeGraphInCaseOfInterpolate (size_type hints, single_space_t, multiple_space_t)
 
graph_ptrtype computeGraphInCaseOfInterpolate (size_type hints, single_spaces_t)
 
graph_ptrtype graph ()
 
graph_ptrtype graph () const
 
bool isBlockPatternNoPattern (uint16_type i, uint16_type j) const
 
bool isBlockPatternZero (uint16_type i, uint16_type j) const
 
void mergeGraph (int row, int col, graph_ptrtype g)
 
void mergeGraphMPI (size_type test_index, size_type trial_index, DataMap<> const &mapOnTest, DataMap<> const &mapOnTrial, graph_ptrtype g)
 
template<int I, int J>
rangeExtendedIteratorType< I, J >::resultfindrange_type::second_type rangeExtendedIterator (mpl::bool_< false >) const
 
template<int I, int J>
std::list< typename rangeExtendedIteratorType< I, J >::defaultrange_type > rangeExtendedIterator (mpl::bool_< true >) const
 range/sub-range for extended stencil
 
template<int I, int J>
rangeiteratorType< I, J >::resultfindrange_type::second_type rangeiterator (mpl::bool_< false >) const
 
template<int I, int J>
std::list< typename rangeiteratorType< I, J >::defaultrange_type > rangeiterator (mpl::bool_< true >) const
 range/sub-range for standard stencil
 
 Stencil (test_space_ptrtype Xh, trial_space_ptrtype Yh, size_type graph_hints, BlocksStencilPattern block_pattern=BlocksStencilPattern(1, 1, Pattern::HAS_NO_BLOCK_PATTERN), bool diag_is_nonzero=false, bool close=true, rangeiterator_test_type r=rangeiterator_test_type(), rangeiterator_extended_type rangeExtended=rangeiterator_extended_type())
 
 Stencil (test_space_ptrtype Xh, trial_space_ptrtype Yh, size_type graph_hints, graph_ptrtype g, rangeiterator_test_type r=rangeiterator_test_type(), rangeiterator_extended_type rangeExtended=rangeiterator_extended_type())
 
template<int I, int J>
StencilRangeMap1Type< fusion::pair< fusion::pair< mpl::int_< 0 >, mpl::int_< 0 > >, typename rangeExtendedIteratorType< I, J >::resultfindrange_type::second_type > > subRangeExtendedIterator (mpl::bool_< false >)
 
template<int I, int J>
StencilRangeMap0Type subRangeExtendedIterator (mpl::bool_< true >)
 
template<int I, int J>
StencilRangeMap1Type< fusion::pair< fusion::pair< mpl::int_< 0 >, mpl::int_< 0 > >, typename rangeiteratorType< I, J >::resultfindrange_type::second_type > > subRangeIterator (mpl::bool_< false >)
 
template<int I, int J>
StencilRangeMap0Type subRangeIterator (mpl::bool_< true >)
 
test_space_ptrtype testSpace () const
 
trial_space_ptrtype trialSpace () const
 

Member Function Documentation

◆ computeGraph()

template<typename X1 , typename X2 , typename RangeItTestType , typename RangeExtendedItType , typename QuadSetType >
Stencil< X1, X2, RangeItTestType, RangeExtendedItType, QuadSetType >::graph_ptrtype Feel::Stencil< X1, X2, RangeItTestType, RangeExtendedItType, QuadSetType >::computeGraph ( size_type  hints)
Returns
the graph