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 114 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 41 of file Operator.cpp.

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

◆ ~Operator()

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

Definition at line 113 of file Operator.cpp.

114 {
115 }

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 160 of file Operator.h.

161  {
162  return m_stdExp;
163  }

References m_stdExp.

◆ GetNumElmt()

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

Get expansion pointer.

Definition at line 154 of file Operator.h.

155  {
156  return m_numElmt;
157  }

References m_numElmt.

◆ GetWspSize()

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

Get the size of the required workspace.

Definition at line 148 of file Operator.h.

149  {
150  return m_wspSize;
151  }

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 166 of file Operator.h.

◆ m_nqe

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

Definition at line 169 of file Operator.h.

◆ m_numElmt

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

Definition at line 168 of file Operator.h.

Referenced by GetNumElmt().

◆ m_stdExp

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

Definition at line 167 of file Operator.h.

Referenced by GetExpSharedPtr().

◆ m_wspSize

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

Definition at line 170 of file Operator.h.

Referenced by GetWspSize().