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, StdRegions::FactorMap factors)
 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 ()
 
virtual COLLECTIONS_EXPORT void CheckFactors (StdRegions::FactorMap factors, int coll_phys_offset)=0
 Check the validity of the supplied factor map. More...
 
unsigned int GetWspSize ()
 Get the size of the required workspace. More...
 
unsigned int GetNumElmt ()
 Get expansion pointer. More...
 
StdRegions::StdExpansionSharedPtr GetExpSharedPtr ()
 Get expansion pointer. More...
 

Protected Attributes

bool m_isDeformed
 
StdRegions::StdExpansionSharedPtr m_stdExp
 
unsigned int m_numElmt
 
unsigned int m_nqe
 
unsigned int m_wspSize
 

Detailed Description

Base class for operators on a collection of elements.

Definition at line 118 of file Operator.h.

Constructor & Destructor Documentation

◆ Operator()

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

Constructor.

Definition at line 43 of file Operator.cpp.

46  : m_isDeformed(GeomData->IsDeformed(pCollExp)),
47  m_stdExp(pCollExp[0]->GetStdExp()), m_numElmt(pCollExp.size()),
48  m_nqe(pCollExp[0]->GetTotPoints()), m_wspSize(0)
49 {
50  boost::ignore_unused(factors);
51 }
StdRegions::StdExpansionSharedPtr m_stdExp
Definition: Operator.h:165

◆ ~Operator()

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

Definition at line 110 of file Operator.cpp.

111 {
112 }

Member Function Documentation

◆ CheckFactors()

virtual COLLECTIONS_EXPORT void Nektar::Collections::Operator::CheckFactors ( StdRegions::FactorMap  factors,
int  coll_phys_offset 
)
pure virtual

Check the validity of the supplied factor map.

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

◆ GetExpSharedPtr()

StdRegions::StdExpansionSharedPtr Nektar::Collections::Operator::GetExpSharedPtr ( )
inline

Get expansion pointer.

Definition at line 158 of file Operator.h.

159  {
160  return m_stdExp;
161  }

References m_stdExp.

◆ GetNumElmt()

unsigned int Nektar::Collections::Operator::GetNumElmt ( )
inline

Get expansion pointer.

Definition at line 152 of file Operator.h.

153  {
154  return m_numElmt;
155  }

References m_numElmt.

◆ GetWspSize()

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

Get the size of the required workspace.

Definition at line 146 of file Operator.h.

147  {
148  return m_wspSize;
149  }

References m_wspSize.

◆ 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::PhysDeriv_SumFac_Pyr, Nektar::Collections::PhysDeriv_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Tet, Nektar::Collections::PhysDeriv_SumFac_Hex, Nektar::Collections::PhysDeriv_SumFac_Tri, Nektar::Collections::PhysDeriv_SumFac_Quad, Nektar::Collections::PhysDeriv_SumFac_Seg, Nektar::Collections::PhysDeriv_NoCollection, Nektar::Collections::PhysDeriv_IterPerExp, Nektar::Collections::PhysDeriv_MatrixFree, Nektar::Collections::PhysDeriv_StdMat, Nektar::Collections::Helmholtz_MatrixFree, Nektar::Collections::BwdTrans_MatrixFree, Nektar::Collections::IProductWRTBase_SumFac_Pyr, Nektar::Collections::IProductWRTBase_SumFac_Prism, Nektar::Collections::IProductWRTBase_SumFac_Tet, Nektar::Collections::IProductWRTBase_SumFac_Hex, Nektar::Collections::IProductWRTBase_SumFac_Tri, Nektar::Collections::IProductWRTBase_SumFac_Quad, Nektar::Collections::IProductWRTBase_SumFac_Seg, Nektar::Collections::IProductWRTBase_NoCollection, Nektar::Collections::IProductWRTBase_IterPerExp, Nektar::Collections::IProductWRTBase_MatrixFree, Nektar::Collections::IProductWRTBase_StdMat, Nektar::Collections::Helmholtz_IterPerExp, Nektar::Collections::BwdTrans_SumFac_Pyr, Nektar::Collections::BwdTrans_SumFac_Prism, Nektar::Collections::BwdTrans_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Hex, Nektar::Collections::BwdTrans_SumFac_Tri, Nektar::Collections::BwdTrans_SumFac_Quad, Nektar::Collections::BwdTrans_SumFac_Seg, Nektar::Collections::BwdTrans_NoCollection, Nektar::Collections::BwdTrans_IterPerExp, Nektar::Collections::BwdTrans_StdMat, Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr, Nektar::Collections::IProductWRTDerivBase_SumFac_Prism, Nektar::Collections::IProductWRTDerivBase_SumFac_Tet, Nektar::Collections::IProductWRTDerivBase_SumFac_Hex, Nektar::Collections::IProductWRTDerivBase_SumFac_Tri, Nektar::Collections::IProductWRTDerivBase_SumFac_Quad, Nektar::Collections::IProductWRTDerivBase_SumFac_Seg, Nektar::Collections::IProductWRTDerivBase_NoCollection, Nektar::Collections::IProductWRTDerivBase_IterPerExp, Nektar::Collections::IProductWRTDerivBase_MatrixFree, Nektar::Collections::IProductWRTDerivBase_StdMat, and Nektar::Collections::Helmholtz_NoCollection.

◆ 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::PhysDeriv_SumFac_Pyr, Nektar::Collections::PhysDeriv_SumFac_Prism, Nektar::Collections::PhysDeriv_SumFac_Tet, Nektar::Collections::PhysDeriv_SumFac_Hex, Nektar::Collections::PhysDeriv_SumFac_Tri, Nektar::Collections::PhysDeriv_SumFac_Quad, Nektar::Collections::PhysDeriv_SumFac_Seg, Nektar::Collections::PhysDeriv_NoCollection, Nektar::Collections::PhysDeriv_IterPerExp, Nektar::Collections::PhysDeriv_MatrixFree, Nektar::Collections::PhysDeriv_StdMat, Nektar::Collections::IProductWRTDerivBase_SumFac_Pyr, Nektar::Collections::IProductWRTDerivBase_SumFac_Prism, Nektar::Collections::IProductWRTDerivBase_SumFac_Tet, Nektar::Collections::IProductWRTDerivBase_SumFac_Hex, Nektar::Collections::IProductWRTDerivBase_SumFac_Tri, Nektar::Collections::IProductWRTDerivBase_SumFac_Quad, Nektar::Collections::IProductWRTDerivBase_SumFac_Seg, Nektar::Collections::IProductWRTDerivBase_NoCollection, Nektar::Collections::IProductWRTDerivBase_IterPerExp, Nektar::Collections::IProductWRTDerivBase_MatrixFree, Nektar::Collections::IProductWRTDerivBase_StdMat, Nektar::Collections::IProductWRTBase_SumFac_Pyr, Nektar::Collections::IProductWRTBase_SumFac_Prism, Nektar::Collections::IProductWRTBase_SumFac_Tet, Nektar::Collections::IProductWRTBase_SumFac_Hex, Nektar::Collections::IProductWRTBase_SumFac_Tri, Nektar::Collections::IProductWRTBase_SumFac_Quad, Nektar::Collections::IProductWRTBase_SumFac_Seg, Nektar::Collections::IProductWRTBase_NoCollection, Nektar::Collections::IProductWRTBase_IterPerExp, Nektar::Collections::IProductWRTBase_MatrixFree, Nektar::Collections::IProductWRTBase_StdMat, Nektar::Collections::Helmholtz_MatrixFree, Nektar::Collections::Helmholtz_IterPerExp, Nektar::Collections::Helmholtz_NoCollection, Nektar::Collections::BwdTrans_SumFac_Pyr, Nektar::Collections::BwdTrans_SumFac_Prism, Nektar::Collections::BwdTrans_SumFac_Tet, Nektar::Collections::BwdTrans_SumFac_Hex, Nektar::Collections::BwdTrans_SumFac_Tri, Nektar::Collections::BwdTrans_SumFac_Quad, Nektar::Collections::BwdTrans_SumFac_Seg, Nektar::Collections::BwdTrans_NoCollection, Nektar::Collections::BwdTrans_IterPerExp, Nektar::Collections::BwdTrans_MatrixFree, and Nektar::Collections::BwdTrans_StdMat.

Member Data Documentation

◆ m_isDeformed

bool Nektar::Collections::Operator::m_isDeformed
protected

Definition at line 164 of file Operator.h.

◆ m_nqe

unsigned int Nektar::Collections::Operator::m_nqe
protected

Definition at line 167 of file Operator.h.

◆ m_numElmt

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

Definition at line 166 of file Operator.h.

Referenced by GetNumElmt().

◆ m_stdExp

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

Definition at line 165 of file Operator.h.

Referenced by GetExpSharedPtr().

◆ m_wspSize

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

Definition at line 168 of file Operator.h.

Referenced by GetWspSize().