Nektar++
|
Phys deriv operator using matrix free operators. More...
Public Member Functions | |
~PhysDeriv_MatrixFree () final=default | |
void | operator() (const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output0, Array< OneD, NekDouble > &output1, Array< OneD, NekDouble > &output2, Array< OneD, NekDouble > &wsp) final |
Perform operation. More... | |
void | operator() (int dir, const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, Array< OneD, NekDouble > &wsp) final |
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 | ~Operator ()=default |
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 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 number of elements. More... | |
StdRegions::StdExpansionSharedPtr | GetExpSharedPtr () |
Get expansion pointer. More... | |
unsigned int | GetInputSize () |
unsigned int | GetOutputSize () |
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 | |
![]() | |
virtual int | v_GetInputSize () |
This purely virtual function needs to be set-up for every operator inside Collections. It is responsible for returning the size of input collection, that the operator is applied on either in physical or coefficient space. More... | |
virtual int | v_GetOutputSize () |
This purely virtual function needs to be set-up for every operator inside Collections. It is responsible for returning the output size either in physical or coefficient space of an operator inside Collections. More... | |
![]() | |
PhysDeriv_Helper () | |
![]() | |
bool | m_isDeformed |
StdRegions::StdExpansionSharedPtr | m_stdExp |
unsigned int | m_numElmt |
number of elements that the operator is applied on More... | |
unsigned int | m_nqe |
unsigned int | m_wspSize |
unsigned int | m_inputSize |
number of modes or quadrature points that are passed as input to an operator More... | |
unsigned int | m_outputSize |
number of modes or quadrature points that are taken as output from an operator More... | |
Phys deriv operator using matrix free operators.
Definition at line 275 of file PhysDeriv.cpp.
|
finaldefault |
|
inlineprivate |
Definition at line 350 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 341 of file PhysDeriv.cpp.
References ASSERTL0.
|
inlinefinalvirtual |
Perform operation.
Implements Nektar::Collections::Operator.
Definition at line 284 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().
|
inlinefinalvirtual |
Implements Nektar::Collections::Operator.
Definition at line 324 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 348 of file PhysDeriv.cpp.
Referenced by PhysDeriv_MatrixFree().