| Nektar++
    | 
Helmholtz operator using matrix free operators. More...
| Public Member Functions | |
| ~Helmholtz_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... | |
| void | UpdateVarcoeffs (StdRegions::VarCoeffMap &varcoeffs) override | 
| Check the validity of supplied variable coefficients. Note that the m_varcoeffs are not implemented for the MatrixFree operator. There exists a specialised implementation for variable diffusion in the above function UpdateFactors.  More... | |
|  Public Member Functions inherited from Nektar::Collections::Operator | |
| 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 | |
| Helmholtz_MatrixFree (vector< StdRegions::StdExpansionSharedPtr > pCollExp, CoalescedGeomDataSharedPtr pGeomData, StdRegions::FactorMap factors) | |
|  Private Member Functions inherited from Nektar::Collections::MatrixFreeOneInOneOut | |
| MatrixFreeOneInOneOut (const unsigned int nIn, const unsigned int nOut, const unsigned int nCollSize) | |
| Constructor.  More... | |
|  Private Member Functions inherited from Nektar::Collections::Helmholtz_Helper | |
| Helmholtz_Helper () | |
| Private Attributes | |
| std::shared_ptr< MatrixFree::Helmholtz > | m_oper | 
| unsigned int | m_nmtot | 
| StdRegions::FactorMap | m_factors | 
| StdRegions::VarCoeffMap | m_varcoeffs | 
|  Private Attributes inherited from Nektar::Collections::MatrixFreeOneInOneOut | |
| Array< OneD, NekDouble > | m_input | 
| padded input/output vectors  More... | |
| Array< OneD, NekDouble > | m_output | 
| Additional Inherited Members | |
|  Protected Attributes inherited from Nektar::Collections::Operator | |
| 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... | |
Helmholtz operator using matrix free operators.
Definition at line 585 of file library/Collections/Helmholtz.cpp.
| 
 | finaldefault | 
| 
 | inlineprivate | 
Definition at line 722 of file library/Collections/Helmholtz.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::Collections::GetOperatorFactory(), m_factors, Nektar::Collections::Operator::m_isDeformed, Nektar::Collections::MatrixFreeBase::m_nElmtPad, m_nmtot, Nektar::Collections::Operator::m_numElmt, m_oper, m_varcoeffs, Nektar::StdRegions::NullFactorMap, Nektar::StdRegions::NullVarCoeffMap, and UpdateFactors().
| 
 | inlinefinalvirtual | 
Perform operation.
Implements Nektar::Collections::Operator.
Definition at line 594 of file library/Collections/Helmholtz.cpp.
References Nektar::Collections::MatrixFreeOneInOneOut::m_input, Nektar::Collections::MatrixFreeBase::m_isPadded, m_nmtot, Nektar::Collections::MatrixFreeOneInOneOut::m_output, and Vmath::Vcopy().
| 
 | inlinefinalvirtual | 
Implements Nektar::Collections::Operator.
Definition at line 613 of file library/Collections/Helmholtz.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
| 
 | inlineoverridevirtual | 
Update the supplied factor map.
Reimplemented from Nektar::Collections::Operator.
Definition at line 624 of file library/Collections/Helmholtz.cpp.
References ASSERTL1, Nektar::StdRegions::ConstFactorTypeMap, Nektar::StdRegions::eFactorCoeffD00, Nektar::StdRegions::eFactorCoeffD01, Nektar::StdRegions::eFactorCoeffD02, Nektar::StdRegions::eFactorCoeffD11, Nektar::StdRegions::eFactorCoeffD12, Nektar::StdRegions::eFactorCoeffD22, Nektar::StdRegions::eFactorLambda, Nektar::StdRegions::eFactorTau, Nektar::VarcoeffHashingTest::factors, m_factors, and m_oper.
Referenced by Helmholtz_MatrixFree().
| 
 | inlineoverridevirtual | 
Check the validity of supplied variable coefficients. Note that the m_varcoeffs are not implemented for the MatrixFree operator. There exists a specialised implementation for variable diffusion in the above function UpdateFactors.
| varcoeffs | Map of varcoeffs | 
Reimplemented from Nektar::Collections::Operator.
Definition at line 711 of file library/Collections/Helmholtz.cpp.
References m_varcoeffs.
| 
 | private | 
Definition at line 719 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_MatrixFree(), and UpdateFactors().
| 
 | private | 
Definition at line 718 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_MatrixFree(), and operator()().
| 
 | private | 
Definition at line 717 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_MatrixFree(), and UpdateFactors().
| 
 | private | 
Definition at line 720 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_MatrixFree(), and UpdateVarcoeffs().