36#ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_NONLINSYS_NEWTON_HOOKSTEP_H
37#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_NONLINSYS_NEWTON_HOOKSTEP_H
78 pSession, vComm, nDimen, pKey);
142 std::vector<std::vector<NekDouble>>
A, std::vector<NekDouble> b)
const;
#define LIB_UTILITIES_EXPORT
NekDouble CalcL2Norm(const int ntotal, const Array< OneD, const NekDouble > &x) const
bool HasMeaningfulDecrease(const NekDouble oldResNorm, const NekDouble newResNorm) const
Array< OneD, NekDouble > m_residualTrial
Array< OneD, NekDouble > m_residualBest
bool v_ApplyNewtonUpdate(const int ntotal, const NekDouble oldResNorm) override
Array< OneD, NekDouble > m_solutionBest
Array< OneD, NekDouble > SolveReducedHookStep(const NekLinSysIterGMRES::GMRESHookData &data, const NekDouble Delta) const
NekDouble m_trustRadiusInit
std::vector< NekDouble > SolveDenseLinearSystem(std::vector< std::vector< NekDouble > > A, std::vector< NekDouble > b) const
Array< OneD, NekDouble > m_solutionTrial
Array< OneD, NekDouble > m_deltaTrial
NekDouble m_maxFallbackResidualGrowth
void BuildHookStepFromKrylovBasis(const NekLinSysIterGMRES::GMRESHookData &data, const Array< OneD, const NekDouble > &y, Array< OneD, NekDouble > &delta)
NekDouble m_meaningfulAredAbs
int m_maxTrustRegionSteps
static NekNonlinSysIterSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm, const int nDimen, const NekSysKey &pKey)
NekDouble m_trustRadiusMin
NekDouble m_meaningfulAredRel
int m_maxTrustRegionGrowthSteps
~NekNonlinSysIterNewtonHookStep() override=default
static std::string className
NekDouble ComputeReducedResidualNorm(const NekLinSysIterGMRES::GMRESHookData &data, const Array< OneD, const NekDouble > &y) const
NekDouble m_trustRadiusMax
void v_InitObject() override
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< NekNonlinSysIter > NekNonlinSysIterSharedPtr
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
Data exported from GMRES for use by the Newton hook-step solver. The data stored here correspond to t...