Nektar++
|
Phys deriv operator using matrix free operators. More...
Public Member Functions | |
~PhysDeriv_MatrixFree () final | |
void | operator() (const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output0, Array< OneD, NekDouble > &output1, Array< OneD, NekDouble > &output2, Array< OneD, NekDouble > &wsp) override final |
Perform operation. More... | |
void | operator() (int dir, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) override final |
virtual void | CheckFactors (StdRegions::FactorMap factors, int coll_phys_offset) override |
Check the validity of the supplied factor map. More... | |
![]() | |
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... | |
Private Member Functions | |
PhysDeriv_MatrixFree (vector< StdRegions::StdExpansionSharedPtr > pCollExp, CoalescedGeomDataSharedPtr pGeomData, StdRegions::FactorMap factors) | |
![]() | |
MatrixFreeOneInMultiOut (const unsigned int coordim, const unsigned int nIn, const unsigned int nOut, const unsigned int nCollSize) | |
Constructor. More... | |
Private Attributes | |
std::shared_ptr< MatrixFree::PhysDeriv > | m_oper |
![]() | |
unsigned short | m_coordim |
coordinates dimension More... | |
Array< OneD, NekDouble > | m_input |
padded input/output vectors More... | |
Array< OneD, Array< OneD, NekDouble > > | m_output |
Additional Inherited Members | |
![]() | |
bool | m_isDeformed |
StdRegions::StdExpansionSharedPtr | m_stdExp |
unsigned int | m_numElmt |
unsigned int | m_nqe |
unsigned int | m_wspSize |
Phys deriv operator using matrix free operators.
Definition at line 268 of file PhysDeriv.cpp.
|
inlinefinal |
Definition at line 273 of file PhysDeriv.cpp.
|
inlineprivate |
Definition at line 347 of file PhysDeriv.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::Collections::GetOperatorFactory(), Nektar::Collections::MatrixFreeOneInMultiOut::m_coordim, Nektar::Collections::MatrixFreeBase::m_isPadded, Nektar::Collections::MatrixFreeBase::m_nElmtPad, m_oper, and Nektar::Collections::MatrixFreeOneInMultiOut::m_output.
|
inlineoverridevirtual |
Check the validity of the supplied factor map.
Implements Nektar::Collections::Operator.
Definition at line 337 of file PhysDeriv.cpp.
References ASSERTL0, and Nektar::VarcoeffHashingTest::factors.
|
inlinefinaloverridevirtual |
Perform operation.
Implements Nektar::Collections::Operator.
Definition at line 277 of file PhysDeriv.cpp.
References Nektar::ErrorUtil::efatal, Nektar::Collections::MatrixFreeOneInMultiOut::m_coordim, Nektar::Collections::MatrixFreeOneInMultiOut::m_input, Nektar::Collections::MatrixFreeBase::m_isPadded, Nektar::Collections::MatrixFreeBase::m_nIn, Nektar::Collections::MatrixFreeBase::m_nOut, Nektar::Collections::MatrixFreeOneInMultiOut::m_output, NEKERROR, and Vmath::Vcopy().
|
inlinefinaloverridevirtual |
Implements Nektar::Collections::Operator.
Definition at line 319 of file PhysDeriv.cpp.
References Nektar::Collections::MatrixFreeOneInMultiOut::m_input, Nektar::Collections::MatrixFreeBase::m_isPadded, Nektar::Collections::MatrixFreeBase::m_nIn, Nektar::Collections::MatrixFreeBase::m_nOut, Nektar::Collections::MatrixFreeOneInMultiOut::m_output, and Vmath::Vcopy().
|
private |
Definition at line 345 of file PhysDeriv.cpp.
Referenced by PhysDeriv_MatrixFree().