/[MITgcm]/MITgcm/pkg/seaice/seaice_preconditioner.F
ViewVC logotype

Log of /MITgcm/pkg/seaice/seaice_preconditioner.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Links to HEAD: (view) (download) (annotate)
Links to checkpoint64p: (view) (download) (annotate)
Sticky Tag:

Revision 1.21 - (view) (download) (annotate) - [select for diffs]
Thu Apr 4 07:02:51 2013 UTC (11 years, 1 month ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint64g, checkpoint64h, checkpoint64i, checkpoint64j, checkpoint64k, checkpoint64l, checkpoint64m, checkpoint64n, checkpoint64o, checkpoint64p, checkpoint64q, checkpoint64r, checkpoint64s, checkpoint64t, checkpoint64u, checkpoint64v, checkpoint64w, checkpoint64x, checkpoint64y
Changes since 1.20: +3 -5 lines
Diff to previous 1.20
simplify the use of CPP flags (compile when SEAICE_ALLOW_JFNK is defined)


Revision 1.20 - (view) (download) (annotate) - [select for diffs]
Thu Feb 21 15:25:10 2013 UTC (11 years, 2 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint64e, checkpoint64f
Changes since 1.19: +10 -96 lines
Diff to previous 1.19
use new subroutines seaice_lsr_tridiagu/v in s/r seaice_preconditioner


Revision 1.19 - (view) (download) (annotate) - [select for diffs]
Thu Feb 21 15:16:29 2013 UTC (11 years, 2 months ago) by mlosch
Branch: MAIN
Changes since 1.18: +2 -2 lines
Diff to previous 1.18
rename SEAICE_CALC_LSR_COEFFS into SEAICE_LSR_CALC_COEFFS


Revision 1.18 - (view) (download) (annotate) - [select for diffs]
Thu Feb 14 17:03:34 2013 UTC (11 years, 3 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint64d
Changes since 1.17: +1 -13 lines
Diff to previous 1.17
remove the hack, the reason for Bu=0 was that the drag coefficient was
not computed in the overlaps, now fixed in seaice_oceandrag_coeffs.F


Revision 1.17 - (view) (download) (annotate) - [select for diffs]
Wed Feb 13 13:26:50 2013 UTC (11 years, 3 months ago) by mlosch
Branch: MAIN
Changes since 1.16: +13 -1 lines
Diff to previous 1.16
introduce a hack that avoids divisions by zero. I still need to figure
out, why this is necessary.


Revision 1.16 - (view) (download) (annotate) - [select for diffs]
Wed Feb 13 09:03:54 2013 UTC (11 years, 3 months ago) by mlosch
Branch: MAIN
Changes since 1.15: +99 -94 lines
Diff to previous 1.15
introduce a restricted additive Schwarz (RAS) method (run LSR into the
overlaps as far as possible, i.e OLx/y-2, but overwrite the solution
in the overlaps)
 - add flexible loop ranges to seaice_preconditioner
 - slightly modify loops in tridiagonal solver lsr-preconditioner
 - by default remove the extra exchange in seaice_preconditioner with a
   replacement of an undocumented CPP flag by
   SEAICE_PRECOND_EXTRA_EXCHANGE

 - change subroutine names seaice_precond_rshu/v to
   seaice_precond_rhsu/v (how did that happen)


Revision 1.15 - (view) (download) (annotate) - [select for diffs]
Fri Jan 11 20:18:57 2013 UTC (11 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64c
Changes since 1.14: +83 -56 lines
Diff to previous 1.14
change type of local variable SINWAT from _RL to _RS (has been done already
 in seaice_evp.F, seaice_lsr.F & seaice_ocean_stress.F) to avoid mixed-type
 arguments in sign function (since fCori is _RS).
A better way: keep _RL SINWAT and use: SINWAT*SIGN(oneRS,fCori)


Revision 1.14 - (view) (download) (annotate) - [select for diffs]
Fri Jan 4 15:45:05 2013 UTC (11 years, 4 months ago) by mlosch
Branch: MAIN
Changes since 1.13: +1 -2 lines
Diff to previous 1.13
remove unused variables


Revision 1.13 - (view) (download) (annotate) - [select for diffs]
Fri Dec 21 13:22:26 2012 UTC (11 years, 4 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint64b
Changes since 1.12: +20 -212 lines
Diff to previous 1.12
use new S/R SEAICE_CALC_LSR_COEFFS to compute matrix coefficients


Revision 1.12 - (view) (download) (annotate) - [select for diffs]
Thu Dec 20 16:37:33 2012 UTC (11 years, 5 months ago) by mlosch
Branch: MAIN
Changes since 1.11: +1 -6 lines
Diff to previous 1.11
- modify the computation of the residual so that the mass of sea-ice
  is not used twice; this simplyfies the calculations, but since
  the residual only used if LSR_mixIniGuess.ge.4, and this is never
  tested, it does not affect the testreport results.


Revision 1.11 - (view) (download) (annotate) - [select for diffs]
Mon Dec 17 10:06:08 2012 UTC (11 years, 5 months ago) by mlosch
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10
only print residuals for debugLevel.ge.debLevC


Revision 1.10 - (view) (download) (annotate) - [select for diffs]
Mon Nov 26 08:04:42 2012 UTC (11 years, 5 months ago) by mlosch
Branch: MAIN
Changes since 1.9: +45 -37 lines
Diff to previous 1.9
  - remove unused field pressPre from jfnk solver
  - rename two subroutines in seaice_preconditioner.F


Revision 1.9 - (view) (download) (annotate) - [select for diffs]
Fri Nov 23 15:53:48 2012 UTC (11 years, 5 months ago) by mlosch
Branch: MAIN
Changes since 1.8: +66 -61 lines
Diff to previous 1.8
fix preconditioner once again
   - remove wrong parts of the rhs and the lhs (were in there
     because I did not understand the concept of this preconditioner)
   - add an exchange between u- and v-sweep. This increases communication
     by a factor of two but improves the convergence of jfnk. Ideally,
     one would like the u- and v-sweep to be independent. So far within
     undocumented ifdefs
   - reorganize the extra computations for printing the residuals


Revision 1.8 - (view) (download) (annotate) - [select for diffs]
Wed Nov 14 16:41:39 2012 UTC (11 years, 6 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint64a
Changes since 1.7: +8 -13 lines
Diff to previous 1.7
  - turn the relaxation parameters WFAU/V into runtime parameters
    SEAICE_LSRrelaxU/V


Revision 1.7 - (view) (download) (annotate) - [select for diffs]
Fri Nov 9 15:20:27 2012 UTC (11 years, 6 months ago) by mlosch
Branch: MAIN
Changes since 1.6: +9 -9 lines
Diff to previous 1.6
finally replace all occurrences of press by pressPre(computed)


Revision 1.6 - (view) (download) (annotate) - [select for diffs]
Fri Nov 9 14:11:15 2012 UTC (11 years, 6 months ago) by mlosch
Branch: MAIN
Changes since 1.5: +19 -40 lines
Diff to previous 1.5
replace etaMeanZ by etaZPre, add etaZpre as formal routine parameter


Revision 1.5 - (view) (download) (annotate) - [select for diffs]
Wed Nov 7 12:41:55 2012 UTC (11 years, 6 months ago) by mlosch
Branch: MAIN
Changes since 1.4: +12 -17 lines
Diff to previous 1.4
- replace one remaining press by pressLoc (mistake)
- adjust printing of residuals


Revision 1.4 - (view) (download) (annotate) - [select for diffs]
Thu Oct 18 10:06:42 2012 UTC (11 years, 7 months ago) by mlosch
Branch: MAIN
Changes since 1.3: +3 -13 lines
Diff to previous 1.3
  - simplify (?) ocean-drag coefficent computations by using
    the same routine in all three solvers (saves some code lines)
  - remove global fields DRAGA and DRAGS from C-grid code and
    declare them locally in lsr.F (the only place where they are
    still used)


Revision 1.3 - (view) (download) (annotate) - [select for diffs]
Wed Oct 17 15:04:44 2012 UTC (11 years, 7 months ago) by mlosch
Branch: MAIN
Changes since 1.2: +422 -280 lines
Diff to previous 1.2
update preconditioner:
- reorder to couple u and v equations
- fix a few problems
- recieve precomputed press(ure)


Revision 1.2 - (view) (download) (annotate) - [select for diffs]
Tue Oct 16 09:07:16 2012 UTC (11 years, 7 months ago) by mlosch
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
fix a small bug in a write statement


Revision 1.1 - (view) (download) (annotate) - [select for diffs]
Tue Oct 16 06:59:30 2012 UTC (11 years, 7 months ago) by mlosch
Branch: MAIN
preconditioner is a stripped down version of LSOR with fixed number of
iterations that can be set as SOLV_MAX_ITERS. Work in progress.


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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.22