C ########################################################### SUBROUTINE EXCH_UV_XY_RS( U Uphi, Vphi, I withSigns, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RS Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RS temp LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1) Uphi(1,1,1,1)=Vphi(1,1,1,1) Vphi(1,1,1,1)=temp end subroutine C ########################################################### SUBROUTINE EXCH_UV_XY_RL( U Uphi, Vphi, I withSigns, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RL Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) _RL temp LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1) Uphi(1,1,1,1)=Vphi(1,1,1,1) Vphi(1,1,1,1)=temp end subroutine C ########################################################### SUBROUTINE EXCH_UV_XYZ_RL( U Uphi, Vphi, I withSigns, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RL Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL temp LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1,1) Uphi(1,1,1,1,1)=Vphi(1,1,1,1,1) Vphi(1,1,1,1,1)=temp end subroutine C ########################################################### SUBROUTINE EXCH_UV_XYZ_RS( U Uphi, Vphi, I withSigns, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RS Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RS Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) _RL temp LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1,1) Uphi(1,1,1,1,1)=Vphi(1,1,1,1,1) Vphi(1,1,1,1,1)=temp end subroutine C ########################################################### SUBROUTINE EXCH_UV_AGRID_3D_RL( U Uphi, Vphi, I withSigns, myNz, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" INTEGER myNz _RL Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) _RL Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1,1) Uphi(1,1,1,1,1)=Vphi(1,1,1,1,1) Vphi(1,1,1,1,1)=temp end subroutine C ########################################################### C SUBROUTINE EXCH_UV_AGRID_3D_RS( C U Uphi, Vphi, C I withSigns, myNz, myThid ) C IMPLICIT NONE C#include "SIZE.h" C#include "EEPARAMS.h" C INTEGER myNz C _RS Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) C _RS Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) C LOGICAL withSigns C INTEGER myThid C temp=Uphi(1,1,1,1,1) C Uphi(1,1,1,1,1)=Vphi(1,1,1,1,1) C Vphi(1,1,1,1,1)=temp C end subroutine C ########################################################### SUBROUTINE EXCH_UV_3D_RL( U Uphi, Vphi, I withSigns, myNz, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" INTEGER myNz _RL Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) _RL Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) LOGICAL withSigns INTEGER myThid temp=Uphi(1,1,1,1,1) Uphi(1,1,1,1,1)=Vphi(1,1,1,1,1) Vphi(1,1,1,1,1)=temp end subroutine C ########################################################### SUBROUTINE EXCH_XY_RS( U phi, I myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RS phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) INTEGER myThid phi(1,1,1,1)=2*phi(1,1,1,1) end subroutine C ########################################################### SUBROUTINE EXCH_XY_RL( U phi, I myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RL phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) INTEGER myThid phi(1,1,1,1)=2*phi(1,1,1,1) end subroutine C ########################################################### SUBROUTINE EXCH_XYZ_RL( U phi, I myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" _RL phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) INTEGER myThid phi(1,1,1,1,1)=2*phi(1,1,1,1,1) end subroutine C ########################################################### C SUBROUTINE GLOBAL_MAX_R8( C U maxphi, C I myThid ) C IMPLICIT NONE C#include "SIZE.h" C#include "EEPARAMS.h" C#include "EESUPPORT.h" C#include "EXCH.h" C Real*8 maxPhi C INTEGER myThid C maxPhi=2*maxPhi C end subroutine C ########################################################### SUBROUTINE EXCH_3D_RL( U phi, I myNz, myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" INTEGER myNz _RL phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:myNz,nSx,nSy) INTEGER myThid phi(1,1,1,1,1)=2*phi(1,1,1,1,1) end subroutine C ########################################################### C SUBROUTINE EXCH_Z_3D_RS( C U phi, C I myNz, myThid ) C IMPLICIT NONE C#include "SIZE.h" C#include "EEPARAMS.h" C#include "EESUPPORT.h" C#include "EXCH.h" C INTEGER myNz C _RS phi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy) C INTEGER myThid C phi(1,1,1,1,1)=2*phi(1,1,1,1,1) C end subroutine C ########################################################### SUBROUTINE GLOBAL_SUM_R8( U sumphi, I myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "EESUPPORT.h" #include "EXCH.h" Real*8 sumPhi INTEGER myThid sumPhi=2*sumPhi end subroutine C ########################################################### SUBROUTINE CG2D( I cg2d_b, U cg2d_x, O firstResidual, O lastResidual, U numIters, I myThid ) IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "CG2D.h" Real*8 cg2d_b(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) Real*8 cg2d_x(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) Real*8 firstResidual Real*8 lastResidual INTEGER numIters INTEGER myThid cg2d_x(1,1,1,1)=cg2d_b(1,1,1,1) end subroutine C ###########################################################