36 #ifndef NEKTAR_LIBRARY_COLLECTIONS_OPERATOR_H 
   37 #define NEKTAR_LIBRARY_COLLECTIONS_OPERATOR_H 
   44 #define OPERATOR_CREATE(cname)                                  \ 
   45     static OperatorKey m_type;                                  \ 
   46     static OperatorKey m_typeArr[];                             \ 
   47     friend class MemoryManager<cname>;                          \ 
   48     static OperatorSharedPtr create(                            \ 
   49         std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,\ 
   50         boost::shared_ptr<CoalescedGeomData> GeomData)          \ 
   52         return MemoryManager<cname>                             \ 
   53             ::AllocateSharedPtr(pCollExp, GeomData);            \ 
   61 class CoalescedGeomData;
 
   77     "IProductWRTDerivBase",
 
   93     "NoImplementationType",
 
  113                 std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,
 
  114                 boost::shared_ptr<CoalescedGeomData> 
GeomData)
 
  155 typedef boost::tuple<
 
  162 bool operator< (OperatorKey 
const &p1, OperatorKey 
const &p2);
 
  165 std::ostream &
operator<<(std::ostream &os, OperatorKey 
const &
p);
 
  171     std::vector<StdRegions::StdExpansionSharedPtr>,
 
Operator(std::vector< StdRegions::StdExpansionSharedPtr > pCollExp, boost::shared_ptr< CoalescedGeomData > GeomData)
Constructor. 
 
static Array< OneD, NekDouble > NullNekDouble1DArray
 
const char *const ImplementationTypeMap[]
 
boost::tuple< LibUtilities::ShapeType, OperatorType, ImplementationType, ExpansionIsNodal > OperatorKey
Key for describing an Operator. 
 
bool operator<(OperatorKey const &p1, OperatorKey const &p2)
Less-than comparison operator for OperatorKey objects. 
 
StdRegions::StdExpansionSharedPtr GetStdExp(StdRegions::StdExpansionSharedPtr exp)
 
Base class for operators on a collection of elements. 
 
const char *const OperatorTypeMap[]
 
int GetWspSize()
Get the size of the required workspace. 
 
std::ostream & operator<<(std::ostream &os, OperatorKey const &p)
Stream output operator for OperatorKey objects. 
 
std::map< OperatorType, ImplementationType > OperatorImpMap
 
boost::shared_ptr< Operator > OperatorSharedPtr
Shared pointer to an Operator object. 
 
OperatorFactory & GetOperatorFactory()
Returns the singleton Operator factory object. 
 
StdRegions::StdExpansionSharedPtr m_stdExp
 
#define COLLECTIONS_EXPORT
 
virtual COLLECTIONS_EXPORT void operator()(const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output0, Array< OneD, NekDouble > &output1, Array< OneD, NekDouble > &output2, Array< OneD, NekDouble > &wsp=NullNekDouble1DArray)=0
Perform operation. 
 
Nektar::LibUtilities::NekFactory< OperatorKey, Operator, std::vector< StdRegions::StdExpansionSharedPtr >, CoalescedGeomDataSharedPtr > OperatorFactory
Operator factory definition. 
 
boost::shared_ptr< CoalescedGeomData > CoalescedGeomDataSharedPtr
 
virtual COLLECTIONS_EXPORT ~Operator()
 
OperatorImpMap SetFixedImpType(ImplementationType defaultType)
simple Operator Implementation Map generator 
 
boost::shared_ptr< StdExpansion > StdExpansionSharedPtr
 
Provides a generic Factory class.