1 |
cnh |
1.9 |
|
2 |
|
|
CBOP |
3 |
|
|
C !ROUTINE: CG2D.h |
4 |
|
|
C !INTERFACE: |
5 |
|
|
C include "CG2D.h" |
6 |
|
|
C |
7 |
|
|
C !DESCRIPTION: |
8 |
|
|
C \bv |
9 |
|
|
C *==========================================================* |
10 |
|
|
C | CG2D.h |
11 |
|
|
C | o Two-dimensional conjugate gradient solver header. |
12 |
|
|
C *==========================================================* |
13 |
|
|
C | Internal (private) data structures. |
14 |
|
|
C *==========================================================* |
15 |
|
|
C \ev |
16 |
|
|
CEOP |
17 |
cnh |
1.1 |
|
18 |
adcroft |
1.8 |
C-- COMMON /CG2D_I_L/ cg2dNormaliseRHS |
19 |
|
|
C cg2dNormaliseRHS - flag set to TRUE if normalise RHS in the Solver |
20 |
|
|
COMMON /CG2D_I_L/ cg2dNormaliseRHS |
21 |
|
|
LOGICAL cg2dNormaliseRHS |
22 |
|
|
|
23 |
|
|
C-- COMMON /CG2D_R/ DEL**2 Laplacian operators |
24 |
|
|
C aW2d - East-west operator. |
25 |
|
|
C aS2d - North-south operator. |
26 |
|
|
C pW - East-west off-diagonal term of preconditioner. |
27 |
|
|
C pS - North-south off-diagonal term of preconditioner. |
28 |
|
|
C pC - Main diagonal term of preconditioner. |
29 |
|
|
C etaNBuf - Shared buffers for accumulating con. grad vector product. |
30 |
|
|
C alphaBuf |
31 |
|
|
C errBuf |
32 |
|
|
C nrmBuf |
33 |
|
|
C cg2dNorm - A matrix normalisation factor. |
34 |
|
|
C cg2dTolerance - cg2d solver Tolerance (solver unit = m2/s2 or no unit, |
35 |
|
|
C depending on cg2dNormaliseRHS) |
36 |
|
|
COMMON /CG2D_I_R/ |
37 |
|
|
& aW2d, |
38 |
|
|
& aS2d, |
39 |
|
|
& pW, pS, pC, |
40 |
|
|
& cg2dNorm, cg2dTolerance |
41 |
|
|
_RS aW2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
42 |
|
|
_RS aS2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
43 |
|
|
_RS pW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
44 |
|
|
_RS pS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
45 |
|
|
_RS pC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
46 |
|
|
_RL cg2dNorm, cg2dTolerance |
47 |
|
|
|
48 |
|
|
C-- COMMON /CG2D_I_WK_R/ Work array common block |
49 |
|
|
C cg2d_q - Intermediate matrix-vector product term |
50 |
|
|
C cg2d_r - " |
51 |
|
|
C cg2d_s - " |
52 |
|
|
COMMON /CG2D_I_WK_R/ |
53 |
|
|
& cg2d_q, cg2d_r, cg2d_s |
54 |
|
|
_RL cg2d_q(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
55 |
heimbach |
1.9.6.1 |
_RL cg2d_r(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
56 |
|
|
_RL cg2d_s(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |