/[MITgcm]/MITgcm/model/src/cg3d.F
ViewVC logotype

Diff of /MITgcm/model/src/cg3d.F

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

revision 1.1 by adcroft, Mon Mar 22 15:54:03 1999 UTC revision 1.2 by adcroft, Tue May 18 17:36:55 1999 UTC
# Line 87  CcnhDebugEnds Line 87  CcnhDebugEnds
87  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
88    
89  C--   Initialise inverter  C--   Initialise inverter
       etaNcg3Buf(1,myThid)   = 0. D0  
       errcg3Buf(1,myThid)    = 0. D0  
       sumRHScg3Buf(1,myThid) = 0. D0  
90        etaNM1              = 1. D0        etaNM1              = 1. D0
91    
92  C--   Normalise RHS  C--   Normalise RHS
# Line 106  C--   Normalise RHS Line 103  C--   Normalise RHS
103          ENDDO          ENDDO
104         ENDDO         ENDDO
105        ENDDO        ENDDO
106        rhsMaxcg3Buf(1,myThid) = rhsMax        _GLOBAL_MAX_R8( rhsMax, myThid )
       _GLOBAL_MAX_R8( rhsMaxcg3Buf, rhsMax, myThid )  
       rhsMax =  rhsMaxcg3Buf(1,1)  
107        rhsNorm = 1. _d 0        rhsNorm = 1. _d 0
108        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax
109        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
# Line 167  C--   Initial residual calculation Line 162  C--   Initial residual calculation
162          ENDDO          ENDDO
163         ENDDO         ENDDO
164        ENDDO        ENDDO
       errcg3Buf(1,myThid)    = err  
165        WRITE(6,*) 'DEBUG  mythid, err = ', mythid, SQRT(err)        WRITE(6,*) 'DEBUG  mythid, err = ', mythid, SQRT(err)
166        _GLOBAL_SUM_R8( errcg3Buf    , err   , myThid )        _GLOBAL_SUM_R8( err   , myThid )
167        err    = errcg3Buf(1,1)        _GLOBAL_SUM_R8( sumRHS   , myThid )
       errcg3Buf(1,myThid)    = sumRHS  
       _GLOBAL_SUM_R8( errcg3Buf    , err   , myThid )  
       sumRHS = errcg3Buf(1,1)  
168        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
169        write(0,*) 'DEBUG cg3d: Sum(rhs) = ',sumRHS        write(0,*) 'DEBUG cg3d: Sum(rhs) = ',sumRHS
170        _END_MASTER( )        _END_MASTER( )
# Line 252  C     _EXCH_XYZ_R8( cg3d_s, myThid ) Line 243  C     _EXCH_XYZ_R8( cg3d_s, myThid )
243       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
244       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
245       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
246        sumRHScg3Buf(1,myThid) = sumRHS        _GLOBAL_SUM_R8( sumRHS, myThid )
247        _GLOBAL_SUM_R8( sumRHScg3Buf , sumRHS, myThid )        _GLOBAL_SUM_R8( err   , myThid )
       sumRHS = sumRHScg3Buf(1,1)  
       errcg3Buf(1,myThid)    = err  
       _GLOBAL_SUM_R8( errcg3Buf    , err   , myThid )  
       err    = errcg3Buf(1,1)  
248                
249        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
250        write(0,'(A,1PE30.14)') ' cg3d: Sum(rhs) = ',sumRHS        write(0,'(A,1PE30.14)') ' cg3d: Sum(rhs) = ',sumRHS
# Line 358  caja    ENDDO Line 345  caja    ENDDO
345  caja   ENDDO  caja   ENDDO
346  caja  caja
347    
348         etaNcg3Buf(1,myThid) = etaN         _GLOBAL_SUM_R8(etaN, myThid)
        _GLOBAL_SUM_R8(etaNcg3Buf,etaN, myThid)  
        etaN = etaNcg3Buf(1,1)  
349  CcnhDebugStarts  CcnhDebugStarts
350  C      WRITE(0,*) ' CG3D: Iteration ',it3d-1,' etaN = ',etaN  C      WRITE(0,*) ' CG3D: Iteration ',it3d-1,' etaN = ',etaN
351  CcnhDebugEnds  CcnhDebugEnds
# Line 471  C==    q = A.s Line 456  C==    q = A.s
456           ENDIF           ENDIF
457          ENDDO          ENDDO
458         ENDDO         ENDDO
459         alphacg3Buf(1,myThid) = alpha         _GLOBAL_SUM_R8(alpha,myThid)
        _GLOBAL_SUM_R8(alphacg3Buf,alpha,myThid)  
        alpha = alphacg3Buf(1,1)  
460  CcnhDebugStarts  CcnhDebugStarts
461  C      WRITE(0,*) ' CG3D: Iteration ',it3d-1,' SUM(s*q)= ',alpha  C      WRITE(0,*) ' CG3D: Iteration ',it3d-1,' SUM(s*q)= ',alpha
462  CcnhDebugEnds  CcnhDebugEnds
# Line 501  C      Now compute "interior" points. Line 484  C      Now compute "interior" points.
484          ENDDO          ENDDO
485         ENDDO         ENDDO
486    
487         errcg3Buf(1,myThid) = err         _GLOBAL_SUM_R8( err   , myThid )
        _GLOBAL_SUM_R8( errcg3Buf    , err   , myThid )  
        err = errcg3Buf(1,1)  
488         err = SQRT(err)         err = SQRT(err)
489         actualIts      = it3d         actualIts      = it3d
490         actualResidual = err         actualResidual = err
# Line 565  C        ENDDO Line 546  C        ENDDO
546  C       ENDDO  C       ENDDO
547  C      ENDDO  C      ENDDO
548  C     ENDDO  C     ENDDO
549  C     errcg3Buf(1,myThid)    = err  C     _GLOBAL_SUM_R8( err   , myThid )
 C     _GLOBAL_SUM_R8( errcg3Buf    , err   , myThid )  
 C     err    = errcg3Buf(1,1)  
550  C     write(0,*) 'cg2d: Ax - b = ',SQRT(err)  C     write(0,*) 'cg2d: Ax - b = ',SQRT(err)
551  CcnhDebugEnds  CcnhDebugEnds
552    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22