187 |
_GLOBAL_SUM_R8( err , myThid ) |
_GLOBAL_SUM_R8( err , myThid ) |
188 |
|
|
189 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
190 |
write(0,'(A,1PE30.14)') ' cg3d: Sum(rhs) = ',sumRHS |
write(*,'(A,1PE30.14)') ' cg3d: Sum(rhs) = ',sumRHS |
191 |
_END_MASTER( ) |
_END_MASTER( ) |
192 |
|
|
193 |
actualIts = 0 |
actualIts = 0 |
194 |
actualResidual = SQRT(err) |
actualResidual = SQRT(err) |
195 |
C _BARRIER |
C _BARRIER |
196 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
197 |
WRITE(0,'(A,I6,1PE30.14)') ' CG3D iters, err = ', |
WRITE(*,'(A,I6,1PE30.14)') ' CG3D iters, err = ', |
198 |
& actualIts, actualResidual |
& actualIts, actualResidual |
199 |
_END_MASTER( ) |
_END_MASTER( ) |
200 |
|
|
204 |
CcnhDebugStarts |
CcnhDebugStarts |
205 |
#ifdef VERBOSE |
#ifdef VERBOSE |
206 |
IF ( mod(it3d-1,10).EQ.0) |
IF ( mod(it3d-1,10).EQ.0) |
207 |
& WRITE(0,*) ' CG3D: Iteration ',it3d-1, |
& WRITE(*,*) ' CG3D: Iteration ',it3d-1, |
208 |
& ' residual = ',actualResidual |
& ' residual = ',actualResidual |
209 |
#endif |
#endif |
210 |
CcnhDebugEnds |
CcnhDebugEnds |
287 |
|
|
288 |
_GLOBAL_SUM_R8(eta_qrN, myThid) |
_GLOBAL_SUM_R8(eta_qrN, myThid) |
289 |
CcnhDebugStarts |
CcnhDebugStarts |
290 |
C WRITE(0,*) ' CG3D: Iteration ',it3d-1,' eta_qrN = ',eta_qrN |
C WRITE(*,*) ' CG3D: Iteration ',it3d-1,' eta_qrN = ',eta_qrN |
291 |
CcnhDebugEnds |
CcnhDebugEnds |
292 |
cgBeta = eta_qrN/eta_qrNM1 |
cgBeta = eta_qrN/eta_qrNM1 |
293 |
CcnhDebugStarts |
CcnhDebugStarts |
294 |
C WRITE(0,*) ' CG3D: Iteration ',it3d-1,' beta = ',cgBeta |
C WRITE(*,*) ' CG3D: Iteration ',it3d-1,' beta = ',cgBeta |
295 |
CcnhDebugEnds |
CcnhDebugEnds |
296 |
eta_qrNM1 = eta_qrN |
eta_qrNM1 = eta_qrN |
297 |
|
|
398 |
ENDDO |
ENDDO |
399 |
_GLOBAL_SUM_R8(alpha,myThid) |
_GLOBAL_SUM_R8(alpha,myThid) |
400 |
CcnhDebugStarts |
CcnhDebugStarts |
401 |
C WRITE(0,*) ' CG3D: Iteration ',it3d-1,' SUM(s*q)= ',alpha |
C WRITE(*,*) ' CG3D: Iteration ',it3d-1,' SUM(s*q)= ',alpha |
402 |
CcnhDebugEnds |
CcnhDebugEnds |
403 |
alpha = eta_qrN/alpha |
alpha = eta_qrN/alpha |
404 |
CcnhDebugStarts |
CcnhDebugStarts |
405 |
C WRITE(0,*) ' CG3D: Iteration ',it3d-1,' alpha= ',alpha |
C WRITE(*,*) ' CG3D: Iteration ',it3d-1,' alpha= ',alpha |
406 |
CcnhDebugEnds |
CcnhDebugEnds |
407 |
|
|
408 |
C== Update solution and residual vectors |
C== Update solution and residual vectors |
460 |
|
|
461 |
Cadj _EXCH_XYZ_R8(cg3d_x, myThid ) |
Cadj _EXCH_XYZ_R8(cg3d_x, myThid ) |
462 |
_BEGIN_MASTER( myThid ) |
_BEGIN_MASTER( myThid ) |
463 |
WRITE(0,'(A,I6,1PE30.14)') ' CG3D iters, err = ', |
WRITE(*,'(A,I6,1PE30.14)') ' CG3D iters, err = ', |
464 |
& actualIts, actualResidual |
& actualIts, actualResidual |
465 |
_END_MASTER( ) |
_END_MASTER( ) |
466 |
|
|