 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
8 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
12 #include "../../shared/shared.h"
13 #include "../../classes/Params/Parameters.h"
27 _printf0_(
"WARNING: Solver failed, Trying Recovery Mode\n");
47 if(xIsNan<IssmDouble>(solver_residue_threshold))
return true;
61 if(nF>0.) solver_residue = nKUF/(nF);
63 if(xIsNan<IssmDouble>(solver_residue))
_error_(
"Solver residue is NaN");
66 if(solver_residue>solver_residue_threshold){
67 _printf0_(
"solver residue too high!: norm(KU-F)/norm(F)=" << solver_residue <<
" > "<<solver_residue_threshold<<
" (md.settings.solver_residue_threshold)");
#define _printf0_(StreamArgs)
bool VerboseConvergence(void)
Declaration of Parameters class.
void ToolkitsOptionsFromAnalysis(Parameters *parameters, int analysis_type)
void Solverx(Vector< IssmDouble > **puf, Matrix< IssmDouble > *Kff, Vector< IssmDouble > *pf, Vector< IssmDouble > *uf0, Vector< IssmDouble > *df, Parameters *parameters)
Vector< doubletype > * Duplicate(void)
void MatMult(Vector< doubletype > *X, Vector< doubletype > *AX)
@ SettingsSolverResidueThresholdEnum
bool checkconvergence(Matrix< IssmDouble > *Kff, Vector< IssmDouble > *pf, Vector< IssmDouble > *uf, Parameters *parameters)
doubletype Norm(NormMode norm_type)
Vector< doubletype > * Solve(void)
void AYPX(Vector *X, doubletype a)
#define _error_(StreamArgs)
void FindParam(bool *pinteger, int enum_type)