@@ -751,7 +751,9 @@ SUBROUTINE PDLIB_W3XYPUG ( ISP, FACX, FACY, DTG, VGX, VGY, LCALC )
751
751
752
752
IF (ITH == 1 ) THEN ! Compute indices for computation of ith,isp for gse
753
753
ITHL = NTH
754
+ ITHR = 2
754
755
ELSE IF (ITH == NTH) THEN
756
+ ITHL = NTH - 1
755
757
ITHR = 1
756
758
ELSE
757
759
ITHL = ITH - 1
@@ -766,11 +768,6 @@ SUBROUTINE PDLIB_W3XYPUG ( ISP, FACX, FACY, DTG, VGX, VGY, LCALC )
766
768
CCOSR = FACX * ECOS(ITHR)
767
769
CSINR = FACY * ESIN(ITHR)
768
770
769
- CCOSL = 0.5 * (CCOSL + CCOS)
770
- CSINL = 0.5 * (CSINL + CSIN)
771
- CCOSR = 0.5 * (CCOSR + CCOS)
772
- CSINR = 0.5 * (CSINR + CSIN)
773
-
774
771
CCURX = FACX
775
772
CCURY = FACY
776
773
!
@@ -837,6 +834,10 @@ SUBROUTINE PDLIB_W3XYPUG ( ISP, FACX, FACY, DTG, VGX, VGY, LCALC )
837
834
838
835
CR(:,1 ) = VLCFLXR(:) * IOBDP_LOC
839
836
CR(:,2 ) = VLCFLYR(:) * IOBDP_LOC
837
+
838
+ CL = 0.5 * (C + CL)
839
+ CR = 0.5 * (C + CR)
840
+
840
841
!
841
842
! 4. Prepares boundary update
842
843
!
@@ -868,10 +869,11 @@ SUBROUTINE PDLIB_W3XYPUG ( ISP, FACX, FACY, DTG, VGX, VGY, LCALC )
868
869
ELSE IF (FSPSI) THEN
869
870
CALL PDLIB_W3XYPFSPSI2(ISP, C, LCALC, RD1, RD2, DTG, AC)
870
871
ELSE IF (FSFCT) THEN
871
- CALL PDLIB_W3XYPFSFCT2(ISP, CL, LCALC, RD1, RD2, DTG, 0.25 * AC, ACL)
872
- CALL PDLIB_W3XYPFSFCT2(ISP, C, LCALC, RD1, RD2, DTG, 0.5 * AC, ACM)
873
- CALL PDLIB_W3XYPFSFCT2(ISP, CR, LCALC, RD1, RD2, DTG, 0.25 * AC, ACR)
874
- AC = ACL + ACM + ACR
872
+ ! CALL PDLIB_W3XYPFSFCT2(ISP, CL, LCALC, RD1, RD2, DTG, 0.25 * AC, ACL)
873
+ ! CALL PDLIB_W3XYPFSFCT2(ISP, C, LCALC, RD1, RD2, DTG, 0.5 * AC, ACM)
874
+ ! CALL PDLIB_W3XYPFSFCT2(ISP, CR, LCALC, RD1, RD2, DTG, 0.25 * AC, ACR)
875
+ ! AC = ACL + ACM + ACR
876
+ CALL PDLIB_W3XYPFSFCT2(ISP, C, LCALC, RD1, RD2, DTG, AC, AC)
875
877
ELSE IF (FSNIMP) THEN
876
878
STOP ' For PDLIB and FSNIMP, no function has been programmed yet'
877
879
ENDIF
@@ -7867,8 +7869,8 @@ SUBROUTINE BLOCK_SOLVER_DIFFUSION(DTG)
7867
7869
DT_DIFF = DTG/ NB_ITER
7868
7870
PHI_V = 0 .
7869
7871
7870
- WRITE (5000 + myrank,* ) ' NUMBER OF SUB ITERATIONS' , ITH, IK, NB_ITER, DT_DIFF, DeltaTmax
7871
- CALL FLUSH(5000 + myrank)
7872
+ ! WRITE(5000+myrank,*) 'NUMBER OF SUB ITERATIONS', ITH, IK, NB_ITER, DT_DIFF, DeltaTmax
7873
+ ! CALL FLUSH(5000+myrank)
7872
7874
7873
7875
DO IT = 1 , NB_ITER
7874
7876
DO IE = 1 , NE
@@ -7899,7 +7901,7 @@ SUBROUTINE BLOCK_SOLVER_DIFFUSION(DTG)
7899
7901
CALL PDLIB_exchange1DREAL(PHI_V)
7900
7902
DO JSEA = 1 , NSEAL
7901
7903
IF (IOBP_LOC(JSEA) .EQ. 1 ) THEN
7902
- DIFFTOT = - DT_DIFF * DFAC * ( PHI_V(JSEA) / PDLIB_SI(JSEA) + 2 * DV2DXY(IP ) * DIFFVEC(3 ,IP ) )
7904
+ DIFFTOT = - DT_DIFF * DFAC * ( PHI_V(JSEA) / PDLIB_SI(JSEA) + 2 * DV2DXY(JSEA ) * DIFFVEC(3 ,JSEA ) )
7903
7905
ELSE
7904
7906
DIFFTOT = 0
7905
7907
ENDIF
0 commit comments