Nektar++
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
Operator.h File Reference
#include <Collections/CollectionsDeclspec.h>
#include <LibUtilities/BasicUtils/NekFactory.hpp>
#include <SpatialDomains/Geometry.h>
#include <StdRegions/StdExpansion.h>

Go to the source code of this file.

Classes

class  Nektar::Collections::Operator
 Base class for operators on a collection of elements. More...
 

Namespaces

namespace  Nektar
 
namespace  Nektar::Collections
 

Macros

#define OPERATOR_CREATE(cname)
 

Typedefs

typedef bool Nektar::Collections::ExpansionIsNodal
 
typedef std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > Nektar::Collections::OperatorKey
 Key for describing an Operator. More...
 
typedef Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector< StdRegions::StdExpansionSharedPtr >, CoalescedGeomDataSharedPtr, StdRegions::FactorMap > Nektar::Collections::OperatorFactory
 Operator factory definition. More...
 
typedef std::map< OperatorType, ImplementationType > Nektar::Collections::OperatorImpMap
 
typedef std::shared_ptr< Operator > Nektar::Collections::OperatorSharedPtr
 Shared pointer to an Operator object. More...
 

Enumerations

enum  Nektar::Collections::OperatorType {
  Nektar::Collections::eBwdTrans , Nektar::Collections::eHelmholtz , Nektar::Collections::eLinearAdvectionDiffusionReaction , Nektar::Collections::eIProductWRTBase ,
  Nektar::Collections::eIProductWRTDerivBase , Nektar::Collections::ePhysDeriv , Nektar::Collections::ePhysInterp1DScaled , Nektar::Collections::SIZE_OperatorType
}
 
enum  Nektar::Collections::ImplementationType {
  Nektar::Collections::eNoImpType , Nektar::Collections::eNoCollection , Nektar::Collections::eIterPerExp , Nektar::Collections::eStdMat ,
  Nektar::Collections::eSumFac , Nektar::Collections::eMatrixFree , Nektar::Collections::SIZE_ImplementationType
}
 

Functions

OperatorFactory & Nektar::Collections::GetOperatorFactory ()
 Returns the singleton Operator factory object. More...
 
OperatorImpMap Nektar::Collections::SetFixedImpType (ImplementationType defaultType)
 simple Operator Implementation Map generator More...
 
bool Nektar::Collections::operator< (OperatorKey const &p1, OperatorKey const &p2)
 Less-than comparison operator for OperatorKey objects. More...
 
std::ostream & Nektar::Collections::operator<< (std::ostream &os, OperatorKey const &p)
 Stream output operator for OperatorKey objects. More...
 

Variables

const char *const Nektar::Collections::OperatorTypeMap []
 
const char *const Nektar::Collections::OperatorTypeMap1 []
 
const char *const Nektar::Collections::ImplementationTypeMap []
 
const char *const Nektar::Collections::ImplementationTypeMap1 []
 

Macro Definition Documentation

◆ OPERATOR_CREATE

#define OPERATOR_CREATE (   cname)
Value:
static OperatorKey m_type; \
static OperatorKey m_typeArr[]; \
friend class MemoryManager<cname>; \
static OperatorSharedPtr create( \
std::vector<StdRegions::StdExpansionSharedPtr> pCollExp, \
std::shared_ptr<CoalescedGeomData> GeomData, \
{ \
return MemoryManager<cname>::AllocateSharedPtr(pCollExp, GeomData, \
factors); \
}
std::shared_ptr< Operator > OperatorSharedPtr
Shared pointer to an Operator object.
Definition: Operator.h:235
std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > OperatorKey
Key for describing an Operator.
Definition: Operator.h:120
ConstFactorMap FactorMap
Definition: StdRegions.hpp:434
StdRegions::ConstFactorMap factors

Definition at line 43 of file Operator.h.