Nektar++
Public Member Functions | Protected Attributes | List of all members
Nektar::Collections::Operator Class Referenceabstract

Base class for operators on a collection of elements. More...

#include <Operator.h>

Inheritance diagram for Nektar::Collections::Operator:
[legend]

Public Member Functions

 Operator (std::vector< StdRegions::StdExpansionSharedPtr > pCollExp, std::shared_ptr< CoalescedGeomData > GeomData)
 Constructor. More...
 
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. More...
 
virtual COLLECTIONS_EXPORT void operator() (int dir, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp=NullNekDouble1DArray)=0
 
virtual COLLECTIONS_EXPORT ~Operator ()
 
int GetWspSize ()
 Get the size of the required workspace. More...
 

Protected Attributes

StdRegions::StdExpansionSharedPtr m_stdExp
 
unsigned int m_numElmt
 
unsigned int m_wspSize
 

Detailed Description

Base class for operators on a collection of elements.

Definition at line 109 of file Operator.h.

Constructor & Destructor Documentation

◆ Operator()

Nektar::Collections::Operator::Operator ( std::vector< StdRegions::StdExpansionSharedPtr pCollExp,
std::shared_ptr< CoalescedGeomData GeomData 
)
inline

Constructor.

Definition at line 113 of file Operator.h.

References COLLECTIONS_EXPORT, Nektar::NullNekDouble1DArray, operator()(), and ~Operator().

116  : m_stdExp(pCollExp[0]->GetStdExp()),
117  m_numElmt(pCollExp.size()),
118  m_wspSize(0)
119  {
120  boost::ignore_unused(GeomData);
121  }
StdRegions::StdExpansionSharedPtr m_stdExp
Definition: Operator.h:148

◆ ~Operator()

Nektar::Collections::Operator::~Operator ( )
virtual

Definition at line 100 of file Operator.cpp.

Referenced by Operator().

101 {
102 }

Member Function Documentation

◆ GetWspSize()

int Nektar::Collections::Operator::GetWspSize ( )
inline

Get the size of the required workspace.

Definition at line 142 of file Operator.h.

References m_wspSize.

143  {
144  return m_wspSize;
145  }

◆ operator()() [1/2]

virtual COLLECTIONS_EXPORT void Nektar::Collections::Operator::operator() ( const Array< OneD, const NekDouble > &  input,
Array< OneD, NekDouble > &  output0,
Array< OneD, NekDouble > &  output1,
Array< OneD, NekDouble > &  output2,
Array< OneD, NekDouble > &  wsp = NullNekDouble1DArray 
)
pure virtual

Perform operation.

Implemented in Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr, Nektar::Collections::PhysDeriv_SumFac_Pyr, Nektar::Collections::IProductWRTDerivBase_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Prism, Nektar::Collections::IProductWRTDerivBase_SumFac_Tet, Nektar::Collections::PhysDeriv_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Pyr, Nektar::Collections::PhysDeriv_SumFac_Hex, Nektar::Collections::BwdTrans_SumFac_Prism, Nektar::Collections::IProductWRTDerivBase_SumFac_Hex, Nektar::Collections::IProductWRTBase_SumFac_Pyr, Nektar::Collections::IProductWRTBase_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Tri, Nektar::Collections::IProductWRTDerivBase_SumFac_Tri, Nektar::Collections::BwdTrans_SumFac_Tet, Nektar::Collections::IProductWRTBase_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Hex, Nektar::Collections::PhysDeriv_SumFac_Quad, Nektar::Collections::IProductWRTBase_SumFac_Hex, Nektar::Collections::IProductWRTDerivBase_SumFac_Quad, Nektar::Collections::IProductWRTBase_SumFac_Tri, Nektar::Collections::PhysDeriv_SumFac_Seg, Nektar::Collections::BwdTrans_SumFac_Tri, Nektar::Collections::IProductWRTDerivBase_SumFac_Seg, Nektar::Collections::IProductWRTBase_SumFac_Quad, Nektar::Collections::BwdTrans_SumFac_Quad, Nektar::Collections::IProductWRTDerivBase_NoCollection, Nektar::Collections::PhysDeriv_NoCollection, Nektar::Collections::IProductWRTBase_SumFac_Seg, Nektar::Collections::BwdTrans_SumFac_Seg, Nektar::Collections::IProductWRTBase_NoCollection, Nektar::Collections::BwdTrans_NoCollection, Nektar::Collections::IProductWRTDerivBase_IterPerExp, Nektar::Collections::PhysDeriv_IterPerExp, Nektar::Collections::IProductWRTBase_IterPerExp, Nektar::Collections::BwdTrans_IterPerExp, Nektar::Collections::IProductWRTBase_StdMat, Nektar::Collections::IProductWRTDerivBase_StdMat, Nektar::Collections::BwdTrans_StdMat, and Nektar::Collections::PhysDeriv_StdMat.

Referenced by Operator().

◆ operator()() [2/2]

virtual COLLECTIONS_EXPORT void Nektar::Collections::Operator::operator() ( int  dir,
const Array< OneD, const NekDouble > &  input,
Array< OneD, NekDouble > &  output,
Array< OneD, NekDouble > &  wsp = NullNekDouble1DArray 
)
pure virtual

Implemented in Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr, Nektar::Collections::PhysDeriv_SumFac_Pyr, Nektar::Collections::IProductWRTDerivBase_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Prism, Nektar::Collections::IProductWRTDerivBase_SumFac_Tet, Nektar::Collections::PhysDeriv_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Pyr, Nektar::Collections::BwdTrans_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Hex, Nektar::Collections::IProductWRTDerivBase_SumFac_Hex, Nektar::Collections::IProductWRTBase_SumFac_Pyr, Nektar::Collections::BwdTrans_SumFac_Tet, Nektar::Collections::IProductWRTBase_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Tri, Nektar::Collections::IProductWRTDerivBase_SumFac_Tri, Nektar::Collections::IProductWRTBase_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Hex, Nektar::Collections::PhysDeriv_SumFac_Quad, Nektar::Collections::IProductWRTDerivBase_SumFac_Quad, Nektar::Collections::IProductWRTBase_SumFac_Hex, Nektar::Collections::BwdTrans_SumFac_Tri, Nektar::Collections::IProductWRTBase_SumFac_Tri, Nektar::Collections::PhysDeriv_SumFac_Seg, Nektar::Collections::IProductWRTDerivBase_SumFac_Seg, Nektar::Collections::IProductWRTBase_SumFac_Quad, Nektar::Collections::BwdTrans_SumFac_Quad, Nektar::Collections::PhysDeriv_NoCollection, Nektar::Collections::IProductWRTDerivBase_NoCollection, Nektar::Collections::IProductWRTBase_SumFac_Seg, Nektar::Collections::BwdTrans_SumFac_Seg, Nektar::Collections::IProductWRTBase_NoCollection, Nektar::Collections::IProductWRTDerivBase_IterPerExp, Nektar::Collections::PhysDeriv_IterPerExp, Nektar::Collections::BwdTrans_NoCollection, Nektar::Collections::IProductWRTBase_IterPerExp, Nektar::Collections::BwdTrans_IterPerExp, Nektar::Collections::IProductWRTDerivBase_StdMat, Nektar::Collections::PhysDeriv_StdMat, Nektar::Collections::IProductWRTBase_StdMat, and Nektar::Collections::BwdTrans_StdMat.

Member Data Documentation

◆ m_numElmt

unsigned int Nektar::Collections::Operator::m_numElmt
protected

Definition at line 149 of file Operator.h.

◆ m_stdExp

StdRegions::StdExpansionSharedPtr Nektar::Collections::Operator::m_stdExp
protected

Definition at line 148 of file Operator.h.

◆ m_wspSize

unsigned int Nektar::Collections::Operator::m_wspSize
protected

Definition at line 150 of file Operator.h.

Referenced by GetWspSize().