Parent Directory
| 
 Revision Log
| 
 Revision Graph
| Links to HEAD: | (view) (download) (annotate) | 
| Links to checkpoint66m: | (view) (download) (annotate) | 
| Sticky Tag: | 
prevent JFNK and KRYLOV solvers from trying to reduce a residual of 0
unify iteration parameters for implicit solvers (JFNK and Picard)
    SEAICEnonLinIterMax replaces SEAICEnewtonIterMax/NPSEUDOTIMESTEPS
    SEAICElinearIterMax replaces SEAICEkrylovIterMax/SOLV_MAX_ITER
    SEAICEpreLinIterMax replaces SOLV_MAX_ITER in preconditioner
    SEAICEpreNL_IterMax replaces NPSEUDOTIMESTEPS in preconditioner
    SEAICEnonLinTol     replaces JFNKgamma_nonlin
old parameters are retired (setting them will lead to a STOP)
put content of S/R SEAICE_FGMRES_DRIVER into S/R SEAICE_JFKN
introduce strongly implicit coupling, intended for stabilizing LSR
(following Hutchings et al. 2004)
  - introduce zetaZ as a global variable (requires adjustments in
    seaice_evp.F and seaice_jfnk.F) and compute analoguously to etaZ
    in seaice_calc_viscosities.F
  - new flag SEAICEuseStrImpCpl (default off)
  - add new terms zetaZ*du/dy and zetaZ*dv/dx on both sides of the
    momentum equations
- ECCO_OPTIONS.h is needed when including ecco_cost.h, ecco.h - AUTODIFF_OPTIONS.h is needed when including tamc.h, tamc_keys.h - CTRL_OPTIONS.h is needed when including ctrl.h, etc - pkg/seaice/seaice_cost*.F : clean up CPP brackets - SEAICE_SIZE.h : replace ALLOW_AUTODIFF_TAMC with ALLOW_AUTODIFF to avoid needing AUTODIFF_OPTIONS.h anytime SEAICE_SIZE.h is included (it seems that THSICE_SIZE.h, PTRACERS_SIZE.h have the same issue...)
comment out if-statement related to IMEX to avoid suprises
fix a comment
  - rename recently introduced parameters from (wrong name) AB to
    BDF (backward difference time discretisation)
  - retire runtime parameters SEAICEuseAB2, SEAICE_abEps
The scheme is still experimental and does not work to my satisfaction,
but at least the name is not approprate
add Adams-Bashforth2 time discretization for ice dynamics; so far only for JFNK-solver - requires an additional time level that is stored in the pickup - you can start with AB2 from a pickup without this time level with pickupStrictlyMatch = .false.
turn some parameters for choosing the convergence criterion of the inexact Newton method (JFNK) into runtime parameters for convenience
simplify the use of CPP flags (compile when SEAICE_ALLOW_JFNK is defined)
remove unused variable
fix line search in s/r seaice_jfnk_update: move the logic to after the computation of the new residual (and now the line search actually improves the convergence)
replace a hard coded parameter by a runtime parameter SEAICE_JFNK_tolIter
 add a parameter JFNKres_tFac that can replace JFNKres_t
    (= JFNKres_tFac*JFNKresidual before JFNK solver)
fix previous check-in: - remove superfluous code and commented code - add comments - call new s/r seaice_jfnk_update only for newtonIter = 1 at the beginning of the Newton loop
add a line search option to the JFNK solver
remove unused variable, add a comment
- add a metric based on grid cell area to SEAICE_SCALPROD
only print residuals at each krylov iteration for debugLevel.ge.debLevC
fix output diagnostic's text
- remove unused field pressPre from jfnk solver
add calendar dump capability for the JFNK counters
compute etaZpre and modify call to preconditioner accordingly
only call the preconditioner if SOLV_MAX_ITERS > 0
count only for SEAICE_monFreq > 0
- move control over output-messages by fgmres to seaice_jfnk to save
  some operations
- improve I/O of diagnostics of JFNK in seaice_jfnk.F:
    + add (SEAICE.h) and rename some counters (initiliased in
      seaice_init_fixed.F)
    + add _BEGIN/END_MASTER (myThid)  around print statements
    + print total number of iterations and failures over SEAICE_monFreq
      interval to STDOUT
move resetting initial guess for fgmres outside of seaice_fgmres_driver in order to make restarts with sol .ne. zero (fgmres with restarts)
move one exchange and remove a second one improve counting of newton steps a little
save also precomputed pressure and pass it to the preconditioner
add JFNK-solver routines, mostly parallel and mult-threaded (except for FGMRES)
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
| ViewVC Help | |
| Powered by ViewVC 1.1.22 |