Changeset 784 for trunk/NEMO/OPA_SRC/SOL/solver.F90
- Timestamp:
- 2008-01-08T12:05:25+01:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/SOL/solver.F90
r719 r784 152 152 153 153 CASE ( 2 ) ! successive-over-relaxation solver 154 IF(lwp) WRITE(numout,*) ' a successive-over-relaxation solver is used' 155 IF( jpr2di /= 0 .AND. jpr2dj /= 0 ) & 156 CALL ctl_stop( ' jpr2di and jpr2dj should be equal to zero' ) 154 IF(lwp) WRITE(numout,*) ' a successive-over-relaxation solver with extra outer halo is used' 155 IF(lwp) WRITE(numout,*) ' with jpr2di =', jpr2di, ' and jpr2dj =', jpr2dj 156 IF( .NOT. lk_mpp .AND. jpr2di /= 0 .AND. jpr2dj /= 0 ) THEN 157 CALL ctl_stop( ' jpr2di and jpr2dj are not equal to zero', & 158 & ' In this case this algorithm should be used only with the key_mpp_... option' ) 159 ELSE 160 IF( ( ( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) .OR. ( jpni /= 1 ) ) & 161 & .AND. ( jpr2di /= jpr2dj ) ) CALL ctl_stop( ' jpr2di should be equal to jpr2dj' ) 162 ENDIF 157 163 158 164 CASE ( 3 ) ! FETI solver … … 169 175 ENDIF 170 176 171 CASE ( 4 ) ! successive-over-relaxation solver with extra outer halo172 IF(lwp) WRITE(numout,*) ' a successive-over-relaxation solver with extra outer halo is used'173 IF(lwp) WRITE(numout,*) ' with jpr2di =', jpr2di, ' and jpr2dj =', jpr2dj174 IF( .NOT. lk_mpp .AND. jpr2di /= 0 .AND. jpr2dj /= 0 ) THEN175 CALL ctl_stop( ' jpr2di and jpr2dj are not equal to zero', &176 & ' In this case this algorithm should be used only with the key_mpp_... option' )177 ELSE178 IF( ( ( jperio == 1 .OR. jperio == 4 .OR. jperio == 6 ) .OR. ( jpni /= 1 ) ) &179 & .AND. ( jpr2di /= jpr2dj ) ) CALL ctl_stop( ' jpr2di should be equal to jpr2dj' )180 ENDIF181 182 177 CASE DEFAULT 183 178 WRITE(ctmp1,*) ' bad flag value for nsolv = ', nsolv … … 186 181 END SELECT 187 182 188 IF( nbit_cmp == 1 .AND. nsolv /= 2 ) THEN 189 CALL ctl_stop( ' Reproductibility tests (nbit_cmp=1) require the SOR solver: nsolv = 2' ) 183 IF( nbit_cmp == 1 ) THEN 184 IF( nsolv /= 2 ) THEN 185 CALL ctl_stop( ' Reproductibility tests (nbit_cmp=1) require the SOR solver: nsolv = 2' ) 186 ELSE IF( MAX( jpr2di, jpr2dj ) > 0 ) THEN 187 CALL ctl_stop( ' Reproductibility tests (nbit_cmp=1) require jpr2di = jpr2dj = 0' ) 188 END IF 190 189 END IF 191 190
Note: See TracChangeset
for help on using the changeset viewer.