Nektar++
Loading...
Searching...
No Matches
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, ExpansionIsNodalNektar::Collections::OperatorKey
 Key for describing an Operator.
 
typedef Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector< StdRegions::StdExpansionSharedPtr >, CoalescedGeomDataSharedPtr, StdRegions::FactorMapNektar::Collections::OperatorFactory
 Operator factory definition.
 
typedef std::map< OperatorType, ImplementationTypeNektar::Collections::OperatorImpMap
 
typedef std::shared_ptr< OperatorNektar::Collections::OperatorSharedPtr
 Shared pointer to an Operator object.
 

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

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

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, \
StdRegions::FactorMap factors) \
{ \
return MemoryManager<cname>::AllocateSharedPtr(pCollExp, GeomData, \
factors); \
}

Definition at line 43 of file Operator.h.

51 { \
52 return MemoryManager<cname>::AllocateSharedPtr(pCollExp, GeomData, \
53 factors); \
54 }