diff --git a/src/MNH/anel_balancen.f90 b/src/MNH/anel_balancen.f90 index 1c14b8262a04b0ce8a674d1b5262882d6a9264b1..a0ed07162cfa75de94cc3ad5755d6ac8fe53a9df 100644 --- a/src/MNH/anel_balancen.f90 +++ b/src/MNH/anel_balancen.f90 @@ -301,15 +301,7 @@ CALL PRESSUREZ(CLBCX,CLBCY,CPRESOPT,NITR,LITRADJ,ITCOUNT,XRELAX,IMI, & IRR,IRRL,IRRI,ZDRYMASST,ZREFMASS,ZMASS_O_PHI0, & ZTH,ZRR,XRHODREF,XTHVREF,XRVREF,XEXNREF, XLINMASS, & ZRU,ZRV,ZRW,ZPABST, & -#ifndef MNH_MGSOLVER ZBFB,ZBF_SXP2_YP1_Z,PRESIDUAL ) -#else - ZBFB,ZBF_SXP2_YP1_Z, & - XAF_ZS,XBF_ZS,XCF_ZS, & - XDXATH_ZS,XDYATH_ZS,XRHO_ZS, & - XA_K,XB_K,XC_K,XD_K, & - PRESIDUAL ) -#endif ! CALL MPPDB_CHECK3D(XRHODJ,"anel_balancen3.2-after pressurez halo::XRHODJ",PRECISION) CALL MPPDB_CHECK3D(ZRU,"anel_balancen3.2-after pressurez::ZRU",PRECISION) diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index b68f05803e53763615a8c37fafdcaa6371ef33ef..e8530e4bc222b3e1677c0fc078c9a9fc88b6d2e1 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -1865,14 +1865,7 @@ IF(.NOT. L1D) THEN XTHT,XRT,XRHODREF,XTHVREF,XRVREF,XEXNREF, XLINMASS, & XRUS, XRVS, XRWS, XPABST, & XBFB, & -#ifndef MNH_MGSOLVER XBF_SXP2_YP1_Z) !JUAN Z_SPLITING -#else - XBF_SXP2_YP1_Z, & - XAF_ZS,XBF_ZS,XCF_ZS, & - XDXATH_ZS,XDYATH_ZS,XRHO_ZS, & - XA_K,XB_K,XC_K,XD_K) !JUAN FULL ZSOLVER -#endif !$acc end data !$acc update self( XRUS, XRVS, XRWS, XPABST ) ! diff --git a/src/MNH/pressurez.f90 b/src/MNH/pressurez.f90 index 1fe82d747d9c4653b3a2da1665e8444bc7b6a0e3..74f6fec9ae52c0a9132d856c70f7fa100a87ed20 100644 --- a/src/MNH/pressurez.f90 +++ b/src/MNH/pressurez.f90 @@ -18,11 +18,6 @@ INTERFACE PRUS,PRVS,PRWS,PPABST, & PBFB, & PBF_SXP2_YP1_Z, & -#ifdef MNH_MGSOLVER - PAF_ZS,PBF_ZS,PCF_ZS, & - PDXATH_ZS,PDYATH_ZS,PRHO_ZS, & - A_K,B_K,C_K,D_K, & -#endif PRESIDUAL ) !JUAN Z_SPLITING ! IMPLICIT NONE @@ -102,12 +97,6 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PBFB ! elements of the tri-diag b-sl ! matrix in the pressure eq. REAL, DIMENSION(:,:,:), INTENT(IN) :: PBF_SXP2_YP1_Z ! elements of the tri-diag. SXP2_YP1_Z-slide ! matrix in the pressure eq. -#ifdef MNH_MGSOLVER -REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS -REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS -REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K -#endif REAL, OPTIONAL :: PRESIDUAL !JUAN Z_SPLITING END SUBROUTINE PRESSUREZ @@ -125,11 +114,6 @@ END MODULE MODI_PRESSUREZ PRUS,PRVS,PRWS,PPABST, & PBFB, & PBF_SXP2_YP1_Z, & -#ifdef MNH_MGSOLVER - PAF_ZS,PBF_ZS,PCF_ZS, & - PDXATH_ZS,PDYATH_ZS,PRHO_ZS, & - A_K,B_K,C_K,D_K, & -#endif PRESIDUAL ) !JUAN Z_SPLITING ! ###################################################################### ! @@ -370,12 +354,6 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PBFB ! elements of the tri-diag b-sl ! matrix in the pressure eq. REAL, DIMENSION(:,:,:), INTENT(IN) :: PBF_SXP2_YP1_Z ! elements of the tri-diag. SXP2_YP1_Z-slide ! matrix in the pressure eq. -#ifdef MNH_MGSOLVER -REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS -REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS -REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K -#endif REAL, OPTIONAL :: PRESIDUAL !JUAN Z_SPLITING ! @@ -751,10 +729,7 @@ ELSE CASE('ZSOLV') ! Conjugate Residual method CALL ZSOLVER( HLBCX, HLBCY, PDXX, PDYY, PDZX, PDZY, PDZZ, & PRHODJ, ZTHETAV, PDXHATM, PDYHATM, PRHOT, & - KITR, ZDV_SOURCE, ZPHIT, & - PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) + KITR, ZDV_SOURCE, ZPHIT ) ! #endif CASE('ZRESI') ! Conjugate Residual method diff --git a/src/MNH/zsolver.f90 b/src/MNH/zsolver.f90 index 8afebbf78ab44184e45a1af979af378b37be5315..36f2e3f91b7fb34ecb781b272cea7a03d9f9e29a 100644 --- a/src/MNH/zsolver.f90 +++ b/src/MNH/zsolver.f90 @@ -12,10 +12,7 @@ INTERFACE ! SUBROUTINE ZSOLVER( HLBCX, HLBCY, PDXX, PDYY, PDZX, PDZY, PDZZ, & PRHODJ, PTHETAV, PDXHATM, PDYHATM, PRHOM, & - KITR, PY, PPHI, & - PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) !JUAN FULL ZSOLVER + KITR, PY, PPHI ) ! IMPLICIT NONE ! @@ -46,11 +43,6 @@ INTEGER, INTENT(IN) :: KITR ! number of iterations for the REAL, DIMENSION(:,:,:), INTENT(IN) :: PY ! RHS of the equation ! REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PPHI ! solution of the equation - -REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS -REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS,PBFB -REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K ! END SUBROUTINE ZSOLVER ! @@ -63,10 +55,7 @@ END MODULE MODI_ZSOLVER ! ################################################################# SUBROUTINE ZSOLVER( HLBCX, HLBCY, PDXX, PDYY, PDZX, PDZY, PDZZ, & PRHODJ, PTHETAV, PDXHATM, PDYHATM, PRHOM, & - KITR, PY, PPHI, & - PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) !JUAN FULL ZSOLVER + KITR, PY, PPHI ) ! ################################################################# ! !!**** *CONRESOL * - solve an elliptic equation by the conjugate residual @@ -99,14 +88,11 @@ END MODULE MODI_ZSOLVER !! -------- !! Subroutine GDIV: compute J times the divergence of 1/J times a vector !! Function QLAP: compute the complete quasi-Laplacian Q -!! Subroutine FLAT_INV : invert the flat quasi-laplacien F !! Function DOTPROD: compute the dot product of 2 vectors !! !! IMPLICIT ARGUMENTS !! ------------------ -!! Module MODI_GDIV: interface for the subroutine GDIV !! Module MODI_QLAP: interface for the function QLAP -!! Module MODI_FLAT_INV: interface for the subroutine FLAT_INV !! Module MODI_DOTPROD: interface for the function DOTPROD !! !! REFERENCE @@ -129,9 +115,7 @@ END MODULE MODI_ZSOLVER !* 0. DECLARATIONS ! ------------ ! -USE MODI_GDIV USE MODI_QLAP -USE MODI_FLAT_INV USE MODI_ZSOLVER_INV USE MODI_DOTPROD ! @@ -173,11 +157,6 @@ INTEGER, INTENT(IN) :: KITR ! number of iterations for the REAL, DIMENSION(:,:,:), INTENT(IN) :: PY ! RHS of the equation ! REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PPHI ! solution of the equation - -REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS -REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS,PBFB -REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K ! !* 0.2 declarations of local variables ! @@ -204,17 +183,6 @@ if ( mppdb_initialized ) then !Check all in arrays call Mppdb_check( PY, "Zsolver beg:PY" ) call Mppdb_check( PPHI, "Zsolver beg:PPHI" ) - call Mppdb_check( PAF_ZS, "Zsolver beg:PAF_ZS" ) - call Mppdb_check( PBF_ZS, "Zsolver beg:PBF_ZS" ) - call Mppdb_check( PCF_ZS, "Zsolver beg:PCF_ZS" ) - call Mppdb_check( PDXATH_ZS,"Zsolver beg:PDXATH_ZS" ) - call Mppdb_check( PDYATH_ZS,"Zsolver beg:PDYATH_ZS" ) - call Mppdb_check( PRHO_ZS, "Zsolver beg:PRHO_ZS" ) - call Mppdb_check( PBFB, "Zsolver beg:PBFB" ) - call Mppdb_check( A_K, "Zsolver beg:A_K" ) - call Mppdb_check( B_K, "Zsolver beg:B_K" ) - call Mppdb_check( C_K, "Zsolver beg:C_K" ) - call Mppdb_check( D_K, "Zsolver beg:D_K" ) end if ! JIU = size(PPHI, 1 ) @@ -245,10 +213,7 @@ ZRESIDUE = ZRESIDUE - PY ! !* 1.2 compute the vector: p^(0) = F^(-1)*( Q(PHI) - Y ) ! -CALL ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, ZRESIDUE, ZP, & - PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) +CALL ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, ZRESIDUE, ZP ) ! !* 1.3 compute the vector: delta^(0) = Q ( p^(0) ) ! @@ -286,10 +251,7 @@ DO JM = 1,KITR ! !* 2.4 compute the vector: q = F^(-1)*( Q(PHI) - Y ) ! - CALL ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, ZRESIDUE, ZQ, & - PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) + CALL ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, ZRESIDUE, ZQ ) ! !* 2.5 compute the auxiliary field: ksi = Q ( q ) ! diff --git a/src/MNH/zsolver_inv.f90 b/src/MNH/zsolver_inv.f90 index e904015bccbc673e46835f18acf0e626d6279abe..a488737d08368e51bee9167f51d962c466cd44e9 100644 --- a/src/MNH/zsolver_inv.f90 +++ b/src/MNH/zsolver_inv.f90 @@ -11,9 +11,7 @@ INTERFACE ! SUBROUTINE ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, & - PY, PF_1_Y, PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) + PY, PF_1_Y ) ! ! IMPLICIT NONE @@ -33,12 +31,6 @@ REAL, DIMENSION(:,:,:), INTENT(IN) :: PY ! RHS of the equation ! REAL, DIMENSION(:,:,:), INTENT(OUT):: PF_1_Y ! solution of the equation ! -REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS -REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS -REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS,PBFB -REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K -! -! END SUBROUTINE ZSOLVER_INV ! END INTERFACE @@ -46,9 +38,7 @@ END INTERFACE END MODULE MODI_ZSOLVER_INV ! ################################################################ SUBROUTINE ZSOLVER_INV( HLBCX, HLBCY, PDXHATM, PDYHATM, PRHOM, & - PY, PF_1_Y, PAF_ZS, PBF_ZS, PCF_ZS, & - PDXATH_ZS, PDYATH_ZS, PRHO_ZS, PBFB, & - A_K, B_K, C_K, D_K ) + PY, PF_1_Y ) ! ############################################################## ! !!**** *FLAT_INV * - Invert the flat quasi-laplacian operator @@ -154,11 +144,6 @@ END MODULE MODI_ZSOLVER_INV ! REAL, DIMENSION(:,:,:), INTENT(OUT):: PF_1_Y ! solution of the equation ! - REAL, DIMENSION(:,:,:), INTENT(IN) :: PAF_ZS,PBF_ZS,PCF_ZS - REAL, DIMENSION(:,:) , INTENT(IN) :: PDXATH_ZS,PDYATH_ZS - REAL, DIMENSION(:,:,:), INTENT(IN) :: PRHO_ZS,PBFB - REAL, DIMENSION(:) , INTENT(IN) :: A_K,B_K,C_K,D_K - ! !* 0.2 declaration of local variables ! REAL, DIMENSION(:,:,:), pointer , contiguous :: ZY ! work array to store @@ -183,17 +168,6 @@ END MODULE MODI_ZSOLVER_INV call Mppdb_check( PRHOM, "Zsolver_inv beg:PRHOM" ) call Mppdb_check( PY, "Zsolver_inv beg:PY" ) call Mppdb_check( PF_1_Y, "Zsolver_inv beg:PF_1_Y" ) - call Mppdb_check( PAF_ZS, "Zsolver_inv beg:PAF_ZS" ) - call Mppdb_check( PBF_ZS, "Zsolver_inv beg:PBF_ZS" ) - call Mppdb_check( PCF_ZS, "Zsolver_inv beg:PCF_ZS" ) - call Mppdb_check( PDXATH_ZS,"Zsolver_inv beg:PDXATH_ZS" ) - call Mppdb_check( PDYATH_ZS,"Zsolver_inv beg:PDYATH_ZS" ) - call Mppdb_check( PRHO_ZS, "Zsolver_inv beg:PRHO_ZS" ) - call Mppdb_check( PBFB, "Zsolver_inv beg:PBFB" ) - call Mppdb_check( A_K, "Zsolver_inv beg:A_K" ) - call Mppdb_check( B_K, "Zsolver_inv beg:B_K" ) - call Mppdb_check( C_K, "Zsolver_inv beg:C_K" ) - call Mppdb_check( D_K, "Zsolver_inv beg: D_K" ) end if ! !CALL GET_PHYSICAL_ll(IIB,IJB,IIE,IJE)