|
Nektar++
|
#include <NekNonlinSys.h>
Static Public Member Functions | |
| static NekNonlinSysSharedPtr | CreateInstance (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm, const int nDimen, const NekSysKey &pKey) |
Static Public Member Functions inherited from Nektar::LibUtilities::NekSys | |
| static NekSysSharedPtr | CreateInstance (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm, const int nDimen, const NekSysKey &pKey) |
Protected Member Functions | |
| virtual void | v_InitObject () |
Protected Member Functions inherited from Nektar::LibUtilities::NekSys | |
| 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) |
| virtual bool | v_ConvergenceCheck (const int nIteration, const Array< OneD, const NekDouble > &Residual, const NekDouble tol) |
Protected Attributes | |
| NekLinSysIterSharedPtr | m_linsol |
| NekDouble | m_NonlinIterTolRelativeL2 |
| NekDouble | m_LinSysRelativeTolInNonlin |
| std::string | m_LinSysIterSolverType |
| int | m_totalIterations = 0 |
| int | m_NtotLinSysIts = 0 |
| Array< OneD, NekDouble > | m_Solution |
| Array< OneD, NekDouble > | m_Residual |
| Array< OneD, NekDouble > | m_DeltSltn |
| Array< OneD, NekDouble > | m_SourceVec |
| bool | m_ResidualUpdated = false |
Protected Attributes inherited from Nektar::LibUtilities::NekSys | |
| int | m_maxiter |
| Maximum iterations. More... | |
| NekDouble | m_tolerance |
| Tolerance of iterative solver. More... | |
| LibUtilities::CommSharedPtr | m_Comm |
| Communicate. More... | |
| bool | m_converged |
| Whether the iteration has been converged. More... | |
| bool | m_root |
| Root if parallel. More... | |
| bool | m_verbose |
| Verbose. More... | |
| bool | m_FlagWarnings |
| NekSysOperators | m_operator |
| Operators. More... | |
| int | m_SysDimen |
| The dimension of the system. More... | |
Friends | |
| class | MemoryManager< NekNonlinSys > |
Solves a nonlinear system using iterative methods.
Definition at line 57 of file NekNonlinSys.h.
| Nektar::LibUtilities::NekNonlinSys::NekNonlinSys | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
| const LibUtilities::CommSharedPtr & | vComm, | ||
| const int | nDimen, | ||
| const NekSysKey & | pKey | ||
| ) |
Definition at line 55 of file NekNonlinSys.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::GetNekLinSysIterFactory(), Nektar::LibUtilities::NekSys::m_Comm, m_linsol, m_LinSysIterSolverType, Nektar::LibUtilities::NekSysKey::m_LinSysIterSolverTypeInNonlin, m_LinSysRelativeTolInNonlin, Nektar::LibUtilities::NekSysKey::m_LinSysRelativeTolInNonlin, Nektar::LibUtilities::NekSys::m_maxiter, Nektar::LibUtilities::NekSysKey::m_NekNonlinSysMaxIterations, Nektar::LibUtilities::NekSysKey::m_NekNonlinSysTolerance, m_NonlinIterTolRelativeL2, Nektar::LibUtilities::NekSysKey::m_NonlinIterTolRelativeL2, Nektar::LibUtilities::NekSys::m_SysDimen, and Nektar::LibUtilities::NekSys::m_tolerance.
| Nektar::LibUtilities::NekNonlinSys::~NekNonlinSys | ( | ) |
Definition at line 152 of file NekNonlinSys.cpp.
|
inlinestatic |
Definition at line 61 of file NekNonlinSys.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
inline |
Definition at line 122 of file NekNonlinSys.h.
References m_linsol.
|
inline |
Definition at line 137 of file NekNonlinSys.h.
References m_NtotLinSysIts.
|
inline |
Definition at line 88 of file NekNonlinSys.h.
References m_Residual.
|
inline |
Definition at line 82 of file NekNonlinSys.h.
References m_Solution.
|
inline |
Definition at line 94 of file NekNonlinSys.h.
References m_SourceVec.
Definition at line 132 of file NekNonlinSys.h.
References m_LinSysRelativeTolInNonlin.
|
inline |
Definition at line 115 of file NekNonlinSys.h.
References Nektar::LibUtilities::NekSys::m_maxiter.
Definition at line 110 of file NekNonlinSys.h.
References Nektar::LibUtilities::NekSys::m_tolerance.
Definition at line 127 of file NekNonlinSys.h.
References m_NonlinIterTolRelativeL2.
|
inline |
Definition at line 100 of file NekNonlinSys.h.
References ASSERTL0, m_Residual, m_ResidualUpdated, Nektar::LibUtilities::NekSys::m_SysDimen, and Vmath::Vcopy().
|
protectedvirtual |
Reimplemented from Nektar::LibUtilities::NekSys.
Reimplemented in Nektar::LibUtilities::NekNonlinSysNewton.
Definition at line 147 of file NekNonlinSys.cpp.
References Nektar::LibUtilities::NekSys::v_InitObject().
|
virtual |
Reimplemented in Nektar::LibUtilities::NekNonlinSysNewton.
Definition at line 156 of file NekNonlinSys.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
friend |
Definition at line 55 of file NekNonlinSys.h.
Definition at line 156 of file NekNonlinSys.h.
Referenced by Nektar::LibUtilities::NekNonlinSysNewton::v_InitObject(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Definition at line 143 of file NekNonlinSys.h.
Referenced by GetLinSys(), NekNonlinSys(), Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Definition at line 148 of file NekNonlinSys.h.
Referenced by NekNonlinSys().
|
protected |
Definition at line 146 of file NekNonlinSys.h.
Referenced by Nektar::LibUtilities::NekNonlinSysNewton::CalcInexactNewtonForcing(), NekNonlinSys(), and SetLinSysRelativeTolInNonlin().
|
protected |
Definition at line 145 of file NekNonlinSys.h.
Referenced by NekNonlinSys(), SetNonlinIterTolRelativeL2(), and Nektar::LibUtilities::NekNonlinSysNewton::v_ConvergenceCheck().
|
protected |
Definition at line 151 of file NekNonlinSys.h.
Referenced by GetNtotLinSysIts(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
Definition at line 155 of file NekNonlinSys.h.
Referenced by GetRefResidual(), SetRefResidual(), Nektar::LibUtilities::NekNonlinSysNewton::v_InitObject(), Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Definition at line 159 of file NekNonlinSys.h.
Referenced by SetRefResidual(), Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
Definition at line 154 of file NekNonlinSys.h.
Referenced by GetRefSolution(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
Definition at line 157 of file NekNonlinSys.h.
Referenced by GetRefSourceVec(), Nektar::LibUtilities::NekNonlinSysNewton::v_InitObject(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem().
|
protected |
Definition at line 150 of file NekNonlinSys.h.