Nektar++
|
PhysInterp1DScaled operator using matrix free implementation. More...
Public Member Functions | |
~PhysInterp1DScaled_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 | UpdateFactors (StdRegions::FactorMap factors) override |
Update 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 | UpdateFactors (StdRegions::FactorMap factors) |
Update the supplied factor map. More... | |
virtual COLLECTIONS_EXPORT void | UpdateVarcoeffs (StdRegions::VarCoeffMap &varcoeffs) |
Update the supplied variable coefficients. 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 (bool defaultIn=true) |
unsigned int | GetOutputSize (bool defaultOut=true) |
Private Member Functions | |
PhysInterp1DScaled_MatrixFree (vector< StdRegions::StdExpansionSharedPtr > pCollExp, CoalescedGeomDataSharedPtr pGeomData, StdRegions::FactorMap factors) | |
![]() | |
MatrixFreeBase ()=default | |
MatrixFreeBase (const unsigned int nIn, const unsigned int nOut, const unsigned int nCollSize) | |
void | UpdateFactors (StdRegions::FactorMap factors) override |
Update the supplied factor map. More... | |
PhysInterp1DScaled_Helper () | |
Private Attributes | |
std::shared_ptr< MatrixFree::PhysInterp1DScaled > | m_oper |
![]() | |
bool | m_isPadded {false} |
flag for padding More... | |
unsigned int | m_nElmtPad |
size after padding More... | |
unsigned int | m_nIn |
actural size of input array More... | |
unsigned int | m_nOut |
actural size of output array More... | |
![]() | |
StdRegions::FactorMap | m_factors |
Additional Inherited Members | |
![]() | |
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... | |
unsigned int | m_inputSizeOther |
Number of modes or quadrature points, opposite to m_inputSize. More... | |
unsigned int | m_outputSizeOther |
Number of modes or quadrature points, opposite to m_outputSize. More... | |
PhysInterp1DScaled operator using matrix free implementation.
Definition at line 121 of file PhysInterp1DScaled.cpp.
|
finaldefault |
|
inlineprivate |
Definition at line 181 of file PhysInterp1DScaled.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::StdRegions::eFactorConst, Nektar::VarcoeffHashingTest::factors, Nektar::Collections::GetOperatorFactory(), Nektar::Collections::PhysInterp1DScaled_Helper::m_factors, Nektar::Collections::MatrixFreeBase::m_nElmtPad, Nektar::Collections::MatrixFreeBase::m_nOut, Nektar::Collections::Operator::m_numElmt, m_oper, and Nektar::Collections::Operator::m_outputSize.
|
inlinefinalvirtual |
Perform operation.
Implements Nektar::Collections::Operator.
Definition at line 130 of file PhysInterp1DScaled.cpp.
|
inlinefinalvirtual |
Implements Nektar::Collections::Operator.
Definition at line 139 of file PhysInterp1DScaled.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineoverridevirtual |
Update the supplied factor map.
Reimplemented from Nektar::Collections::Operator.
Definition at line 148 of file PhysInterp1DScaled.cpp.
References ASSERTL1, Nektar::StdRegions::ConstFactorTypeMap, Nektar::StdRegions::eFactorConst, Nektar::VarcoeffHashingTest::factors, Nektar::Collections::PhysInterp1DScaled_Helper::m_factors, Nektar::Collections::MatrixFreeBase::m_nElmtPad, Nektar::Collections::MatrixFreeBase::m_nOut, Nektar::Collections::Operator::m_numElmt, m_oper, Nektar::Collections::Operator::m_outputSize, and Nektar::Collections::Operator::m_stdExp.
|
private |
Definition at line 179 of file PhysInterp1DScaled.cpp.
Referenced by PhysInterp1DScaled_MatrixFree(), and UpdateFactors().