Nektar++
|
Classes | |
class | BwdTrans_IterPerExp |
Backward transform operator using default StdRegions operator. More... | |
class | BwdTrans_NoCollection |
Backward transform operator using LocalRegions implementation. More... | |
class | BwdTrans_StdMat |
Backward transform operator using standard matrix approach. More... | |
class | BwdTrans_SumFac_Hex |
Backward transform operator using sum-factorisation (Hex) 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 | BwdTrans_SumFac_Quad |
Backward transform operator using sum-factorisation (Quad) More... | |
class | BwdTrans_SumFac_Seg |
Backward transform operator using sum-factorisation (Segment) More... | |
class | BwdTrans_SumFac_Tet |
Backward transform operator using sum-factorisation (Tet) More... | |
class | BwdTrans_SumFac_Tri |
Backward transform operator using sum-factorisation (Tri) More... | |
class | CoalescedGeomData |
class | Collection |
Collection. More... | |
class | CollectionOptimisation |
class | IProductWRTBase_IterPerExp |
Inner product operator using element-wise operation. More... | |
class | IProductWRTBase_NoCollection |
Inner product operator using original MultiRegions implementation. More... | |
class | IProductWRTBase_StdMat |
Inner product operator using standard matrix approach. More... | |
class | IProductWRTBase_SumFac_Hex |
Inner Product operator using sum-factorisation (Hex) 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 | IProductWRTBase_SumFac_Quad |
Inner product operator using sum-factorisation (Quad) More... | |
class | IProductWRTBase_SumFac_Seg |
Inner product operator using sum-factorisation (Segment) More... | |
class | IProductWRTBase_SumFac_Tet |
Inner product operator using sum-factorisation (Tet) More... | |
class | IProductWRTBase_SumFac_Tri |
Inner product operator using sum-factorisation (Tri) 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_StdMat |
Inner product WRT deriv base operator using standard matrix approach. More... | |
class | IProductWRTDerivBase_SumFac_Hex |
Inner product WRT deriv base operator using sum-factorisation (Hex) 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 | IProductWRTDerivBase_SumFac_Quad |
Inner product WRT deriv base operator using sum-factorisation (Quad) More... | |
class | IProductWRTDerivBase_SumFac_Seg |
Inner product WRT deriv base operator using sum-factorisation (Segment) More... | |
class | IProductWRTDerivBase_SumFac_Tet |
Inner product WRT deriv base operator using sum-factorisation (Tet) More... | |
class | IProductWRTDerivBase_SumFac_Tri |
Inner product WRT deriv base operator using sum-factorisation (Tri) More... | |
class | Operator |
Base class for operators on a collection of elements. More... | |
class | OpImpTimingKey |
class | PhysDeriv_IterPerExp |
Phys deriv operator using element-wise operation. More... | |
class | PhysDeriv_NoCollection |
Phys deriv operator using original LocalRegions implementation. More... | |
class | PhysDeriv_StdMat |
Phys deriv operator using standard matrix approach. More... | |
class | PhysDeriv_SumFac_Hex |
Phys deriv operator using sum-factorisation (Hex) 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... | |
class | PhysDeriv_SumFac_Quad |
Phys deriv operator using sum-factorisation (Quad) More... | |
class | PhysDeriv_SumFac_Seg |
Phys deriv operator using sum-factorisation (Segment) More... | |
class | PhysDeriv_SumFac_Tet |
Phys deriv operator using sum-factorisation (Tet) More... | |
class | PhysDeriv_SumFac_Tri |
Phys deriv operator using sum-factorisation (Tri) More... | |
Typedefs | |
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 > | OperatorFactory |
Operator factory definition. More... | |
Enumerations | |
enum | GeomData { eJac, eJacWithStdWeights, eDerivFactors } |
enum | OperatorType { eBwdTrans, eIProductWRTBase, eIProductWRTDerivBase, ePhysDeriv, SIZE_OperatorType } |
enum | ImplementationType { eNoImpType, eNoCollection, eIterPerExp, eStdMat, eSumFac, 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 sortTopVertex, 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 sortTopVertex, 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 74 of file CoalescedGeomData.h.
typedef std::vector<Collection> Nektar::Collections::CollectionVector |
Definition at line 95 of file Collection.h.
typedef std::shared_ptr<CollectionVector> Nektar::Collections::CollectionVectorSharedPtr |
Definition at line 96 of file Collection.h.
typedef bool Nektar::Collections::ExpansionIsNodal |
Definition at line 101 of file Operator.h.
typedef Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector<StdRegions::StdExpansionSharedPtr>, CoalescedGeomDataSharedPtr> Nektar::Collections::OperatorFactory |
Operator factory definition.
Definition at line 174 of file Operator.h.
typedef std::map<OperatorType, ImplementationType> Nektar::Collections::OperatorImpMap |
Definition at line 103 of file Operator.h.
typedef std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal> Nektar::Collections::OperatorKey |
Key for describing an Operator.
Definition at line 161 of file Operator.h.
typedef std::shared_ptr<Operator> Nektar::Collections::OperatorSharedPtr |
Shared pointer to an Operator object.
Definition at line 154 of file Operator.h.
Enumerator | |
---|---|
eJac | |
eJacWithStdWeights | |
eDerivFactors |
Definition at line 46 of file CoalescedGeomData.h.
Enumerator | |
---|---|
eNoImpType | |
eNoCollection | |
eIterPerExp | |
eStdMat | |
eSumFac | |
SIZE_ImplementationType |
Definition at line 82 of file Operator.h.
Enumerator | |
---|---|
eBwdTrans | |
eIProductWRTBase | |
eIProductWRTDerivBase | |
ePhysDeriv | |
SIZE_OperatorType |
Definition at line 65 of file Operator.h.
OperatorFactory & Nektar::Collections::GetOperatorFactory | ( | ) |
Returns the singleton Operator factory object.
Definition at line 108 of file Operator.cpp.
Referenced by Nektar::Collections::BwdTrans_IterPerExp::BwdTrans_IterPerExp(), Nektar::Collections::BwdTrans_NoCollection::BwdTrans_NoCollection(), Nektar::Collections::BwdTrans_StdMat::BwdTrans_StdMat(), Nektar::Collections::BwdTrans_SumFac_Hex::BwdTrans_SumFac_Hex(), Nektar::Collections::BwdTrans_SumFac_Prism::BwdTrans_SumFac_Prism(), Nektar::Collections::BwdTrans_SumFac_Pyr::BwdTrans_SumFac_Pyr(), Nektar::Collections::BwdTrans_SumFac_Quad::BwdTrans_SumFac_Quad(), Nektar::Collections::BwdTrans_SumFac_Seg::BwdTrans_SumFac_Seg(), Nektar::Collections::BwdTrans_SumFac_Tet::BwdTrans_SumFac_Tet(), Nektar::Collections::BwdTrans_SumFac_Tri::BwdTrans_SumFac_Tri(), Nektar::Collections::Collection::Collection(), Nektar::Collections::IProductWRTBase_IterPerExp::IProductWRTBase_IterPerExp(), Nektar::Collections::IProductWRTBase_NoCollection::IProductWRTBase_NoCollection(), Nektar::Collections::IProductWRTBase_StdMat::IProductWRTBase_StdMat(), Nektar::Collections::IProductWRTBase_SumFac_Hex::IProductWRTBase_SumFac_Hex(), Nektar::Collections::IProductWRTBase_SumFac_Prism::IProductWRTBase_SumFac_Prism(), Nektar::Collections::IProductWRTBase_SumFac_Pyr::IProductWRTBase_SumFac_Pyr(), Nektar::Collections::IProductWRTBase_SumFac_Quad::IProductWRTBase_SumFac_Quad(), Nektar::Collections::IProductWRTBase_SumFac_Seg::IProductWRTBase_SumFac_Seg(), Nektar::Collections::IProductWRTBase_SumFac_Tet::IProductWRTBase_SumFac_Tet(), Nektar::Collections::IProductWRTBase_SumFac_Tri::IProductWRTBase_SumFac_Tri(), Nektar::Collections::IProductWRTDerivBase_IterPerExp::IProductWRTDerivBase_IterPerExp(), Nektar::Collections::IProductWRTDerivBase_NoCollection::IProductWRTDerivBase_NoCollection(), Nektar::Collections::IProductWRTDerivBase_StdMat::IProductWRTDerivBase_StdMat(), Nektar::Collections::IProductWRTDerivBase_SumFac_Hex::IProductWRTDerivBase_SumFac_Hex(), Nektar::Collections::IProductWRTDerivBase_SumFac_Prism::IProductWRTDerivBase_SumFac_Prism(), Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr::IProductWRTDerivBase_SumFac_Pyr(), Nektar::Collections::IProductWRTDerivBase_SumFac_Quad::IProductWRTDerivBase_SumFac_Quad(), Nektar::Collections::IProductWRTDerivBase_SumFac_Seg::IProductWRTDerivBase_SumFac_Seg(), Nektar::Collections::IProductWRTDerivBase_SumFac_Tet::IProductWRTDerivBase_SumFac_Tet(), Nektar::Collections::IProductWRTDerivBase_SumFac_Tri::IProductWRTDerivBase_SumFac_Tri(), Nektar::Collections::PhysDeriv_IterPerExp::PhysDeriv_IterPerExp(), Nektar::Collections::PhysDeriv_NoCollection::PhysDeriv_NoCollection(), Nektar::Collections::PhysDeriv_StdMat::PhysDeriv_StdMat(), Nektar::Collections::PhysDeriv_SumFac_Hex::PhysDeriv_SumFac_Hex(), Nektar::Collections::PhysDeriv_SumFac_Prism::PhysDeriv_SumFac_Prism(), Nektar::Collections::PhysDeriv_SumFac_Pyr::PhysDeriv_SumFac_Pyr(), Nektar::Collections::PhysDeriv_SumFac_Quad::PhysDeriv_SumFac_Quad(), Nektar::Collections::PhysDeriv_SumFac_Seg::PhysDeriv_SumFac_Seg(), Nektar::Collections::PhysDeriv_SumFac_Tet::PhysDeriv_SumFac_Tet(), Nektar::Collections::PhysDeriv_SumFac_Tri::PhysDeriv_SumFac_Tri(), 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::IProductWRTBase_SumFac_Hex::operator()(), and Nektar::Collections::IProductWRTDerivBase_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 87 of file Operator.cpp.
References ImplementationTypeMap, OperatorTypeMap, and CellMLToNektar.cellml_metadata::p.
void Nektar::Collections::PrismIProduct | ( | bool | sortTopVertex, |
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::IProductWRTBase_SumFac_Prism::operator()(), and Nektar::Collections::IProductWRTDerivBase_SumFac_Prism::operator()().
void Nektar::Collections::PyrIProduct | ( | bool | sortTopVertex, |
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::IProductWRTBase_SumFac_Pyr::operator()(), and Nektar::Collections::IProductWRTDerivBase_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::IProductWRTBase_SumFac_Quad::operator()(), and Nektar::Collections::IProductWRTDerivBase_SumFac_Quad::operator()().
OperatorImpMap Nektar::Collections::SetFixedImpType | ( | ImplementationType | defaultType | ) |
simple Operator Implementation Map generator
Definition at line 117 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::IProductWRTBase_SumFac_Tet::operator()(), and Nektar::Collections::IProductWRTDerivBase_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::IProductWRTBase_SumFac_Tri::operator()(), and Nektar::Collections::IProductWRTDerivBase_SumFac_Tri::operator()().
|
static |
Definition at line 76 of file CoalescedGeomData.h.
const char* const Nektar::Collections::ImplementationTypeMap[] |
Definition at line 92 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 74 of file Operator.h.
Referenced by Nektar::Collections::CollectionOptimisation::CollectionOptimisation(), operator<<(), and Nektar::Collections::CollectionOptimisation::SetWithTimings().