/[MITgcm]/MITgcm/model/inc/CG2D.h
ViewVC logotype

Contents of /MITgcm/model/inc/CG2D.h

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


Revision 1.4 - (show annotations) (download)
Tue Sep 29 18:50:56 1998 UTC (25 years, 7 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint15
Changes since 1.3: +3 -3 lines
File MIME type: text/plain
Changes for new exchange routines which do general tile <-> tile
connectivity, variable width overlap regions and provide
hooks for shared memory  and DMA protocols like Arctic, Memory Channel
etc..

1 C $Header: /u/gcmpack/models/MITgcmUV/model/inc/CG2D.h,v 1.3 1998/07/16 16:59:27 cnh Exp $
2 C
3 C /==========================================================\
4 C | CG2D.h |
5 C | o Two-dimensional conjugate gradient solver header. |
6 C |==========================================================|
7 C | The common blocks set up here are used in the elliptic |
8 C | equation inversion. They are also used as the interface |
9 C | to the rest of the model. To set the source term for the |
10 C | solver set the appropriate array below. To read the |
11 C | solution read from the appropriate array below. |
12 C \==========================================================/
13
14 C-- COMMON /CG2D_R/ DEL**2 Laplacian operators
15 C aW2d - East-west operator.
16 C aS2d - North-south operator.
17 C pW - East-west off-diagonal term of preconditioner.
18 C pS - North-south off-diagonal term of preconditioner.
19 C pC - Main diagonal term of preconditioner.
20 C etaNBuf - Shared buffers for accumulating con. grad vector product.
21 C alphaBuf
22 C errBuf
23 C nrmBuf
24 C cg2dNorm - A matrix normalisation factor.
25 COMMON /CG2D_R/
26 & aW2d,
27 & aS2d,
28 & pW, pS, pC,
29 & errBuf, nrmBuf, etaNbuf, etaNM1Buf, alphaBuf, sumRhsBuf,
30 & cg2dNorm, rhsMaxBuf, cg2dNBuf
31 _RS aW2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
32 _RS aS2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
33 _RS pW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
34 _RS pS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
35 _RS pC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
36 _RL etaNBuf(lShare8,MAX_NO_THREADS)
37 _RL etaNM1Buf(lShare8,MAX_NO_THREADS)
38 _RL alphaBuf(lShare8,MAX_NO_THREADS)
39 _RL errBuf(lShare8,MAX_NO_THREADS)
40 _RL nrmBuf(lShare8,MAX_NO_THREADS)
41 _RL sumRHSBuf(lShare8,MAX_NO_THREADS)
42 _RS cg2dNBuf(lShare8,MAX_NO_THREADS)
43 _RL rhsMaxBuf(lShare8,MAX_NO_THREADS)
44 _RL cg2dNorm
45
46 C-- COMMON /CG2D_WK_R/ Work array common block
47 C cg2d_q - Intermediate matrix-vector product term
48 C cg2d_r - "
49 C cg2d_s - "
50 C cg2d_x Solution vector
51 C cg2d_b Right-hand side vector
52 COMMON /CG2D_WK_R/
53 & cg2d_b, cg2d_q, cg2d_r, cg2d_s, cg2d_x
54 _RL cg2d_q(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
55 _RL cg2d_r(1-1:sNx+1,1-1:sNy+1,nSx,nSy)
56 _RL cg2d_s(1-1:sNx+1,1-1:sNy+1,nSx,nSy)
57 _RL cg2d_x(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
58 _RL cg2d_b(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
59

  ViewVC Help
Powered by ViewVC 1.1.22