Changeset 79 for trunk/NEMO/OPA_SRC/SOL
- Timestamp:
- 2004-04-22T14:57:11+02:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SOL/solver.F90
r41 r79 21 21 USE dynspg_rl 22 22 USE dynspg_fsc 23 USE dynspg_fsc_atsk 23 USE dynspg_fsc_atsk 24 24 25 25 IMPLICIT NONE … … 37 37 !! ** Purpose : Initialization for the solver of the elliptic equation: 38 38 !! * default option: barotropic stream function system 39 !! and islands initialization (if l _isl=T)39 !! and islands initialization (if lk_isl=T) 40 40 !! * lk_dynspg_fsc = T : transport divergence system. No specific 41 41 !! treatment of islands. … … 51 51 !! - Construct the matrix of the elliptic system by a call to 52 52 !! solmat.F routine. 53 !! - island (if l _isl=T)53 !! - island (if lk_isl=T) 54 54 !! isl_dom: find islands from the bathymetry file 55 55 !! isl_bsf: compute the island barotropic stream function … … 83 83 84 84 IF(lwp) WRITE(numout,*) 85 IF(lwp) WRITE(numout,*) ' ini_sol: solver to compute the surface pressure gradient'86 IF(lwp) WRITE(numout,*) '~~~~~~~ '85 IF(lwp) WRITE(numout,*) 'solver_init : solver to compute the surface pressure gradient' 86 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 87 87 88 88 ! open elliptic solver statistics file … … 110 110 111 111 IF(lwp) THEN 112 WRITE(numout,*)113 112 WRITE(numout,*) ' type of elliptic solver nsolv = ', nsolv 114 113 WRITE(numout,*) ' maximum iterations for solver nmax = ', nmax 115 114 WRITE(numout,*) ' absolute precision of solver eps = ', eps 116 115 WRITE(numout,*) ' optimal coefficient of sor sor = ', sor 117 IF(l _isl) WRITE(numout,*) ' absolute precision stream fct epsisl = ', epsisl118 IF(l _isl) WRITE(numout,*) ' maximum pcg iterations island nmisl = ', nmisl116 IF(lk_isl) WRITE(numout,*) ' absolute precision stream fct epsisl = ', epsisl 117 IF(lk_isl) WRITE(numout,*) ' maximum pcg iterations island nmisl = ', nmisl 119 118 WRITE(numout,*) ' free surface parameter rnu = ', rnu 120 119 WRITE(numout,*) … … 123 122 IF( lk_dynspg_fsc .OR. lk_dynspg_fsc_tsk ) THEN 124 123 IF(lwp) WRITE(numout,*) 125 IF(lwp) WRITE(numout,*) ' ***free surface formulation'126 IF( l _isl ) THEN124 IF(lwp) WRITE(numout,*) ' free surface formulation' 125 IF( lk_isl ) THEN 127 126 IF(lwp) WRITE(numout,cform_err) 128 127 IF(lwp) WRITE(numout,*) ' key_islands inconsistent with key_dynspg_fsc' … … 131 130 ELSEIF( lk_dynspg_rl ) THEN 132 131 IF(lwp) WRITE(numout,*) 133 IF(lwp) WRITE(numout,*) ' ***Rigid lid formulation'132 IF(lwp) WRITE(numout,*) ' Rigid lid formulation' 134 133 ELSE 135 134 IF(lwp) WRITE(numout,cform_err) … … 137 136 nstop = nstop + 1 138 137 ENDIF 139 IF( lk_dynspg_fsc.AND. lk_dynspg_rl ) THEN138 IF( ( lk_dynspg_fsc .OR. lk_dynspg_fsc_tsk ) .AND. lk_dynspg_rl ) THEN 140 139 IF(lwp) WRITE(numout,cform_err) 141 140 IF(lwp) WRITE(numout,*) ' Chose between free surface or rigid-lid, not both' … … 146 145 147 146 CASE ( 1 ) ! preconditioned conjugate gradient solver 148 IF(lwp) WRITE(numout,*) ' use a preconditioned conjugate gradient solver'147 IF(lwp) WRITE(numout,*) ' a preconditioned conjugate gradient solver is used' 149 148 150 149 CASE ( 2 ) ! successive-over-relaxation solver 151 IF(lwp) WRITE(numout,*) ' use a successive-over-relaxation solver'150 IF(lwp) WRITE(numout,*) ' a successive-over-relaxation solver is used' 152 151 153 152 CASE ( 3 ) ! FETI solver 154 IF(lwp) WRITE(numout,*) ' use the FETI solver'153 IF(lwp) WRITE(numout,*) ' the FETI solver is used' 155 154 IF( .NOT.lk_mpp ) THEN 155 IF(lwp) WRITE(numout,cform_err) 156 156 IF(lwp) WRITE(numout,*) ' The FETI algorithm is used only with the key_mpp_... option' 157 157 nstop = nstop + 1 158 158 ELSE 159 159 IF( jpnij == 1 ) THEN 160 IF(lwp) WRITE(numout,cform_err) 160 161 IF(lwp) WRITE(numout,*) ' The FETI algorithm needs more than one processor' 161 162 nstop = nstop + 1 … … 194 195 195 196 196 IF( l _isl ) THEN197 IF( lk_isl ) THEN 197 198 198 199 ! Islands in the domain
Note: See TracChangeset
for help on using the changeset viewer.