1 !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvC 2 ! C 3 ! Module name: CALC_DIF_s(M, IER) 4 ! Purpose: Calculate the effective diffusivity of solids phases C 5 ! C 6 ! Author:M. Syamlal Date: 13-EFB-98 C 7 ! Reviewer: Date: dd-mmm-yy C 8 ! C 9 ! C 10 ! Literature/Document References: C 11 ! C 12 ! Variables referenced: C 13 ! Variables modified: C 14 ! C 15 ! Local variables: C 16 ! C 17 !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C 18 19 SUBROUTINE CALC_DIF_S(M) 20 !...Translated by Pacific-Sierra Research VAST-90 2.06G5 12:17:31 12/09/98 21 !...Switches: -xf 22 !----------------------------------------------- 23 ! M o d u l e s 24 !----------------------------------------------- 25 USE param 26 USE param1 27 USE parallel 28 USE physprop 29 USE fldvar 30 USE geometry 31 USE indices 32 USE constant 33 USE toleranc 34 USE compar 35 USE sendrecv 36 USE run 37 USE functions 38 IMPLICIT NONE 39 !----------------------------------------------- 40 ! G l o b a l P a r a m e t e r s 41 !----------------------------------------------- 42 !----------------------------------------------- 43 ! D u m m y A r g u m e n t s 44 !----------------------------------------------- 45 46 ! Indices 47 INTEGER IJK, N 48 49 ! Solids phase 50 INTEGER M 51 52 DOUBLE PRECISION Dab 53 54 !----------------------------------------------- 55 56 Dab = ZERO !cm^2/s 57 IF(UNITS == 'SI') Dab = Dab*0.0001D0 !m^2/s 58 59 IF (DIF_s0 /= UNDEFINED) RETURN 60 61 !!!!$omp parallel do private(n,ijk) & 62 !!!!$omp& schedule(dynamic,chunk_size) 63 64 DO N = 1, NMAX(M) 65 DO IJK = IJKSTART3, IJKEND3 66 IF (FLUID_AT(IJK)) THEN 67 DIF_S(IJK,M,N) = ROP_S(IJK,M)*Dab 68 ELSE 69 DIF_S(IJK,M,N) = ZERO 70 ENDIF 71 ENDDO 72 ENDDO 73 74 CALL SEND_RECV(DIF_S, 2) 75 76 RETURN 77 END SUBROUTINE CALC_DIF_S 78 79 80