[問題] IMSL問題

看板Programming作者 (good luck!!￾N￾N ￾ )時間18年前 (2007/07/09 10:56), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
以下是我的程式 USE MSIMSL !!! SIMPLE EUTECTIC SYSTEM !!! SLE-SIMPLE.F90 IMPLICIT NONE INTEGER, PARAMETER :: NPARA=2, MSTEP=10000 REAL (KIND=8),PARAMETER :: TOL=1.E-12 INTEGER :: I, NO_DATA, FIRST REAL (KIND=8) :: SUMD, F_RE, SPA REAL (KIND=8) :: X2E(20), TEXP(20), TCAL(20), AADT(20), & & XXGUESS(NPARA), XX(NPARA), SCA(NPARA) COMMON /GROUP2/ NO_DATA, X2E, TEXP COMMON /GROUP3/ TCAL, AADT, SUMD COMMON /GROUP5/ SCA COMMON /GROUP6/ FIRST EXTERNAL MAIN OPEN (1,FILE="C:\Wilson\LA+DOC.txt") OPEN (2,FILE="C:\Wilson\LA+DOC-R.TXT ",ACCESS="APPEND") WRITE (*,*) "INPUT THE NO. OF DATA POINT BEFORE THE EUTECTIC POINT" READ (*,*) FIRST CALL INPUT() SPA=0.01 WRITE (*,*) "ENTER THE INITIAL GUESS OF D12, D21" !ENTER THE PARAMETER OF THE LIQUID MODEL READ (*,*) XXGUESS(1), XXGUESS(2) CALL DUMPOL(MAIN,NPARA,XXGUESS,SPA,TOL,MSTEP,XX,F_RE) !CALL MAIN(NPARA,XXGUESS,XX,F_RE) WRITE (2,10) XX(1)*SCA(1) WRITE (2,15) XX(2)*SCA(2) WRITE (*,10) XX(1)*SCA(1) WRITE (*,15) XX(2)*SCA(2) !WRITE (2,10) XXGUESS(1)*SCA(1) !WRITE (2,15) XXGUESS(2)*SCA(2) DO I=1, NO_DATA AADT(I)=AADT(I)*100. WRITE (2,20) X2E(I), TEXP(I), TCAL(I), AADT(I) ENDDO SUMD=SUMD*100. WRITE (2,25) NO_DATA, SUMD WRITE (*,25) NO_DATA, SUMD 10 FORMAT (1X,"INTERACTION PARAMETER, D12:",1X,F12.8) 15 FORMAT (1X,"INTERACTION PARAMETER, D21:",1X,F12.8) 20 FORMAT (1X,F6.4,3(1X,F7.3)) 25 FORMAT (1X,"TOTAL NO. OF DATA POINT IS",1X,I3,", AAD IS",1X,F12.8) STOP END !!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE INPUT() IMPLICIT NONE INTEGER, PARAMETER :: N_C=2 CHARACTER (LEN=20) :: NAME(N_C) INTEGER :: I, NO_COMP, NO_DATA REAL (KIND=8) :: HFUS(N_C), TM(N_C), X2E(20), TEXP(20) COMMON /GROUP1/ HFUS, TM COMMON /GROUP2/ NO_DATA, X2E, TEXP READ (1,*) NO_COMP !NO. OF THE COMPONENT IN THE SYSTEM DO I=1, NO_COMP READ (1,*) NAME(I) !NAME OF THE COMPONENT I READ (1,*) HFUS(I) !VALUE OF THE FUSION HEAT OF COMPONENT I (J/MOL) READ (1,*) TM(I) !VALUE OF THE MELTING POINT OF COMPONENT I (K) ENDDO READ (1,*) NO_DATA !NO OF THE EXPT. DATA POINT IN THE SYSTEM DO I=1, NO_DATA READ (1,*) X2E(I), TEXP(I) !THE EXPT. DATA OF THE COMPOSITION OF COMPONENT 2 IN LIQUID PHASE (x2, MOLE FRACTION) & !THE LIQUIFIED TEMP. (TL, K) ENDDO RETURN END !!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE MAIN(NPARA, XX, F_RE) IMPLICIT NONE INTEGER, PARAMETER :: N_C=2, N_PA=2 REAL (KIND=8) :: RG=8.314 !UNIT OF RG: J/MOL-K INTEGER :: I, NO_DATA, NPARA, FIRST REAL (KIND=8) :: XX(NPARA), DK(N_PA), S(N_C), R(N_C) REAL (KIND=8) :: HFUS(N_C), TM(N_C), X2E(20), TEXP(20), TCAL(20), AADT(20), SUMD, F_RE REAL (KIND=8) :: SCA(N_PA)=(/ 1.E+0, 1.E+0 /) COMMON /GROUP1/ HFUS, TM COMMON /GROUP2/ NO_DATA, X2E, TEXP COMMON /GROUP3/ TCAL, AADT, SUMD COMMON /GROUP4/ DK COMMON /GROUP5/ SCA COMMON /GROUP6/ FIRST DO I=1, NPARA DK(I)=XX(I)*SCA(I) ENDDO SUMD=0. DO I=1, NO_DATA S(2)=X2E(I) !COMPOSITION OF COMPONENT 2 (x2, MOLE FRACTION) S(1)=1.-X2E(I) !COMPOSITION OF COMPONENT 1 (x1, MOLE FRACTION) CALL ACTIVITYCOEFF(S,R,TEXP(I)) IF (I <= FIRST) THEN TCAL(I)=1./(1./TM(1)-RG*DLOG(R(1)*S(1))/HFUS(1)) !COMPONENT 1 AS THE SOLID ELSE TCAL(I)=1./(1./TM(2)-RG*DLOG(R(2)*S(2))/HFUS(2)) !COMPONENT 2 AS THE SOLID ENDIF AADT(I)=DABS(TCAL(I)-TEXP(I))/TEXP(I) SUMD=SUMD+AADT(I) ENDDO SUMD=SUMD/NO_DATA F_RE=SUMD write(2,*) F_RE RETURN END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE ACTIVITYCOEFF(S,R,T) IMPLICIT NONE INTEGER, PARAMETER :: N_C=2, N_PA=2 REAL (KIND=8) :: DK(N_PA), S(N_C), R(N_C) ,D12, D21, V1, V2, T COMMON /GROUP4/ DK !!!!!!!!!! ! WILSON MODEL ! DK(1)=L12-L11, DK(2)=L21-L22 V1= 210.04 V2= 392.66 D12= V2/V1*DEXP(-(DK(1)/8.314/T)) D21= V1/V2*DEXP(-(DK(2)/8.314/T)) R(1)=-DLOG(S(1)+D12*S(2))+S(2)*(D12/(S(1)+D12*S(2))-D21/(D21*S(1)+S(2))) !lnr1 R(2)=-DLOG(S(2)+D21*S(1))-S(1)*(D12/(S(1)+D12*S(2))-D21/(D21*S(1)+S(2))) !lnr2 R(1)=DEXP(R(1)) !r1 R(2)=DEXP(R(2)) !r2 RETURN END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 在build時,出現LINK : fatal error LNK1104: cannot open file "imsls_err.lib" Error executing link.exe. 請問該如何解決?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.237.183

07/09 14:34, , 1F
哪一版的imsl? library path要設呀~
07/09 14:34, 1F

07/09 15:48, , 2F
fortran程式,library有設定阿
07/09 15:48, 2F
文章代碼(AID): #16aQFqKb (Programming)
文章代碼(AID): #16aQFqKb (Programming)