|
Nektar++
|
Helmholtz operator using LocalRegions implementation. More...
Public Member Functions | |
| ~Helmholtz_IterPerExp () final=default | |
| void | operator() (const Array< OneD, const NekDouble > &input, Array< OneD, NekDouble > &output, 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 |
| Check the validity of supplied constant factors. More... | |
| void | UpdateVarcoeffs (StdRegions::VarCoeffMap &varcoeffs) override |
| Check the validity of supplied variable coefficients. Note that the m_varcoeffs are not implemented for the IterPerExp 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) |
Protected Attributes | |
| Array< TwoD, const NekDouble > | m_derivFac |
| Array< OneD, const NekDouble > | m_jac |
| int | m_dim |
| int | m_coordim |
| StdRegions::FactorMap | m_factors |
| StdRegions::VarCoeffMap | m_varcoeffs |
| NekDouble | m_lambda |
| bool | m_HasVarCoeffDiff |
| Array< OneD, Array< OneD, NekDouble > > | m_diff |
| const StdRegions::ConstFactorType | m_factorCoeffDef [3][3] |
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... | |
Private Member Functions | |
| Helmholtz_IterPerExp (vector< StdRegions::StdExpansionSharedPtr > pCollExp, CoalescedGeomDataSharedPtr pGeomData, StdRegions::FactorMap factors) | |
Private Member Functions inherited from Nektar::Collections::Helmholtz_Helper | |
| Helmholtz_Helper () | |
Helmholtz operator using LocalRegions implementation.
Definition at line 191 of file library/Collections/Helmholtz.cpp.
|
finaldefault |
|
inlineprivate |
Definition at line 528 of file library/Collections/Helmholtz.cpp.
References m_coordim, m_derivFac, m_dim, m_factors, m_HasVarCoeffDiff, m_jac, m_lambda, Nektar::Collections::Operator::m_stdExp, m_varcoeffs, Nektar::Collections::Operator::m_wspSize, Nektar::StdRegions::NullFactorMap, Nektar::StdRegions::NullVarCoeffMap, and UpdateFactors().
|
inlinefinalvirtual |
Perform operation.
Implements Nektar::Collections::Operator.
Definition at line 198 of file library/Collections/Helmholtz.cpp.
References ASSERTL1, m_coordim, m_derivFac, m_diff, m_dim, m_HasVarCoeffDiff, Nektar::Collections::Operator::m_isDeformed, m_jac, m_lambda, Nektar::Collections::Operator::m_numElmt, Nektar::Collections::Operator::m_stdExp, Nektar::MovementTests::origin, Vmath::Smul(), Vmath::Svtvp(), Vmath::Vadd(), Vmath::Vmul(), and Vmath::Vvtvp().
|
inlinefinalvirtual |
Implements Nektar::Collections::Operator.
Definition at line 425 of file library/Collections/Helmholtz.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineoverridevirtual |
Check the validity of supplied constant factors.
| factors | Map of factors |
Reimplemented from Nektar::Collections::Operator.
Definition at line 438 of file library/Collections/Helmholtz.cpp.
References ASSERTL1, Nektar::StdRegions::ConstFactorTypeMap, Nektar::UnitTests::d(), Nektar::StdRegions::eFactorCoeffD00, Nektar::StdRegions::eFactorLambda, Nektar::VarcoeffHashingTest::factors, m_coordim, m_diff, m_factorCoeffDef, m_factors, m_HasVarCoeffDiff, and m_lambda.
Referenced by Helmholtz_IterPerExp().
|
inlineoverridevirtual |
Check the validity of supplied variable coefficients. Note that the m_varcoeffs are not implemented for the IterPerExp 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 504 of file library/Collections/Helmholtz.cpp.
References m_varcoeffs.
|
protected |
Definition at line 513 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), operator()(), and UpdateFactors().
Definition at line 510 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), and operator()().
Definition at line 518 of file library/Collections/Helmholtz.cpp.
Referenced by operator()(), and UpdateFactors().
|
protected |
Definition at line 512 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), and operator()().
|
protected |
Definition at line 519 of file library/Collections/Helmholtz.cpp.
Referenced by UpdateFactors().
|
protected |
Definition at line 514 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), and UpdateFactors().
|
protected |
Definition at line 517 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), operator()(), and UpdateFactors().
Definition at line 511 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), and operator()().
|
protected |
Definition at line 516 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), operator()(), and UpdateFactors().
|
protected |
Definition at line 515 of file library/Collections/Helmholtz.cpp.
Referenced by Helmholtz_IterPerExp(), and UpdateVarcoeffs().