42 namespace LibUtilities
59 :
NekSys(pSession, vComm, nDimen, pKey)
61 std::vector<std::string> variables(1);
62 variables[0] = pSession->GetVariable(0);
63 string variable = variables[0];
65 if (pSession->DefinesGlobalSysSolnInfo(variable,
"NekNonlinSysTolerance"))
68 pSession->GetGlobalSysSolnInfo(variable,
"NekNonlinSysTolerance")
73 pSession->LoadParameter(
"NekNonlinSysTolerance",
m_tolerance,
77 if (pSession->DefinesGlobalSysSolnInfo(variable,
78 "NekNonlinSysMaxIterations"))
82 ->GetGlobalSysSolnInfo(variable,
"NekNonlinSysMaxIterations")
87 pSession->LoadParameter(
"NekNonlinSysMaxIterations",
m_maxiter,
91 if (pSession->DefinesGlobalSysSolnInfo(variable,
"NonlinIterTolRelativeL2"))
94 pSession->GetGlobalSysSolnInfo(variable,
"NonlinIterTolRelativeL2")
99 pSession->LoadParameter(
"NonlinIterTolRelativeL2",
103 if (pSession->DefinesGlobalSysSolnInfo(variable,
104 "LinSysRelativeTolInNonlin"))
108 ->GetGlobalSysSolnInfo(variable,
"LinSysRelativeTolInNonlin")
113 pSession->LoadParameter(
"LinSysRelativeTolInNonlin",
121 if (pSession->DefinesGlobalSysSolnInfo(variable,
122 "LinSysIterSolverTypeInNonlin"))
125 pSession->GetGlobalSysSolnInfo(variable,
126 "LinSysIterSolverTypeInNonlin");
130 if (pSession->DefinesSolverInfo(
"LinSysIterSolverTypeInNonlin"))
133 pSession->GetSolverInfo(
"LinSysIterSolverTypeInNonlin");
140 "' is not defined.\n");
161 boost::ignore_unused(nGlobal, pInput, pSource, nDir);
#define ASSERTL0(condition, msg)
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mode...
Provides a generic Factory class.
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
NekDouble m_NonlinIterTolRelativeL2
std::string m_LinSysIterSolverType
NekDouble m_LinSysRelativeTolInNonlin
virtual void v_SetupNekNonlinSystem(const int nGlobal, const Array< OneD, const NekDouble > &pInput, const Array< OneD, const NekDouble > &pSource, const int nDir)
virtual void v_InitObject()
NekLinSysIterSharedPtr m_linsol
virtual void v_InitObject()
NekDouble m_tolerance
Tolerance of iterative solver.
int m_SysDimen
The dimension of the system.
LibUtilities::CommSharedPtr m_Comm
Communicate.
int m_maxiter
Maximum iterations.
NekDouble m_NonlinIterTolRelativeL2
int m_NekNonlinSysMaxIterations
NekDouble m_LinSysRelativeTolInNonlin
std::string m_LinSysIterSolverTypeInNonlin
NekDouble m_NekNonlinSysTolerance
NekNonlinSysFactory & GetNekNonlinSysFactory()
std::shared_ptr< SessionReader > SessionReaderSharedPtr
NekLinSysIterFactory & GetNekLinSysIterFactory()
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
The above copyright notice and this permission notice shall be included.