±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 1891  |  »Ø¸´: 18

zyj8119

ľ³æ (ÖøÃûдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿Óкܶà´íÎóµÄ³ÌÐò£¬ÕÒ²»³öÀ´ÁË ÒÑÓÐ2È˲ÎÓë

c     ´Ë³ÌÐòÊÇÔËÓÃpeng-robinson·½³Ì¼ÆËãÆøÌåµÄÒݶÈϵÊýfaita(1),faita(2)£¬ÊÇÀûÓÃÅ£¶Ùµü´ú·¨Çó½â
c     È»ºóͨ¹ýoriginÄâºÏµÃµ½ÕâЩÊý¾ÝN1,N2,m1,m2,K1,K2
c     Çó½âµÃµ½f1,f2,x1µÄ¹ý³Ì,Ê×ÏÈÀûÓÃÅ£¶Ùµü´ú·¨Çó½âx1, È»ºóÀûÓñí´ïʽÇó½âf1,f2
      PROGRAM MAIN
        LOGICAL converged
        REAL EXTERNAL FUNCTION MS MSD  G dG
        integer::S N SQ
        parameter(EPS=1.0E-06,R=83.14,epsilon=1-2**(0.5),sigma=1+2**(0.5)
     *)
        dimension:: faita(7),ns(4),ma(4),K(4),A(1000000),M(7),omiga(7),
     *Tc(7),Pc(7),Z(1000000),b(7),beta(7),alpha(7),q(7),as(7),Z1(7)
      real:: alpha,beta,Tr,omiga,M,rho(7),q,a,b,SV,I(7)
        DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,
     *4.0/);K=(/5.0,6.0,7.0,8.0/);M=(/16.043,30.070,44.097,
     *58.123,72.150, 44.01, 28.01/);omiga=(/0.012,0.100,0.152,0.2,
     *0.252,0.224,0.048/);Tc=(/190.6,305.3,369.8,425.1,469.7,304.2,
     *132.9/);Pc=(/45.99,48.72,42.48,37.96,33.70,73.83,34.99/)
        READ(*,*)P1
        P=P1/100
      SV=(1-(T/Tc(N))**(0.5))**2
      alpha(N)=(1+(0.37464+1.54226*omiga(N)-0.26992*omiga(N)**2)*SV)
      as(N)=((0.45724*R**2*Tc(N)**2)/Pc(N))*alpha(N)
      b(N)=0.07779*R*Tc(N)/Pc(N)
      beta(N)=b(N)*P/(R*T)
      q(N)=as(N)*alpha(N)*P/(R**2*T**2)
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
     *(q*beta(N)-beta(N)**2-beta(N)**3)
        MSD(Z)=3*Z**2-2*(1-beta(N))*Z+(q(N)-2*beta(N)-3*beta(N)**2)
      IF(N.LT.7.AND.N.GT.1)THEN
        DO WHILE(.not.converged.and.ABS(MSD(Z)).GT.0)
        Z=Z-MS(Z)/MSD(Z)
        converged=(abs(MS(Z)/MSD(Z)).LT.EPS)
      END DO
        ELSE
        END IF
        Z1(N)=Z
     
      DO 4 N=1,7
        I(N)=(1/(sigma-epsilon))*log((Z1(N)+sigma*beta(N))/
     *(Z1(N)+epsilon*beta(N)))
        rho(N)=(P/(Z1(N)*R*T))*M(N)*EPS
      faita(N)=exp(Z1(N)-1-log(Z1(N)-beta)-q(N)*I(N))
4    CONTINUE     
   

        f1=P*y1*faita(1)/X
      f2=P*(1-y1)*faita(2)/(1-X)
        G(X)=ns(1)*LOG(1+K(1)*f1**m(1))+ns(2)*LOG(1+K(2)*f1**ma(2))-
     *ns(3)*LOG(1+K(3)*f2**m(3))+ns(4)*LOG(1+K(4)*f2**ma(4))            
      dG(X)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+K(1)*f1**ma(1))+
     *(ma(2)*ns(2)*K2*f1*(ma(2)-1))/(1+K(2)*f1**m(2))-
     *(ma(3)*ns(3)*K(3)*f2*(ma(3)-1))/(1+K(3)*f2**ma(3))+
     *(ma(4)*ns(4)*K4*f2*(ma(4)-1))/(1+K(4)*f2**ma(4))
      S=0
      DO WHILE(.not.converged.and.ABS(dG(X)).GT.0)
      X=X-G(X)/dG(X)
      S=S+1
      converged=(abs(G(X)/dG(X)).LT.EPS)
      END DO
        x1=X
20    format(1x,3F9.4)
      write(20,*)f1,f2,x1
        end
      --------------------Configuration: bb - Win32 Debug--------------------
Compiling Fortran...
D:\vc++\MSDev98\MyProjects\22\bb.for
D:\vc++\MSDev98\MyProjects\22\bb.for(14) : Error: Syntax error, found ';' when expecting one of: , )
DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,
-------------------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(27) : Error: This name has not been declared as an array.   [MS]
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(27) : Error: The shapes of the array expressions do not conform.
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
-----------------------------------------------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(27) : Error: The shapes of the array expressions do not conform.   [MS]
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(29) : Error: This name has not been declared as an array.   [MSD]
MSD(Z)=3*Z**2-2*(1-beta(N))*Z+(q(N)-2*beta(N)-3*beta(N)**2)
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(29) : Error: The shapes of the array expressions do not conform.   [MSD]
MSD(Z)=3*Z**2-2*(1-beta(N))*Z+(q(N)-2*beta(N)-3*beta(N)**2)
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(37) : Error: The shapes of the array expressions do not conform.   [Z1]
Z1(N)=Z
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(43) : Error: The shapes of the array expressions do not conform.   [FAITA]
      faita(N)=exp(Z1(N)-1-log(Z1(N)-beta)-q(N)*I(N))
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(49) : Error: This name has not been declared as an array.   [G]
G(X)=ns(1)*LOG(1+K(1)*f1**m(1))+ns(2)*LOG(1+K(2)*f1**ma(2))-
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(51) : Error: This name has not been declared as an array.   [DG]
      dG(X)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+K(1)*f1**ma(1))+
------^
Error executing df.exe.

bb.obj - 10 error(s), 0 warning(s)
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

¸Ä³ÉÕâÑù£¬»¹ÓÐ7¸ö´íÎó   
c     ´Ë³ÌÐòÊÇÔËÓÃpeng-robinson·½³Ì¼ÆËãÆøÌåµÄÒݶÈϵÊýfaita(1),faita(2)£¬ÊÇÀûÓÃÅ£¶Ùµü´ú·¨Çó½â
c     È»ºóͨ¹ýoriginÄâºÏµÃµ½ÕâЩÊý¾ÝN1,N2,m1,m2,K1,K2
c     Çó½âµÃµ½f1,f2,x1µÄ¹ý³Ì,Ê×ÏÈÀûÓÃÅ£¶Ùµü´ú·¨Çó½âx1, È»ºóÀûÓñí´ïʽÇó½âf1,f2
      PROGRAM MAIN
        LOGICAL converged
        REAL EXTERNAL FUNCTION MS MSD  G dG
        integer::S N SQ
        parameter(EPS=1.0E-06,R=83.14,epsilon=1-2**(0.5),sigma=1+2**(0.5)
     *)
        dimension:: faita(7),ns(4),ma(4),K(4),M(7),omiga(7),
     *Tc(7),Pc(7),b(7),beta(7),alpha(7),q(7),as(7),Z1(7)
      real:: alpha,beta,Tr,omiga,M,rho(7),q,a,b,SV,I(7)
        DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
     *K=(/5.0,6.0,7.0,8.0/);M=(/16.043,30.070,44.097,
     *58.123,72.150, 44.01, 28.01/);omiga=(/0.012,0.100,0.152,0.2,
     *0.252,0.224,0.048/);Tc=(/190.6,305.3,369.8,425.1,469.7,304.2,
     *132.9/);Pc=(/45.99,48.72,42.48,37.96,33.70,73.83,34.99/)
        READ(*,*)P1
        P=P1/100
      SV=(1-(T/Tc(N))**(0.5))**2
      alpha(N)=(1+(0.37464+1.54226*omiga(N)-0.26992*omiga(N)**2)*SV)
      as(N)=((0.45724*R**2*Tc(N)**2)/Pc(N))*alpha(N)
      b(N)=0.07779*R*Tc(N)/Pc(N)
      beta(N)=b(N)*P/(R*T)
      q(N)=as(N)*alpha(N)*P/(R**2*T**2)
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
     *(q*beta(N)-beta(N)**2-beta(N)**3)
        MSD(Z)=3*Z**2-2*(1-beta(N))*Z+(q(N)-2*beta(N)-3*beta(N)**2)
      IF(N.LT.7.AND.N.GT.1)THEN
        DO WHILE(.not.converged.and.ABS(MSD(Z)).GT.0)
        Z=Z-MS(Z)/MSD(Z)
        converged=(abs(MS(Z)/MSD(Z)).LT.EPS)
      END DO
        ELSE
        END IF
        Z1(N)=Z
     
      DO 4 N=1,7
        I(N)=(1/(sigma-epsilon))*log((Z1(N)+sigma*beta(N))/
     *(Z1(N)+epsilon*beta(N)))
        rho(N)=(P/(Z1(N)*R*T))*M(N)*EPS
      faita(N)=exp(Z1(N)-1-log(Z1(N)-beta)-q(N)*I(N))
4    CONTINUE     
   

        f1=P*y1*faita(1)/X
      f2=P*(1-y1)*faita(2)/(1-X)
        G(X)=ns(1)*LOG(1+K(1)*f1**m(1))+ns(2)*LOG(1+K(2)*f1**ma(2))-
     *ns(3)*LOG(1+K(3)*f2**m(3))+ns(4)*LOG(1+K(4)*f2**ma(4))            
      dG(X)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+K(1)*f1**ma(1))+
     *(ma(2)*ns(2)*K2*f1*(ma(2)-1))/(1+K(2)*f1**m(2))-
     *(ma(3)*ns(3)*K(3)*f2*(ma(3)-1))/(1+K(3)*f2**ma(3))+
     *(ma(4)*ns(4)*K4*f2*(ma(4)-1))/(1+K(4)*f2**ma(4))
      S=0
      DO WHILE(.not.converged.and.ABS(dG(X)).GT.0)
      X=X-G(X)/dG(X)
      S=S+1
      converged=(abs(G(X)/dG(X)).LT.EPS)
      END DO
        x1=X
20    format(1x,3F9.4)
      write(20,*)f1,f2,x1
        end
--------------------Configuration: bb - Win32 Debug--------------------
Compiling Fortran...
D:\vc++\MSDev98\MyProjects\22\bb.for
D:\vc++\MSDev98\MyProjects\22\bb.for(14) : Error: Syntax error, found ';' when expecting one of: , )
DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
-------------------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(27) : Error: This name has not been declared as an array.   [MS]
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(27) : Error: The shapes of the array expressions do not conform.   [MS]
      MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(29) : Error: This name has not been declared as an array.   [MSD]
MSD(Z)=3*Z**2-2*(1-beta(N))*Z+(q(N)-2*beta(N)-3*beta(N)**2)
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(43) : Error: The shapes of the array expressions do not conform.   [FAITA]
      faita(N)=exp(Z1(N)-1-log(Z1(N)-beta)-q(N)*I(N))
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(49) : Error: This name has not been declared as an array.   [G]
G(X)=ns(1)*LOG(1+K(1)*f1**m(1))+ns(2)*LOG(1+K(2)*f1**ma(2))-
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(51) : Error: This name has not been declared as an array.   [DG]
      dG(X)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+K(1)*f1**ma(1))+
------^
Error executing df.exe.
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
2Â¥2010-07-11 11:20:39
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï ¡ï
ÓàÔó³É(½ð±Ò+3):ÐÁ¿àÁË£¡ 2010-07-11 16:27:27
zyj8119(½ð±Ò+5):DOÑ­»·²»ÊǸøÁË·¶Î§ÁËÂð£¿ÄÇô¶à¹«Ê½£¿ 2010-07-11 17:41:32
¿´²»¶®ÄãÒª×öʲô£¬²»¹ýÓм¸µã½¨Ò飺

ÄãµÄ³ÌÐòËÆºõÊÇ Fortran77 µÄ¹Ì¶¨¸ñʽ£¬¶øÇÒÀïÃæµÄÑ­»·Ê²Ã´µÄÒ²Êǰ´ Fortran 77 ÑùʽдµÄ¡£µ«ÀïÃæÓÐЩд·¨ËƺõÓÖÊÇ Fortran 90 µÄÑùʽ£¬ÕâÑùºÜ²»ºÃ£¬½¨Òé°´Ò»ÖÖ·ç¸ñÀ´Ð´ÄãµÄ³ÌÐò£¬ÒªÃ´¾ÍÊÇ´¿ Fortran 77 µÄ£¬ÒªÃ´¾ÍÊÇ Fortran90 µÄ¡£

ÄãµÄ³ÌÐòÖÐÓкܶà±äÁ¿Ã»ÓгõÖµ£¬±ÈÈç
SV=(1-(T/Tc(N))**(0.5))**2
ÖÐµÄ N£»
ÔÙÈ磺
MS(Z)=Z**3-(1-beta(N))*Z**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-(q*beta(N)-beta(N)**2-beta(N)**3)
ÖÐµÄ Z¡£Èç¹ûÄãÕâÀïµÄ MS ÊÇÒ»¸öº¯Êý£¨¾ÍÏñÄãÇ°ÃæÉêÃ÷µÄÄÇÑù£©£¬ÄÇô×îºÃÓñðµÄ·ûºÅÀ´´úÌæ Z£¬·ñÔò»áÒýÆðÆçÒå¡£

Õâ¸ö³ÌÐòÖÐ×î´óµÄÎÊÌâÒ²¾ÍÔÚÕâЩ¸öº¯ÊýµÄ¶¨ÒåÉÏÃæÁË¡­¡­
3Â¥2010-07-11 13:45:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

ÒýÓûØÌû:
Originally posted by snoopyzhao at 2010-07-11 13:45:13:
¿´²»¶®ÄãÒª×öʲô£¬²»¹ýÓм¸µã½¨Ò飺

ÄãµÄ³ÌÐòËÆºõÊÇ Fortran77 µÄ¹Ì¶¨¸ñʽ£¬¶øÇÒÀïÃæµÄÑ­»·Ê²Ã´µÄÒ²Êǰ´ Fortran 77 ÑùʽдµÄ¡£µ«ÀïÃæÓÐЩд·¨ËƺõÓÖÊÇ Fortran 90 µÄÑùʽ£¬ÕâÑùºÜ²»ºÃ£¬½¨Òé°´Ò»ÖÖ·ç¸ñÀ´Ð´Äã ...

ÎÒÏ붨ÒåÒ»¸öº¯Êý£¬µ«ÊÇ´íÎóÀïÃæºÃÏñ·ÇÒªÎÒ¸ã³ÉÊý×é°¡£¬MS(Z)ÊÇÒ»¸öZµÄº¯Êý£¬MSD(Z)ÊÇMS(Z)µÄµ¼Êý£¬ÕâÑù¿ÉÒÔÀûÓÃÅ£¶Ùµü´ú·¨Çó½â£¬ÏÂÃæµÄÒ²ÊÇ£¬G(X)ÊǺ¯Êý±¾Éí£¬  dG(X)ÊÇG(X)µÄµ¼Êý¡£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
4Â¥2010-07-11 14:30:10
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

$     ´Ë³ÌÐòÊÇÔËÓÃpeng-robinson·½³Ì¼ÆËãÆøÌåµÄÒݶÈϵÊýfaita(1),faita(2)£¬ÊÇÀûÓÃÅ£¶Ùµü´ú·¨Çó½â
$     È»ºóͨ¹ýoriginÄâºÏµÃµ½ÕâЩÊý¾ÝN1,N2,m1,m2,K1,K2
$     Çó½âµÃµ½f1,f2,x1µÄ¹ý³Ì,Ê×ÏÈÀûÓÃÅ£¶Ùµü´ú·¨Çó½âIASTÀíÂ۵õ½x1, È»ºóÀûÓñí´ïʽÇó½âf1,f2
      PROGRAM MAIN
        LOGICAL converged
        REAL EXTERNAL FUNCTION MS MSD  G dG
        integer::S N SQ
        parameter(EPS=1.0E-06,R=83.14,epsilon=1-2**(0.5),sigma=1+2**(0.5)
     *)
        dimension:: faita(7),ns(4),ma(4),K(4),M(7),omiga(7),
     *Tc(7),Pc(7),b(7),beta(7),alpha(7),q(7),as(7),Z1(7)
      real:: alpha,beta,Tr,omiga,M,rho(7),q,a,b,SV,I(7),ZM
        DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
     *K=(/5.0,6.0,7.0,8.0/);M=(/16.043,30.070,44.097,
     *58.123,72.150, 44.01, 28.01/);omiga=(/0.012,0.100,0.152,0.2,
     *0.252,0.224,0.048/);Tc=(/190.6,305.3,369.8,425.1,469.7,304.2,
     *132.9/);Pc=(/45.99,48.72,42.48,37.96,33.70,73.83,34.99/)
        READ(*,*)P1
$     ¼ÆËãpeng-robinson·½³ÌÖÐÐèÒªµÄһЩ²ÎÁ¿       
        DO 3 N=1,7
        P=P1/100
      SV=(1-(T/Tc(N))**(0.5))**2
      alpha(N)=(1+(0.37464+1.54226*omiga(N)-0.26992*omiga(N)**2)*SV)
      as(N)=((0.45724*R**2*Tc(N)**2)/Pc(N))*alpha(N)
      b(N)=0.07779*R*Tc(N)/Pc(N)
      beta(N)=b(N)*P/(R*T)
      q(N)=as(N)*alpha(N)*P/(R**2*T**2)
3     CONTINUE      
$     ÔËÓÃÅ£¶Ùµü´ú·¨¿ªÊ¼Çó½âѹËõÒò×ӵķ½³Ì       
        MS(ZM)=ZM**3-(1-beta(N))*ZM**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
     *(q*beta(N)-beta(N)**2-beta(N)**3)
        MSD(ZM)=3*ZM**2-2*(1-beta(N))*ZM+(q(N)-2*beta(N)-3*beta(N)**2)
      IF(N.LT.7.AND.N.GT.1)THEN
        DO WHILE(.not.converged.and.ABS(MSD(ZM)).GT.0)
        ZM=ZM-MS(ZM)/MSD(ZM)
        converged=(abs(MS(ZM)/MSD(ZM)).LT.EPS)
      END DO
        ELSE
        END IF
        Z1(N)=ZM
$     Çó½âÃܶȺÍÒݶȠ  
      DO 4 N=1,7
        I(N)=(1/(sigma-epsilon))*log((Z1(N)+sigma*beta(N))/
     *(Z1(N)+epsilon*beta(N)))
        rho(N)=(P/(Z1(N)*R*T))*M(N)*EPS
      faita(N)=exp(Z1(N)-1-log(Z1(N)-beta)-q(N)*I(N))
4    CONTINUE     
   
$     ÔËÓÃIASTÀíÂÛÒÔ¼°ÉÏÃæµÃµ½µÄÒݶÈϵÊý£¬¿ªÊ¼Çó½âIASTµÄ·½³Ì
        f1=P*y1*faita(1)/X
      f2=P*(1-y1)*faita(2)/(1-X)
        G(X)=ns(1)*LOG(1+K(1)*f1**m(1))+ns(2)*LOG(1+K(2)*f1**ma(2))-
     *ns(3)*LOG(1+K(3)*f2**m(3))+ns(4)*LOG(1+K(4)*f2**ma(4))            
      dG(X)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+K(1)*f1**ma(1))+
     *(ma(2)*ns(2)*K2*f1*(ma(2)-1))/(1+K(2)*f1**m(2))-
     *(ma(3)*ns(3)*K(3)*f2*(ma(3)-1))/(1+K(3)*f2**ma(3))+
     *(ma(4)*ns(4)*K4*f2*(ma(4)-1))/(1+K(4)*f2**ma(4))
      S=0
      DO WHILE(.not.converged.and.ABS(dG(X)).GT.0)
      X=X-G(X)/dG(X)
      S=S+1
      converged=(abs(G(X)/dG(X)).LT.EPS)
      END DO
        x1=X
20    format(1x,3F9.4)
      write(20,*)f1,f2,x1
        end
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
5Â¥2010-07-11 14:53:50
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï
ÓàÔó³É(½ð±Ò+1):лл²ÎÓëÓ¦Öú£¡ 2010-07-11 16:27:44
ÏÂÃæÕâÁ½¸ö·½³Ì£¬ÊDz»Äܶ¨Òå³ÉÕâ¸öÑù×ӵġ£
        MS(ZM)=ZM**3-(1-beta(N))*ZM**2+(q(N)-2*beta(N)-3*beta(N)**2)*Z-
     *(q*beta(N)-beta(N)**2-beta(N)**3)
        MSD(ZM)=3*ZM**2-2*(1-beta(N))*ZM+(q(N)-2*beta(N)-3*beta(N)**2)
´ÓÄãµÄ´úÂëÉÏ¿´£¬ÕâÁ½¸ö·½³ÌÖÐµÄ beta(N), q(N) ɶµÄ¶¼ÊDZäÁ¿£¬ºÇºÇ¡­¡­

ÄãÕâô¸ã¸ã¿´£º

MS(ZM,betaN,qN)=ZM**3-(1-betaN)*ZM**2+(qN-2*betaN-3*betaN**2)*ZM-(qN*betaN-betaN**2-betaN**3)
.....
È»ºóµ÷ÓõÄʱºò£¬¼ÇµÃ¸ø ZM, betaN ºÍ qN ¸³Öµ¡£ÆäËüµÄº¯ÊýÓ¦¸ÃÀàËÆ¡£
6Â¥2010-07-11 15:46:58
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï
ÓàÔó³É(½ð±Ò+1):лл²ÎÓëÓ¦Öú£¡ 2010-07-11 16:27:52
ÔÚÌù´úÂëʱ£¬×îºÃÓà Discuz! ´úÂëÄÇ¿é¶ùÏÔʾµÄ #¡£ÕâÑù±ðÈËÄܹ»ºÜ·½±ãµØ¿´»ò¿½±´ÁË¡­¡­

ÁíÍ⣬Ҫ×Ô¼ºÎªËùÓеıäÁ¿¸³³õÖµ£¬±ÈÈç MS(ZM) ÖÐµÄ ZM ¾ÍûÓи³³õÖµ¡£ÁíÍ⣬MS(ZM) ÖÐÓõ½ beta(N)£¬ÕâÀïµÄ N ÓÖÊÇÄÄÒ»¸öֵĨ£¿

[ Last edited by snoopyzhao on 2010-7-11 at 16:21 ]
7Â¥2010-07-11 16:15:28
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

$     ´Ë³ÌÐòÊÇÔËÓÃpeng-robinson·½³Ì¼ÆËãÆøÌåµÄÒݶÈϵÊýfaita(1),faita(2)£¬ÊÇÀûÓÃÅ£¶Ùµü´ú·¨Çó½â
$     È»ºóͨ¹ýoriginÄâºÏµÃµ½ÕâЩÊý¾ÝN1,N2,m1,m2,K1,K2
$     Çó½âµÃµ½f1,f2,x1µÄ¹ý³Ì,Ê×ÏÈÀûÓÃÅ£¶Ùµü´ú·¨Çó½âIASTÀíÂ۵õ½x1, È»ºóÀûÓñí´ïʽÇó½âf1,f2
      PROGRAM MAIN
        LOGICAL converged
        integer S N SQ
        parameter(EPS=1.0E-06,R=83.14,epsilon=1-2**(0.5),sigma=1+2**(0.5)
     *)
        dimension faita(7),ns(4),ma(4),K(4),M(7),omiga(7),
     *Tc(7),Pc(7),b(7),beta(7),alpha(7),q(7),as(7),Z1(7)
      real alpha,beta,Tr,omiga,M,rho(7),q,a,b,SV,I(7),ZM,SSA,SSB,SSC,
     *SSD
        DATA  M=(/16.043,30.070,44.097, 58.123,72.150, 44.01, 28.01/);
     *        omiga=(/0.012,0.100,0.152,0.2,
     *0.252,0.224,0.048/);Tc=(/190.6,305.3,369.8,425.1,469.7,304.2,
     *132.9/);Pc=(/45.99,48.72,42.48,37.96,33.70,73.83,34.99/)
        READ(*,*)P1
$     ¼ÆËãpeng-robinson·½³ÌÖÐÐèÒªµÄһЩ²ÎÁ¿       
        DO 3 N=1,7
        P=P1/100
      SV=(1-(T/Tc(N))**(0.5))**2
      alpha(N)=(1+(0.37464+1.54226*omiga(N)-0.26992*omiga(N)**2)*SV)
      as(N)=((0.45724*R**2*Tc(N)**2)/Pc(N))*alpha(N)
      b(N)=0.07779*R*Tc(N)/Pc(N)
      beta(N)=b(N)*P/(R*T)
      q(N)=as(N)*alpha(N)*P/(R**2*T**2)
3     CONTINUE      
$     ÔËÓÃÅ£¶Ùµü´ú·¨¿ªÊ¼Çó½âѹËõÒò×ӵķ½³Ì       

      IF(N.LT.7.AND.N.GT.1)THEN
        ZM=1
        DO WHILE(.not.converged.and.ABS(MSD(ZM)).GT.0)
        SSA=MS(ZM,beta(N),q(N))
        SSB=MSD(ZM,beta(N),q(N))
        ZM=ZM-SSA/SSB
        converged=(abs(SSA)/(SSB))).LT.EPS)
      END DO
        ELSE
        END IF
        do 4 N=1,7
        Z1(N)=ZM
4     CONTINUE
$     Çó½âÃܶȺÍÒݶȠ  
      DO 5 N=1,7
        I(N)=(1/(sigma-epsilon))*log((Z1(N)+sigma*beta(N))/
     *(Z1(N)+epsilon*beta(N)))
        rho(N)=(P/(Z1(N)*R*T))*M(N)*EPS
      faita(N)=SVF(Z1(N),beta,q(N),I(N))
5    CONTINUE     
   
$     ÔËÓÃIASTÀíÂÛÒÔ¼°ÉÏÃæµÃµ½µÄÒݶÈϵÊý£¬¿ªÊ¼Çó½âIASTµÄ·½³Ì
        S=0
        X=1
        SSC=iast(X,P,y1,faita(1),faita(2))
        SSD=diast(X,P,y1,faita(1),faita(2))
      DO WHILE(.not.converged.and.ABS(SSD).GT.0)
      X=X-SSC/SSD
      S=S+1
      converged=(abs(SSC/SSD).LT.EPS)
      END DO
        x1=X
20    format(1x,3F9.4)
      write(20,*)f1,f2,x1
        end
      
       
       
        function MS(SA,SB,SC)
      MS(SA,SB,SC)=SA**3-(1-SB)*SA**2+(SC-2*SB-3*SB
     ***2)*SA-(SC*SB-SB**2-SB**3)
        end

       
        function MSD(SD,SE,SF)
      MSD(SD,SE,SF)=3*SD**2-2*(1-SE)*SD+(SF-2*SE-
     *3*SE**2)
        end
       
       
        function         iast(MADD,P,YY,SG1,SG2)
      dimension  ns(4),ma(4),K(4)
        DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
     *K=(/5.0,6.0,7.0,8.0/)
        f1=P*YY*SG1/MADD
      f2=P*(1-YY)*SG2/(1-MADD)
        iast(MADD,P,YY,SG1,SG2)=ns(1)*LOG(1+K(1)*f1**ma(1))+ns(2)*LOG
     *(1+K(2)*f1**ma(2))-ns(3)*LOG(1+K(3)*f2**m(3))+ns(4)*LOG(1+
     *K(4)*f2**ma(4))
      end
       
       
        function  diast(MAD,S,Y,SG3,SG4)
      dimension  ns(4),ma(4),K(4)
        DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
     *K=(/5.0,6.0,7.0,8.0/)
        f1=S*Y*SG3/MAD
      f2=S*(1-Y)*SG4/(1-MAD)
        diast(MAD,S,Y,SG3,SG4)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+
     *K(1)*f1**ma(1))+(ma(2)*ns(2)*K2*f1*(ma(2)-1))/(1+K(2)*f1**m(2))-
     *(ma(3)*ns(3)*K(3)*f2*(ma(3)-1))/(1+K(3)*f2**ma(3))+
     *(ma(4)*ns(4)*K4*f2*(ma(4)-1))/(1+K(4)*f2**ma(4))
        END

        FUNCTION SVF(SG5,SG6,SG7,SG8)
      SVF(SG5,SG6,SG7,SG8)=exp(SG5-1-log(SG5-SG6)-SG7*SG8)
        END
¸Ä³ÉÕâÑù£¬»¹ÊÇÓÐ9¸ö´íÎó°¡¡£¡£¡£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
8Â¥2010-07-11 17:34:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

-----------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(76) : Error: This global name is invalid in this context.   [MSD]
      MSD(SD,SE,SF)=3*SD**2-2*(1-SE)*SD+(SF-2*SE-
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(75) : Warning: The return value of this FUNCTION has not been defined.   [MSD]
function MSD(SD,SE,SF)
-----------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(83) : Error: Syntax error, found ';' when expecting one of: , )
DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
-------------------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(87) : Error: This global name is invalid in this context.   [IAST]
iast(MADD,P,YY,SG1,SG2)=ns(1)*LOG(1+K(1)*f1**ma(1))+ns(2)*LOG
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(81) : Warning: The return value of this FUNCTION has not been defined.   [IAST]
function  iast(MADD,P,YY,SG1,SG2)
------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(95) : Error: Syntax error, found ';' when expecting one of: , )
DATA  (ns=(/2.0,3.0,4.0,5.0/);ma=(/1.0,2.0,3.0,4.0/);
-------------------------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(99) : Error: This global name is invalid in this context.   [DIAST]
diast(MAD,S,Y,SG3,SG4)=(ma(1)*ns(1)*K(1)*f1*(ma(1)-1))/(1+
--------^
D:\vc++\MSDev98\MyProjects\22\bb.for(93) : Warning: The return value of this FUNCTION has not been defined.   [DIAST]
function  diast(MAD,S,Y,SG3,SG4)
------------------^
D:\vc++\MSDev98\MyProjects\22\bb.for(106) : Error: This global name is invalid in this context.   [SVF]
      SVF(SG5,SG6,SG7,SG8)=exp(SG5-1-log(SG5-SG6)-SG7*SG8)
------^
D:\vc++\MSDev98\MyProjects\22\bb.for(105) : Warning: The return value of this FUNCTION has not been defined.   [SVF]
FUNCTION SVF(SG5,SG6,SG7,SG8)
-----------------^
Error executing df.exe.

bb.obj - 9 error(s), 5 warning(s)
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
9Â¥2010-07-11 17:39:48
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

zyj8119

ľ³æ (ÖøÃûдÊÖ)

beta(N)ºÍq(N)±¾À´¾ÍÊǼÆËãµÃµ½µÄÊý×éÊýÖµ°¡£¬Ôõô¸ø³õֵĨ£¬Ç°ÃæÒѾ­ËãÁ˰¡¡£
ºÃºÃѧϰ£¬ÌìÌìÏòÉÏ¡£
10Â¥2010-07-11 17:40:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ zyj8119 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ÄϾ©´óѧ»¯Ñ§µ÷¼Á +9 ¾°Ëæ·ç 2026-03-29 14/700 2026-03-29 21:22 by chixmc
[¿¼ÑÐ] 277¹òÇóµ÷¼Á +6 1915668 2026-03-27 10/500 2026-03-29 16:03 by ÍõÁÁ_´óÁ¬Ò½¿Æ´ó
[¿¼ÑÐ] 298Çóµ÷¼Á +3 ÖÖÊ¥´Í 2026-03-29 3/150 2026-03-29 12:06 by longlotian
[¿¼ÑÐ] 086000ÉúÎïÓëÒ½Ò©µ÷¼Á +5 Feisty¡£ 2026-03-28 9/450 2026-03-29 12:02 by longlotian
[¿¼ÑÐ] 279Çóµ÷¼Á +4 µûÎèÇáÈÆ 2026-03-29 4/200 2026-03-29 09:45 by laoshidan
[¿¼ÑÐ] µ÷¼ÁÇóԺУÕÐÊÕ +6 º×¾¨¸ë 2026-03-28 6/300 2026-03-29 08:15 by fmesaito
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª±±µçÁ¦´óѧÄܶ¯×¨Ë¶£¬293£¬Çóµ÷¼Á +3 15537177284 2026-03-23 5/250 2026-03-28 16:11 by xxxsssccc
[¿¼ÑÐ] 081200-314 +3 LILIQQ 2026-03-27 4/200 2026-03-28 09:41 by ±£»¤µØÇòÄãÎÒ×öÆ
[¿¼ÑÐ] 085405 ¿¼µÄ11408Çó¸÷λÀÏʦ´ø×ß +3 Qiuѧing 2026-03-28 3/150 2026-03-28 09:19 by ÀֺǺǵÄ×·ÃÎÈË
[¿¼ÑÐ] ÕÅ·¼Ãú-Öйúũҵ´óѧ-»·¾³¹¤³Ìר˶-298 +4 ÊÖ»úÓû§ 2026-03-26 4/200 2026-03-28 07:17 by mmm just
[¿¼ÑÐ] ¿¼Ñе÷¼Á +4 Sanmu-124 2026-03-26 4/200 2026-03-27 17:49 by kiokin
[¿¼ÑÐ] 308Çóµ÷¼Á +7 īīĮ 2026-03-25 7/350 2026-03-27 14:47 by ¿ñìÅÂóµ±µ±
[¿¼ÑÐ] Ò»Ö¾Ô¸Ö£´ó085600£¬310·ÖÇóµ÷¼Á +5 Àîäì¿É 2026-03-26 5/250 2026-03-27 11:14 by ²»³Ôô~µÄ؈
[ÂÛÎÄͶ¸å] Journal of Mechanical Science and Technology +3 Russ_ss 2026-03-25 5/250 2026-03-27 10:49 by ½С¹û»­´ó±ý
[¿¼ÑÐ] 336²ÄÁÏÇóµ÷¼Á +7 ³ÂäÞÓ¨ 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[¿¼ÑÐ] ÉúÎïѧ 296 Çóµ÷¼Á +4 ¶ä¶ä- 2026-03-26 6/300 2026-03-26 19:01 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] 334·Ö Ò»Ö¾Ô¸ÎäÀí-080500 ²ÄÁÏÇóµ÷¼Á +4 ÀîÀî²»·þÊä 2026-03-25 4/200 2026-03-25 21:26 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 302Çóµ÷¼Á +4 ½õÒÂÎÀÌÙ½· 2026-03-25 4/200 2026-03-25 16:29 by ¹¦·ò·è¿ñ
[Óлú½»Á÷] ÓлúºÏ³ÉÇóÖú 20+3 FENGSHUJEI 2026-03-23 5/250 2026-03-24 19:31 by 88817753
[¿¼ÑÐ] 292Çóµ÷¼Á +4 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-24 4/200 2026-03-24 16:41 by peike
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û