主题:请高手帮忙看看,我想实现积分,但是为什么不行,但是可以运行,结果并不是积分
SUBROUTINE DUMP_BNDF(T,NM)
REAL(EB), INTENT(IN) :: T
REAL(FB) :: STIME
REAL(EB), SAVE :: TI_T
REAL(FB), SAVE :: PPH11(-100:100,-100:100)
INTEGER :: ISUM,IG,JG,KG,IOR,NF,IND,I,J,K,I1,I2,J1,J2,K1,K2,IC,IW,N
INTEGER, INTENT(IN) :: NM
SELECT CASE (IOR)
CASE (-2)
JG=JBAR
I1 = 1
I2 = IBAR
K1 = 1
K2 = KBAR
DO K=K1,K2
DO I=I1,I2
IC = CELL_INDEX(I,JG,K)
IW = WALL_INDEX(IC,-IOR)
PP(I,K) = SOLID_PHASE_OUTPUT(IW,IND)*(K*0.05_EB/0.05_EB)**0.1_EB
IF (BOUNDARY_TYPE(IW)/=NULL_BOUNDARY .AND. .NOT.SOLID(CELL_INDEX(I,JG,K))) IBK(I,K)=1
ENDDO
ENDDO
DO K=K1-1,K2
DO I=I1-1,I2
IF (IBK(I,K)==1) PPN(I,K) = PPN(I,K) + PP(I,K)
IF (IBK(I+1,K)==1) PPN(I,K) = PPN(I,K) + PP(I+1,K)
IF (IBK(I,K+1)==1) PPN(I,K) = PPN(I,K) + PP(I,K+1)
IF (IBK(I+1,K+1)==1) PPN(I,K) = PPN(I,K) + PP(I+1,K+1)
ISUM = IBK(I,K)+IBK(I,K+1)+IBK(I+1,K)+IBK(I+1,K+1)
IF (ISUM>0) THEN
PPN(I,K) = PPN(I,K)/REAL(ISUM,EB)
ELSE
PPN(I,K) = SOLID_PHASE_OUTPUT(0,IND)*(K*0.05_EB/0.02_EB)**0.1_EB
ENDIF
ENDDO
ENDDO
PPN(I,K) = PPH11(I,K)+(T-TI_T)*PPN(I,K)
TI_T = T
PPH11(I,K) = PPN(I,K)
WRITE(LU_BNDF(NF,NM)) ((PPN(I,K),I=I1-1,I2),K=K1-1,K2)
END SELECT
REAL(EB), INTENT(IN) :: T
REAL(FB) :: STIME
REAL(EB), SAVE :: TI_T
REAL(FB), SAVE :: PPH11(-100:100,-100:100)
INTEGER :: ISUM,IG,JG,KG,IOR,NF,IND,I,J,K,I1,I2,J1,J2,K1,K2,IC,IW,N
INTEGER, INTENT(IN) :: NM
SELECT CASE (IOR)
CASE (-2)
JG=JBAR
I1 = 1
I2 = IBAR
K1 = 1
K2 = KBAR
DO K=K1,K2
DO I=I1,I2
IC = CELL_INDEX(I,JG,K)
IW = WALL_INDEX(IC,-IOR)
PP(I,K) = SOLID_PHASE_OUTPUT(IW,IND)*(K*0.05_EB/0.05_EB)**0.1_EB
IF (BOUNDARY_TYPE(IW)/=NULL_BOUNDARY .AND. .NOT.SOLID(CELL_INDEX(I,JG,K))) IBK(I,K)=1
ENDDO
ENDDO
DO K=K1-1,K2
DO I=I1-1,I2
IF (IBK(I,K)==1) PPN(I,K) = PPN(I,K) + PP(I,K)
IF (IBK(I+1,K)==1) PPN(I,K) = PPN(I,K) + PP(I+1,K)
IF (IBK(I,K+1)==1) PPN(I,K) = PPN(I,K) + PP(I,K+1)
IF (IBK(I+1,K+1)==1) PPN(I,K) = PPN(I,K) + PP(I+1,K+1)
ISUM = IBK(I,K)+IBK(I,K+1)+IBK(I+1,K)+IBK(I+1,K+1)
IF (ISUM>0) THEN
PPN(I,K) = PPN(I,K)/REAL(ISUM,EB)
ELSE
PPN(I,K) = SOLID_PHASE_OUTPUT(0,IND)*(K*0.05_EB/0.02_EB)**0.1_EB
ENDIF
ENDDO
ENDDO
PPN(I,K) = PPH11(I,K)+(T-TI_T)*PPN(I,K)
TI_T = T
PPH11(I,K) = PPN(I,K)
WRITE(LU_BNDF(NF,NM)) ((PPN(I,K),I=I1-1,I2),K=K1-1,K2)
END SELECT