 |
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!"
11 #include "../toolkits/toolkits.h"
12 #include "../classes/classes.h"
13 #include "../shared/shared.h"
14 #include "../modules/modules.h"
15 #include "../solutionsequences/solutionsequences.h"
30 bool save_results,isenthalpy;
34 char** requested_outputs = NULL;
74 delete tg_old;tg_old=tg;
75 delete ug_old;ug_old=ug;
89 if(numoutputs){
for(
int i=0;i<numoutputs;i++){xDelete<char>(requested_outputs[i]);} xDelete<char*>(requested_outputs);}
94 bool converged =
true;
105 if (xIsNan<IssmDouble>(ndu) || xIsNan<IssmDouble>(nu))
_error_(
"convergence criterion is NaN!");
107 if(
VerboseConvergence())
_printf0_(
"\n"<<setw(50)<<left<<
" Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<
" < "<<reltol*100<<
" %\n");
110 if(
VerboseConvergence())
_printf0_(
"\n"<<setw(50)<<left<<
" Velocity convergence: norm(du)/norm(u)"<<ndu/nu*100<<
" > "<<reltol*100<<
" %\n");
117 if (xIsNan<IssmDouble>(ndt) || xIsNan<IssmDouble>(nt))
_error_(
"convergence criterion is NaN!");
119 if(
VerboseConvergence())
_printf0_(setw(50)<<left<<
" Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<
" < "<<reltol*100<<
" %\n");
122 if(
VerboseConvergence())
_printf0_(setw(50)<<left<<
" Temperature convergence: norm(dt)/norm(t)"<<ndt/nt*100<<
" > "<<reltol*100<<
" %\n");
#define _printf0_(StreamArgs)
bool VerboseConvergence(void)
void thermal_core(FemModel *femmodel)
bool steadystateconvergence(Vector< IssmDouble > *tg, Vector< IssmDouble > *tg_old, Vector< IssmDouble > *ug, Vector< IssmDouble > *ug_old, IssmDouble reltol)
Vector< doubletype > * Duplicate(void)
@ SteadystateNumRequestedOutputsEnum
void steadystate_core(FemModel *femmodel)
@ SteadystateRequestedOutputsEnum
doubletype Norm(NormMode norm_type)
void SetParam(bool boolean, int enum_type)
void AYPX(Vector *X, doubletype a)
#define _error_(StreamArgs)
bool VerboseSolution(void)
void RequestedOutputsx(Results **presults, char **requested_outputs, int numoutputs, bool save_results=true)
void SetCurrentConfiguration(int configuration_type)
void FindParam(bool *pinteger, int enum_type)
void stressbalance_core(FemModel *femmodel)