|
Nektar++
|
Classes | |
| class | BwdTrans_StdMat |
| Backward transform operator using standard matrix approach. More... | |
| class | BwdTrans_MatrixFree |
| Backward transform operator using matrix free operators. More... | |
| class | BwdTrans_IterPerExp |
| Backward transform operator using default StdRegions operator. More... | |
| class | BwdTrans_NoCollection |
| Backward transform operator using LocalRegions implementation. More... | |
| class | BwdTrans_SumFac_Seg |
| Backward transform operator using sum-factorisation (Segment) More... | |
| class | BwdTrans_SumFac_Quad |
| Backward transform operator using sum-factorisation (Quad) More... | |
| class | BwdTrans_SumFac_Tri |
| Backward transform operator using sum-factorisation (Tri) More... | |
| class | BwdTrans_SumFac_Hex |
| Backward transform operator using sum-factorisation (Hex) More... | |
| class | BwdTrans_SumFac_Tet |
| Backward transform operator using sum-factorisation (Tet) More... | |
| class | BwdTrans_SumFac_Prism |
| Backward transform operator using sum-factorisation (Prism) More... | |
| class | BwdTrans_SumFac_Pyr |
| Backward transform operator using sum-factorisation (Pyr) More... | |
| class | CoalescedGeomData |
| class | Collection |
| Collection. More... | |
| class | OpImpTimingKey |
| class | CollectionOptimisation |
| class | Helmholtz_NoCollection |
| Helmholtz operator using LocalRegions implementation. More... | |
| class | Helmholtz_IterPerExp |
| Helmholtz operator using LocalRegions implementation. More... | |
| class | Helmholtz_MatrixFree |
| Helmholtz operator using matrix free operators. More... | |
| class | IProductWRTBase_StdMat |
| Inner product operator using standard matrix approach. More... | |
| class | IProductWRTBase_MatrixFree |
| Inner product operator using operator using matrix free operators. More... | |
| class | IProductWRTBase_IterPerExp |
| Inner product operator using element-wise operation. More... | |
| class | IProductWRTBase_NoCollection |
| Inner product operator using original MultiRegions implementation. More... | |
| class | IProductWRTBase_SumFac_Seg |
| Inner product operator using sum-factorisation (Segment) More... | |
| class | IProductWRTBase_SumFac_Quad |
| Inner product operator using sum-factorisation (Quad) More... | |
| class | IProductWRTBase_SumFac_Tri |
| Inner product operator using sum-factorisation (Tri) More... | |
| class | IProductWRTBase_SumFac_Hex |
| Inner Product operator using sum-factorisation (Hex) More... | |
| class | IProductWRTBase_SumFac_Tet |
| Inner product operator using sum-factorisation (Tet) More... | |
| class | IProductWRTBase_SumFac_Prism |
| Inner Product operator using sum-factorisation (Prism) More... | |
| class | IProductWRTBase_SumFac_Pyr |
| Inner Product operator using sum-factorisation (Pyr) More... | |
| class | IProductWRTDerivBase_StdMat |
| Inner product WRT deriv base operator using standard matrix approach. More... | |
| class | IProductWRTDerivBase_MatrixFree |
| Inner product operator using operator using matrix free operators. More... | |
| class | IProductWRTDerivBase_IterPerExp |
| Inner product WRT deriv base operator using element-wise operation. More... | |
| class | IProductWRTDerivBase_NoCollection |
| Inner product WRT deriv base operator using LocalRegions implementation. More... | |
| class | IProductWRTDerivBase_SumFac_Seg |
| Inner product WRT deriv base operator using sum-factorisation (Segment) More... | |
| class | IProductWRTDerivBase_SumFac_Quad |
| Inner product WRT deriv base operator using sum-factorisation (Quad) More... | |
| class | IProductWRTDerivBase_SumFac_Tri |
| Inner product WRT deriv base operator using sum-factorisation (Tri) More... | |
| class | IProductWRTDerivBase_SumFac_Hex |
| Inner product WRT deriv base operator using sum-factorisation (Hex) More... | |
| class | IProductWRTDerivBase_SumFac_Tet |
| Inner product WRT deriv base operator using sum-factorisation (Tet) More... | |
| class | IProductWRTDerivBase_SumFac_Prism |
| Inner product WRT deriv base operator using sum-factorisation (Prism) More... | |
| class | IProductWRTDerivBase_SumFac_Pyr |
| Inner product WRT deriv base operator using sum-factorisation (Pyr) More... | |
| class | MatrixFreeBase |
| class | MatrixFreeOneInOneOut |
| class | MatrixFreeMultiInOneOut |
| class | MatrixFreeOneInMultiOut |
| class | Operator |
| Base class for operators on a collection of elements. More... | |
| class | PhysDeriv_StdMat |
| Phys deriv operator using standard matrix approach. More... | |
| class | PhysDeriv_MatrixFree |
| Phys deriv operator using matrix free operators. More... | |
| class | PhysDeriv_IterPerExp |
| Phys deriv operator using element-wise operation. More... | |
| class | PhysDeriv_NoCollection |
| Phys deriv operator using original LocalRegions implementation. More... | |
| class | PhysDeriv_SumFac_Seg |
| Phys deriv operator using sum-factorisation (Segment) More... | |
| class | PhysDeriv_SumFac_Quad |
| Phys deriv operator using sum-factorisation (Quad) More... | |
| class | PhysDeriv_SumFac_Tri |
| Phys deriv operator using sum-factorisation (Tri) More... | |
| class | PhysDeriv_SumFac_Hex |
| Phys deriv operator using sum-factorisation (Hex) More... | |
| class | PhysDeriv_SumFac_Tet |
| Phys deriv operator using sum-factorisation (Tet) More... | |
| class | PhysDeriv_SumFac_Prism |
| Phys deriv operator using sum-factorisation (Prism) More... | |
| class | PhysDeriv_SumFac_Pyr |
| Phys deriv operator using sum-factorisation (Pyramid) More... | |
Typedefs | |
| using | vec_t = simd< NekDouble > |
| typedef std::vector< vec_t, tinysimd::allocator< vec_t > > | VecVec_t |
| typedef std::shared_ptr< CoalescedGeomData > | CoalescedGeomDataSharedPtr |
| typedef std::vector< Collection > | CollectionVector |
| typedef std::shared_ptr< CollectionVector > | CollectionVectorSharedPtr |
| typedef bool | ExpansionIsNodal |
| typedef std::map< OperatorType, ImplementationType > | OperatorImpMap |
| typedef std::shared_ptr< Operator > | OperatorSharedPtr |
| Shared pointer to an Operator object. More... | |
| typedef std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > | OperatorKey |
| Key for describing an Operator. More... | |
| typedef Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector< StdRegions::StdExpansionSharedPtr >, CoalescedGeomDataSharedPtr, StdRegions::FactorMap > | OperatorFactory |
| Operator factory definition. More... | |
Enumerations | |
| enum | GeomData { eJac , eJacWithStdWeights , eDerivFactors } |
| enum | OperatorType { eBwdTrans , eHelmholtz , eIProductWRTBase , eIProductWRTDerivBase , ePhysDeriv , SIZE_OperatorType } |
| enum | ImplementationType { eNoImpType , eNoCollection , eIterPerExp , eStdMat , eSumFac , eMatrixFree , SIZE_ImplementationType } |
Functions | |
| void | QuadIProduct (bool colldir0, bool colldir1, int numElmt, int nquad0, int nquad1, int nmodes0, int nmodes1, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| void | TriIProduct (bool sortTopVertex, int numElmt, int nquad0, int nquad1, int nmodes0, int nmodes1, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| void | HexIProduct (bool colldir0, bool colldir1, bool colldir2, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| void | PrismIProduct (bool sortTopVert, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| void | PyrIProduct (bool sortTopVert, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| void | TetIProduct (bool sortTopEdge, int numElmt, int nquad0, int nquad1, int nquad2, int nmodes0, int nmodes1, int nmodes2, const Array< OneD, const NekDouble > &base0, const Array< OneD, const NekDouble > &base1, const Array< OneD, const NekDouble > &base2, const Array< OneD, const NekDouble > &jac, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) |
| bool | operator< (OperatorKey const &p1, OperatorKey const &p2) |
| Less-than comparison operator for OperatorKey objects. More... | |
| std::ostream & | operator<< (std::ostream &os, OperatorKey const &p) |
| Stream output operator for OperatorKey objects. More... | |
| OperatorFactory & | GetOperatorFactory () |
| Returns the singleton Operator factory object. More... | |
| OperatorImpMap | SetFixedImpType (ImplementationType defaultType) |
| simple Operator Implementation Map generator More... | |
Variables | |
| static CoalescedGeomDataSharedPtr | GeomDataNull |
| const char *const | OperatorTypeMap [] |
| const char *const | ImplementationTypeMap [] |
| typedef std::shared_ptr< CoalescedGeomData > Nektar::Collections::CoalescedGeomDataSharedPtr |
Definition at line 94 of file CoalescedGeomData.h.
| typedef std::vector<Collection> Nektar::Collections::CollectionVector |
Definition at line 114 of file Collection.h.
| typedef std::shared_ptr<CollectionVector> Nektar::Collections::CollectionVectorSharedPtr |
Definition at line 115 of file Collection.h.
| typedef bool Nektar::Collections::ExpansionIsNodal |
Definition at line 106 of file Operator.h.
Operator factory definition.
Definition at line 195 of file Operator.h.
| typedef std::map<OperatorType, ImplementationType> Nektar::Collections::OperatorImpMap |
Definition at line 108 of file Operator.h.
| typedef std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal> Nektar::Collections::OperatorKey |
Key for describing an Operator.
Definition at line 181 of file Operator.h.
| typedef std::shared_ptr<Operator> Nektar::Collections::OperatorSharedPtr |
Shared pointer to an Operator object.
Definition at line 174 of file Operator.h.
| using Nektar::Collections::vec_t = typedef simd<NekDouble> |
Definition at line 48 of file CoalescedGeomData.h.
| typedef std::vector<vec_t,tinysimd::allocator<vec_t> > Nektar::Collections::VecVec_t |
Definition at line 49 of file CoalescedGeomData.h.
| Enumerator | |
|---|---|
| eNoImpType | |
| eNoCollection | |
| eIterPerExp | |
| eStdMat | |
| eSumFac | |
| eMatrixFree | |
| SIZE_ImplementationType | |
Definition at line 85 of file Operator.h.
| Enumerator | |
|---|---|
| eBwdTrans | |
| eHelmholtz | |
| eIProductWRTBase | |
| eIProductWRTDerivBase | |
| ePhysDeriv | |
| SIZE_OperatorType | |
Definition at line 66 of file Operator.h.
| OperatorFactory & Nektar::Collections::GetOperatorFactory | ( | ) |
Returns the singleton Operator factory object.
Definition at line 121 of file Operator.cpp.
Referenced by Nektar::Collections::BwdTrans_MatrixFree::BwdTrans_MatrixFree(), Nektar::Collections::Helmholtz_MatrixFree::Helmholtz_MatrixFree(), Nektar::Collections::Collection::Initialise(), Nektar::Collections::IProductWRTBase_MatrixFree::IProductWRTBase_MatrixFree(), Nektar::Collections::IProductWRTDerivBase_MatrixFree::IProductWRTDerivBase_MatrixFree(), Nektar::Collections::PhysDeriv_MatrixFree::PhysDeriv_MatrixFree(), and Nektar::Collections::CollectionOptimisation::SetWithTimings().
| void Nektar::Collections::HexIProduct | ( | bool | colldir0, |
| bool | colldir1, | ||
| bool | colldir2, | ||
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nquad2, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| int | nmodes2, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | base2, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 178 of file IProduct.cpp.
References Blas::Dgemm(), Vmath::Vcopy(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Hex::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Hex::operator()().
| bool Nektar::Collections::operator< | ( | OperatorKey const & | p1, |
| OperatorKey const & | p2 | ||
| ) |
| std::ostream & Nektar::Collections::operator<< | ( | std::ostream & | os, |
| OperatorKey const & | p | ||
| ) |
Stream output operator for OperatorKey objects.
Definition at line 100 of file Operator.cpp.
References ImplementationTypeMap, OperatorTypeMap, and CellMLToNektar.cellml_metadata::p.
| void Nektar::Collections::PrismIProduct | ( | bool | sortTopVert, |
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nquad2, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| int | nmodes2, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | base2, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 355 of file IProduct.cpp.
References Blas::Dgemm(), Blas::Dgemv(), Nektar::LibUtilities::StdSegData::getNumberOfCoefficients(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Prism::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Prism::operator()().
| void Nektar::Collections::PyrIProduct | ( | bool | sortTopVert, |
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nquad2, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| int | nmodes2, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | base2, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 427 of file IProduct.cpp.
References ASSERTL1, Blas::Ddot(), Blas::Dgemm(), Nektar::LibUtilities::StdSegData::getNumberOfCoefficients(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Pyr::operator()().
| void Nektar::Collections::QuadIProduct | ( | bool | colldir0, |
| bool | colldir1, | ||
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 48 of file IProduct.cpp.
References Blas::Dgemm(), Vmath::Vcopy(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Quad::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Quad::operator()().
| OperatorImpMap Nektar::Collections::SetFixedImpType | ( | ImplementationType | defaultType | ) |
simple Operator Implementation Map generator
Definition at line 130 of file Operator.cpp.
References SIZE_OperatorType.
| void Nektar::Collections::TetIProduct | ( | bool | sortTopEdge, |
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nquad2, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| int | nmodes2, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | base2, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 522 of file IProduct.cpp.
References Blas::Ddot(), Blas::Dgemm(), Blas::Dgemv(), Nektar::LibUtilities::StdSegData::getNumberOfCoefficients(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Tet::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Tet::operator()().
| void Nektar::Collections::TriIProduct | ( | bool | sortTopVertex, |
| int | numElmt, | ||
| int | nquad0, | ||
| int | nquad1, | ||
| int | nmodes0, | ||
| int | nmodes1, | ||
| const Array< OneD, const NekDouble > & | base0, | ||
| const Array< OneD, const NekDouble > & | base1, | ||
| const Array< OneD, const NekDouble > & | jac, | ||
| const Array< OneD, const NekDouble > & | input, | ||
| Array< OneD, NekDouble > & | output, | ||
| Array< OneD, NekDouble > & | wsp | ||
| ) |
Definition at line 134 of file IProduct.cpp.
References Blas::Dgemm(), Blas::Dgemv(), Nektar::LibUtilities::StdSegData::getNumberOfCoefficients(), and Vmath::Vmul().
Referenced by Nektar::Collections::IProductWRTDerivBase_SumFac_Tri::operator()(), and Nektar::Collections::IProductWRTBase_SumFac_Tri::operator()().
|
static |
Definition at line 96 of file CoalescedGeomData.h.
| const char* const Nektar::Collections::ImplementationTypeMap[] |
Definition at line 96 of file Operator.h.
Referenced by Nektar::Collections::CollectionOptimisation::CollectionOptimisation(), operator<<(), and Nektar::Collections::CollectionOptimisation::SetWithTimings().
| const char* const Nektar::Collections::OperatorTypeMap[] |
Definition at line 76 of file Operator.h.
Referenced by Nektar::Collections::CollectionOptimisation::CollectionOptimisation(), Nektar::Collections::Collection::Initialise(), operator<<(), and Nektar::Collections::CollectionOptimisation::SetWithTimings().