35 #ifndef NEKTAR_LIBRARY_COLLECTIONS_COLLECTION_H
36 #define NEKTAR_LIBRARY_COLLECTIONS_COLLECTION_H
48 namespace Collections {
58 std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,
63 int coll_phys_offset = 0);
107 std::unordered_map<OperatorType, OperatorSharedPtr, EnumHash>
m_ops;
110 std::vector<StdRegions::StdExpansionSharedPtr>
m_collExp;
156 (*
m_ops[op])(inarray, output0, output1, output2, wsp);
169 (*
m_ops[op])(dir, inarray, output, wsp);
#define COLLECTIONS_EXPORT
OperatorImpMap m_impTypes
COLLECTIONS_EXPORT Collection(std::vector< StdRegions::StdExpansionSharedPtr > pCollExp, OperatorImpMap &impTypes)
bool HasOperator(const OperatorType &op)
std::vector< StdRegions::StdExpansionSharedPtr > m_collExp
COLLECTIONS_EXPORT void CheckFactors(const OperatorType opType, StdRegions::FactorMap factors, int coll_phys_offset=0)
std::unordered_map< OperatorType, OperatorSharedPtr, EnumHash > m_ops
COLLECTIONS_EXPORT void Initialise(const OperatorType opType, StdRegions::FactorMap factors=StdRegions::NullFactorMap)
CoalescedGeomDataSharedPtr GetGeomSharedPtr()
OperatorSharedPtr GetOpSharedPtr(const OperatorType &op)
CoalescedGeomDataSharedPtr m_geomData
void ApplyOperator(const OperatorType &op, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &output)
std::map< OperatorType, ImplementationType > OperatorImpMap
std::shared_ptr< CollectionVector > CollectionVectorSharedPtr
std::shared_ptr< Operator > OperatorSharedPtr
Shared pointer to an Operator object.
std::shared_ptr< CoalescedGeomData > CoalescedGeomDataSharedPtr
std::vector< Collection > CollectionVector
static FactorMap NullFactorMap
The above copyright notice and this permission notice shall be included.
static Array< OneD, NekDouble > NullNekDouble1DArray