Nektar++
|
#include <NekNonlinSysNewton.h>
Static Public Member Functions | |
static NekNonlinSysSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm, const int nDimen, const NekSysKey &pKey) |
![]() | |
static NekSysSharedPtr | CreateInstance (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm, const int nDimen, const NekSysKey &pKey) |
Static Public Attributes | |
static std::string | className |
Protected Member Functions | |
virtual void | v_InitObject () override |
virtual int | v_SolveSystem (const int nGlobal, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const int nDir, const NekDouble tol, const NekDouble factor) override |
virtual bool | v_ConvergenceCheck (const int nIteration, const Array< OneD, const NekDouble > &Residual, const NekDouble tol) override |
virtual void | v_SetupNekNonlinSystem (const int nGlobal, const Array< OneD, const NekDouble > &pInput, const Array< OneD, const NekDouble > &pSource, const int nDir) override |
![]() | |
virtual void | v_NekSysInitialGuess (const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pguess) |
Private Member Functions | |
void | CalcInexactNewtonForcing (const int &k, NekDouble &resnormOld, const NekDouble &resnorm, NekDouble &forcing) |
Friends | |
class | MemoryManager< NekNonlinSysNewton > |
Constructor for full direct matrix solve. More... | |
Solves a nonlinear system using iterative methods.
Definition at line 48 of file NekNonlinSysNewton.h.
Nektar::LibUtilities::NekNonlinSysNewton::NekNonlinSysNewton | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const LibUtilities::CommSharedPtr & | vComm, | ||
const int | nscale, | ||
const NekSysKey & | pKey | ||
) |
Definition at line 54 of file NekNonlinSysNewton.cpp.
Nektar::LibUtilities::NekNonlinSysNewton::~NekNonlinSysNewton | ( | ) |
Definition at line 70 of file NekNonlinSysNewton.cpp.
|
private |
Definition at line 164 of file NekNonlinSysNewton.cpp.
References m_forcingAlpha, m_forcingGamma, m_InexactNewtonForcing, and Nektar::LibUtilities::NekNonlinSys::m_LinSysRelativeTolInNonlin.
Referenced by v_SolveSystem().
|
inlinestatic |
Definition at line 54 of file NekNonlinSysNewton.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
overrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::NekSys.
Definition at line 134 of file NekNonlinSysNewton.cpp.
References Vmath::Dot(), Nektar::LibUtilities::NekSys::m_Comm, Nektar::LibUtilities::NekNonlinSys::m_NonlinIterTolRelativeL2, m_SysResNorm, m_SysResNorm0, and Nektar::LibUtilities::ReduceSum.
Referenced by v_SolveSystem().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::NekNonlinSys.
Definition at line 62 of file NekNonlinSysNewton.cpp.
References Nektar::LibUtilities::NekNonlinSys::m_DeltSltn, Nektar::LibUtilities::NekNonlinSys::m_Residual, Nektar::LibUtilities::NekNonlinSys::m_SourceVec, Nektar::LibUtilities::NekSys::m_SysDimen, and Nektar::LibUtilities::NekSys::v_InitObject().
|
overrideprotectedvirtual |
Implements Nektar::LibUtilities::NekNonlinSys.
Definition at line 205 of file NekNonlinSysNewton.cpp.
References ASSERTL0, Nektar::LibUtilities::NekSysOperators::DoNekSysResEval(), Nektar::LibUtilities::NekNonlinSys::m_linsol, Nektar::LibUtilities::NekSys::m_operator, Nektar::LibUtilities::NekNonlinSys::m_Residual, Nektar::LibUtilities::NekNonlinSys::m_ResidualUpdated, Nektar::LibUtilities::NekNonlinSys::m_SourceVec, Nektar::LibUtilities::NekSys::m_SysDimen, and Vmath::Vcopy().
Referenced by v_SolveSystem().
|
overrideprotectedvirtual |
Reimplemented from Nektar::LibUtilities::NekSys.
Definition at line 77 of file NekNonlinSysNewton.cpp.
References CalcInexactNewtonForcing(), Nektar::LibUtilities::NekSysOperators::DoNekSysResEval(), Nektar::LibUtilities::NekSys::m_converged, Nektar::LibUtilities::NekNonlinSys::m_DeltSltn, Nektar::LibUtilities::NekSys::m_FlagWarnings, Nektar::LibUtilities::NekNonlinSys::m_linsol, Nektar::LibUtilities::NekSys::m_maxiter, Nektar::LibUtilities::NekNonlinSys::m_NtotLinSysIts, Nektar::LibUtilities::NekSys::m_operator, Nektar::LibUtilities::NekNonlinSys::m_Residual, Nektar::LibUtilities::NekNonlinSys::m_ResidualUpdated, Nektar::LibUtilities::NekSys::m_root, Nektar::LibUtilities::NekNonlinSys::m_Solution, m_SysResNorm, m_SysResNorm0, Nektar::LibUtilities::NekSys::m_verbose, tinysimd::sqrt(), v_ConvergenceCheck(), v_SetupNekNonlinSystem(), Vmath::Vcopy(), Vmath::Vsub(), and WARNINGL0.
|
friend |
Constructor for full direct matrix solve.
Definition at line 1 of file NekNonlinSysNewton.h.
|
static |
Definition at line 66 of file NekNonlinSysNewton.h.
|
protected |
Definition at line 79 of file NekNonlinSysNewton.h.
Referenced by CalcInexactNewtonForcing().
|
protected |
Definition at line 78 of file NekNonlinSysNewton.h.
Referenced by CalcInexactNewtonForcing().
|
protected |
Definition at line 77 of file NekNonlinSysNewton.h.
Referenced by CalcInexactNewtonForcing().
|
protected |
Definition at line 75 of file NekNonlinSysNewton.h.
Referenced by v_ConvergenceCheck(), and v_SolveSystem().
|
protected |
Definition at line 74 of file NekNonlinSysNewton.h.
Referenced by v_ConvergenceCheck(), and v_SolveSystem().