|
Nektar++
|
#include <NekSys.h>
Public Member Functions | |
| NekSys (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vRowComm, const int nDimen, const NekSysKey &pKey) | |
| void | InitObject () |
| virtual | ~NekSys () |
| void | SetSysOperators (const NekSysOperators &in) |
| const NekSysOperators & | GetSysOperators () |
| int | SolveSystem (const int nGlobal, const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const int nDir, const NekDouble tol=1.0E-7, const NekDouble factor=1.0) |
| bool | ConvergenceCheck (const int nIteration, const Array< OneD, const NekDouble > &Residual, const NekDouble tol=1.0E-7) |
| void | SetFlagWarnings (bool in) |
Static Public Member Functions | |
| static NekSysSharedPtr | CreateInstance (const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vRowComm, const int nDimen, const NekSysKey &pKey) |
Protected Member Functions | |
| virtual void | v_InitObject () |
| 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) |
| virtual void | v_NekSysInitialGuess (const Array< OneD, const NekDouble > &pInput, Array< OneD, NekDouble > &pguess) |
Protected Attributes | |
| int | m_maxiter |
| Maximum iterations. More... | |
| NekDouble | m_tolerance |
| Tolerance of iterative solver. More... | |
| LibUtilities::CommSharedPtr | m_rowComm |
| 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< NekSys > |
| Support creation through MemoryManager. More... | |
| Nektar::LibUtilities::NekSys::NekSys | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
| const LibUtilities::CommSharedPtr & | vRowComm, | ||
| const int | nDimen, | ||
| const NekSysKey & | pKey | ||
| ) |
Definition at line 50 of file NekSys.cpp.
References m_converged, m_FlagWarnings, m_root, m_rowComm, m_SysDimen, Nektar::LibUtilities::NekSysKey::m_Tolerance, m_tolerance, and m_verbose.
|
virtual |
Definition at line 72 of file NekSys.cpp.
|
inline |
Definition at line 284 of file NekSys.h.
References v_ConvergenceCheck().
Referenced by Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::v_SolveSystem().
|
inlinestatic |
Definition at line 247 of file NekSys.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
inline |
Definition at line 271 of file NekSys.h.
References m_operator.
|
inline |
|
inline |
Definition at line 291 of file NekSys.h.
References m_FlagWarnings.
|
inline |
|
inline |
Definition at line 276 of file NekSys.h.
References v_SolveSystem().
|
protectedvirtual |
Reimplemented in Nektar::LibUtilities::NekNonlinSysNewton.
Definition at line 76 of file NekSys.cpp.
References Vmath::Dot(), m_rowComm, and Nektar::LibUtilities::ReduceSum.
Referenced by ConvergenceCheck().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::NekNonlinSys, Nektar::LibUtilities::NekLinSysIter, Nektar::LibUtilities::NekLinSysIterCG, Nektar::LibUtilities::NekLinSysIterCGLoc, Nektar::LibUtilities::NekLinSysIterFixedpointJacobi, Nektar::LibUtilities::NekLinSysIterGMRES, Nektar::LibUtilities::NekLinSysIterGMRESLoc, and Nektar::LibUtilities::NekNonlinSysNewton.
Definition at line 315 of file NekSys.h.
Referenced by InitObject(), Nektar::LibUtilities::NekNonlinSys::v_InitObject(), Nektar::LibUtilities::NekLinSysIter::v_InitObject(), and Nektar::LibUtilities::NekNonlinSysNewton::v_InitObject().
|
protectedvirtual |
Natural guess
Definition at line 97 of file NekSys.cpp.
References Vmath::Vcopy().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::NekLinSysIterCG, Nektar::LibUtilities::NekLinSysIterCGLoc, Nektar::LibUtilities::NekLinSysIterFixedpointJacobi, Nektar::LibUtilities::NekLinSysIterGMRES, Nektar::LibUtilities::NekNonlinSysNewton, and Nektar::LibUtilities::NekLinSysIterGMRESLoc.
Definition at line 319 of file NekSys.h.
References ASSERTL0.
Referenced by SolveSystem().
|
friend |
Support creation through MemoryManager.
|
protected |
Whether the iteration has been converged.
Definition at line 304 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGmresRestart(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGmresRestart(), NekSys(), Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::v_SolveSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Definition at line 309 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), NekSys(), SetFlagWarnings(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Maximum iterations.
Definition at line 298 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIter::NekLinSysIter(), Nektar::LibUtilities::NekLinSysIterGMRES::NekLinSysIterGMRES(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::NekLinSysIterGMRESLoc(), Nektar::LibUtilities::NekNonlinSys::NekNonlinSys(), Nektar::LibUtilities::NekLinSysIter::SetNekLinSysMaxIterations(), Nektar::LibUtilities::NekNonlinSys::SetNekNonlinSysMaxIterations(), Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::v_SolveSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Operators.
Definition at line 311 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterGMRES::DoArnoldi(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoArnoldi(), Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGmresRestart(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGmresRestart(), GetSysOperators(), Nektar::LibUtilities::NekLinSysIter::Set_Rhs_Magnitude(), SetSysOperators(), Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem(), Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::v_SolveSystem(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Root if parallel.
Definition at line 306 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), NekSys(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().
|
protected |
Communicate.
Definition at line 302 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterGMRES::DoArnoldi(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoArnoldi(), Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGmresRestart(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGmresRestart(), Nektar::LibUtilities::NekNonlinSys::NekNonlinSys(), NekSys(), Nektar::LibUtilities::NekLinSysIter::Set_Rhs_Magnitude(), v_ConvergenceCheck(), and Nektar::LibUtilities::NekNonlinSysNewton::v_ConvergenceCheck().
|
protected |
The dimension of the system.
Definition at line 313 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekNonlinSys::NekNonlinSys(), NekSys(), Nektar::LibUtilities::NekLinSysIter::setUniversalUniqueMap(), Nektar::LibUtilities::NekNonlinSysNewton::v_InitObject(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SetupNekNonlinSystem().
|
protected |
Tolerance of iterative solver.
Definition at line 300 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGmresRestart(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGmresRestart(), Nektar::LibUtilities::NekLinSysIter::NekLinSysIter(), Nektar::LibUtilities::NekNonlinSys::NekNonlinSys(), NekSys(), Nektar::LibUtilities::NekLinSysIter::SetNekLinSysTolerance(), Nektar::LibUtilities::NekNonlinSys::SetNekNonlinSysTolerance(), Nektar::LibUtilities::NekLinSysIterCG::v_SolveSystem(), Nektar::LibUtilities::NekLinSysIterCGLoc::v_SolveSystem(), Nektar::LibUtilities::NekLinSysIterFixedpointJacobi::v_SolveSystem(), Nektar::LibUtilities::NekLinSysIterGMRES::v_SolveSystem(), and Nektar::LibUtilities::NekLinSysIterGMRESLoc::v_SolveSystem().
|
protected |
Verbose.
Definition at line 308 of file NekSys.h.
Referenced by Nektar::LibUtilities::NekLinSysIterCGLoc::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterCG::DoConjugateGradient(), Nektar::LibUtilities::NekLinSysIterGMRESLoc::DoGMRES(), Nektar::LibUtilities::NekLinSysIterGMRES::DoGMRES(), NekSys(), and Nektar::LibUtilities::NekNonlinSysNewton::v_SolveSystem().