Nektar++
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
Operator.h File Reference
#include <boost/core/ignore_unused.hpp>
#include <LibUtilities/BasicUtils/NekFactory.hpp>
#include <StdRegions/StdExpansion.h>
#include <SpatialDomains/Geometry.h>
#include <Collections/CollectionsDeclspec.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

 Nektar
 
 Nektar::Collections
 

Macros

#define OPERATOR_CREATE(cname)
 

Typedefs

typedef bool Nektar::Collections::ExpansionIsNodal
 
typedef std::map< OperatorType, ImplementationType > Nektar::Collections::OperatorImpMap
 
typedef std::shared_ptr< Operator > Nektar::Collections::OperatorSharedPtr
 Shared pointer to an Operator object. More...
 
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 > Nektar::Collections::OperatorFactory
 Operator factory definition. More...
 

Enumerations

enum  Nektar::Collections::OperatorType {
  Nektar::Collections::eBwdTrans, Nektar::Collections::eIProductWRTBase, Nektar::Collections::eIProductWRTDerivBase, Nektar::Collections::ePhysDeriv,
  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::SIZE_ImplementationType
}
 

Functions

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...
 
OperatorFactory & Nektar::Collections::GetOperatorFactory ()
 Returns the singleton Operator factory object. More...
 

Variables

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

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); \
}
std::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > OperatorKey
Key for describing an Operator.
Definition: Operator.h:161
std::shared_ptr< Operator > OperatorSharedPtr
Shared pointer to an Operator object.
Definition: Operator.h:154

Definition at line 45 of file Operator.h.