24小时热门版块排行榜    

查看: 950  |  回复: 0

gml123456

新虫 (小有名气)

[求助] 请教各位懂Fortran的大侠!!!!!!!!!!

本人在做铁水脱硫过程的数学模型的程序设计,使用的是Fortran语言,vs2010和Intel Fortran Composer XE 2011,在调试过程中出现警告
警告        4        warning #13380 Compiler configuration problem encountered.  Compiler cannot load imf dispatching library.        D:\软件安装\My Project\Console2\Console2\Source1.f901        。本人初学,哪位大侠知道是怎么回事?不胜感激!!!
求帮助!
源代码如下:
!  主程序      
!      将原来的计算粉剂停留时间中的0.815改为0.45再改为0.37,Ps=2200
       external f
       external ff
         external taofnf
         integer  taofnn,taofnm,TN,TN1
       dimension y(1),d(1),z(1,3600),b(1),zz(1,3600)
       double precision y,d,z,t,h,b,zz
       DIMENSION TAOFNY(1),TAOFND(1),TAOFNZ(1,150*2),TAOFNB(1)
       double precision taoFNy,taoFNd,taoFNz,taoFNh,taoFNb,taoFNt    !双精度语句
      real a,A0,bei,Ip,Tao,Yi,Ps,Pm,Pz,WD,L,dm,Ws0,Wm,FeO0,CaO0,MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00,QLIU,ZT
      common a,a0,bei,Ip,Tao,Yi,Ps,Pm,Pz,WD,L,dm,Ws0,Wm,FeO0,CaO0, MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00, ZT
      common /Q1/QLIU
      open(unit=1,file='cSjladle.DAT',access='sequential',form='formatted')
      read(1,100)  a,$a
      read(1,100)  A0,$a
      read(1,110)  Ip,$a
      read(1,100)  Yi,$a
      read(1,100)  Ps,$a
      read(1,100)  Pm,$a
      read(1,100)  Pz,$a
      read(1,100)  wd,$a
      read(1,100)  L,$a
      read(1,200)  dm,$a
      read(1,300)  Ws0,$a
      read(1,300)  Wm,$a
      read(1,400)  FeO0,$a
      read(1,400)  CaO0,$a
      read(1,400)  MgO0,$a
      read(1,400)  SiO20,$a
      read(1,400)  Al2O30,$a
      read(1,400)  CaOp,$a
      read(1,400)  CaC2p,$a
      read(1,400)  Ecs,$a
      read(1,400)  Esis,$a
      read(1,400)  Eps,$a
      read(1,400)  Emns,$a
      read(1,500)  C,$a
      read(1,500)  Si,$a
      read(1,110)  P,$a
      read(1,110)  Mn,$a
      read(1,600)  S0,$a
      read(1,600)  S00,$a
           read(1,400)  qliu,$a
        read(1,700)  TN,$a
      read(1,700)  TN1,$a
100  format(F6.1,A)          !格式说明语句
110  format(F6.3,A )
200  FORMAT(F10.8,A)
300  format(F8.1,A)
400  format(F7.4,A)
500  format(F4.2,A)
600  format(F7.5,A)
700  format(I4,A)     


!         调用求粉剂停留时间子程序
        TAOFNT=0
        TAOFNY(1)=0
        TAOFNH=0.03
        TAOFNH=0.005
        TAOFNM=1
        TAOFNN=142
!        TAOFNN=257

        CALL grktTFN(TAOFNt,TAOFNY,TAOFNm,TAOFNh,TAOFNn,TAOFNz,TAOFNf,TAOFNd,TAOFNb)
      
               open(unit=3,file='mcFENtao.dat')
             do 1000 i=1,TAOFNn
                       TAOFNt=(i-1)*TAOFNh
                       write(3,2000) TAOFNT,(TAOFNz(j,i),j=1,taoFNm)
         
1000       continue
2000       format(F7.3,E18.6)
  
            tao=taoFNz(1,taoFNn)
!   调用喷粉脱硫子程序
       t=0.0
       y(1)=S00
       h=1
       m=1
       n=tn+1
       n1=tn1+1
         zt=h*n

       call grkt1(t,y,m,h,n,z,f,d,b)
       write(*,*)
       open(unit=2,file='ladlecac2csjladle01.DAT')
       do 10 i=1,n
              t=(i-1)*h+0.0
              write(2,50)t,(z(j,i),j=1,m)
  10   continue
        WRITE(*,*) Z(1,N)
!   调用喷粉之后吹气脱硫子程序  
       t=(n-1)*h
       y(1)=z(1,n)
       m1=1
      
       call grkt2(t,y,m1,h,n1,zz,ff,d,b)
       write(*,*)
       open(unit=2,file='ladlecac2csjladle01.dat')
       do 20 i=2,n1
              t=(i-2)*h+h*n
              write(2,50)t,(zz(j,i),j=1,m1)
  20   continue

! *****************************************************************  
  50  format(f7.2,e18.10,e18.10)
       close(1)
       close(2)
         close(3)
       end
  

!     粉剂停留时间子程序
         subroutine  grktTFN(TAOFNt,TAOFNY,TAOFNm,TAOFNh,&
                        TAOFNn,TAOFNz,TAOFNf,TAOFNd,TAOFNb)
       integer     TAOFNm, TAOFNn
       dimension   TAOFNy(TAOFNm),TAOFNd(TAOFNm),TAOFNz(TAOFNm,TAOFNn),A(4),TAOFNb(TAOFNm)
       double precision TAOFNy,TAOFNd,TAOFNz,a,TAOFNb,TAOFNt,TAOFNh,x,tt
       a(1)=TAOFNh/2.0
       a(2)=a(1)
       a(3)=TAOFNh
       a(4)=TAOFNh
       do 5 i=1,TAOFNm
5     TAOFNz(i,1)=TAOFNy(i)
       x=TAOFNt
       do 100 j=2,TAOFNn
          call TAOFNF(TAOFNt,TAOFNm,TAOFNd)
          do 10 i=1,TAOFNm
10       TAOFNb(i)=TAOFNy(i)
          do 30 k=1,3
              do 20 i=1,TAOFNm
                  TAOFNy(i)=TAOFNz(i,j-1)+a(k)*TAOFNd(i)
                  TAOFNb(i)=TAOFNb(i)+a(k+1)*TAOFNd(i)/3.0
20           continue
       tt=TAOFNt+a(k)
       call TAOFNf(tt,TAOFNm,TAOFNd)
30    continue
       do 40 i=1,TAOFNm
40    TAOFNy(i)=TAOFNb(i)+TAOFNh*TAOFNd(i)/6.0
       do 50 i=1,TAOFNm
  50   TAOFNz(i,j)=TAOFNy(i)
       TAOFNt=TAOFNt+TAOFNh
  100  continue
       TAOFNt=x
       return
       end



!    喷粉脱硫子程序
       subroutine  grkt1(t,y,m,h,n,z,f,d,b)
       dimension y(m),d(m),z(m,n),a(4),b(m)
       double precision y,d,z,a,b,t,h,x,tt
       a(1)=h/2.0
       a(2)=a(1)
       a(3)=h
       a(4)=h
       do 5 i=1,m
5     z(i,1)=y(i)
       x=t
       do 100 j=2,n
          call  f(t,y,m,d)
          do 10 i=1,m
10       b(i)=y(i)
          do 30 k=1,3
              do 20 i=1,m
                  y(i)=z(i,j-1)+a(k)*d(i)
                  b(i)=b(i)+a(k+1)*d(i)/3.0
                 
20           continue
       tt=t+a(k)
     
       call f(tt,y,m,d)
30    continue
       do 40 i=1,m
40    y(i)=b(i)+h*d(i)/6.0

       do 50 i=1,m
       z(i,j)=y(i)
50    continue  
       t=t+h
100   continue
       t=x
      return
       end
      

!     计算停留时间子程序的外部函数
      subroutine TAOFNf(taoFNt,taoFNm,taoFNd)
      COMMON /Q1/QLIU
      integer    taoFNm
      dimension  taoFNd(taoFNm)
      double precision taoFNd,taoFNt
             REAL QLIU
      taoFNd(1)=1.0/(4.945*(3093*QLIU/4)**0.0539563*(0.0049952-0.03896*(taoFNt+0.37)+0.12842*(taoFNt+0.37)**2-0.035039*(taoFNt+0.37)**3+0.001948*(taoFNt+0.37)**4)**0.957432)
!      鱼雷罐车参数
      taoFNd(1)=1.0/(4.945*(3093*QLIU)**0.0539563*(0.0049952-0.0824*(taoFNt+0.9)+0.5744*(taoFNt+0.9)**2-0.3314*(taoFNt+0.9)**3+0.03897*(taoFNt+0.9)**4)**0.957432)
      
      return
      end

!    计算喷粉脱硫子程序的外部函数
      subroutine f(t,y,m,d)
      dimension  y(m),d(m)
      double precision y,d,t,u,Dk,w,Re,Sc,Pe,Sh,Km,u2,Dk1,Re1,Sc1,Sh1,Km1,Q,Se,w1
        double precision XX,XXX,XXXX,VC,DP,BEILI
        DOUBLE PRECISION UUS,DDS,WWS,RES,SCS,SHS,KMS
      REAL a,A0,bei,Ip,Tao,Yi,Ps,Pm,Pz,WD,L,dm,Ws0,Wm,FeO0,CaO0,MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00,ZT,Qliu ,tm ,gqm
      DOUBLE PRECISION  Xfeo,Xsialp,Xcamnmg,Afeo,Rjd ,Ls
      
      COMMON a,a0,bei,Ip,Tao,Yi,Ps,Pm,Pz,WD,L,dm,Ws0,Wm,FeO0,CaO0,MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00,ZT
          COMMON /Q1/QLIU
! *********************************************************************
      write(*,*) yi,mn,s00,ecs,WD
! ***************************************************************
      w1=0.51967*(QLIU)**(1.0/3.0)
      Q=Ecs*C+Emns*Mn+Esis*Si+Eps*P
      Se=0.00000100
        tm=1.22*167.2*(76.12*QLIU)**(-0.22721)
        tm=167.2*(76.12*QLIU)**(-0.22721)
        tm=60.7*(76.128*qliu)**(-0.52527)

!     计算传质系数
          u=0.30805*1.0E-003*EXP(5284.6079/(wd-0.014*t))
          Dk=4.33*1.0E-008*EXP(-4281.9/(wd-0.014*t))
          w=(Pm-Ps)*9.8*dm**2/(18.0*u)
          Re=Pm*w*dm/u
          Sc=u/(Pm*Dk)
          Pe=Sc*Re
          Sh=(4.0+1.21*Pe**(2.0/3.0))**(1.0/2.0)
          Km=Sh*Dk/dm
          u2=8.0*1.0E-009*EXP(258208.6/(8.314*(wd-0.014*t)))
          Dk1=1.4*1.0E-004*EXP(-205020.0/(8.314*(wd-0.014*t)))
          Re1=Pz*w1*L/u2
          Sc1=u2/(Pz*Dk1)
          Sh1=0.664*Sc1**(1.0/3.0)*Re1**(1.0/2.0)
          Km1=Sh1*Dk1/L
                gqm=Ip/(0.62144*qliu)
        BEI=(1.2)**(gqm-10.638)*0.01*7.75858*(Ip/(0.62144*qliu))**0.40928
        BEI=0.01*7.75858*(Ip/(0.62144*qliu))**0.40928
        VC=1.2732*(QLIU+Ip/2200)/(2*0.042**2)
        VC=1.2732*(QLIU+Ip/2200)/(0.019**2)
        DP=80.207/VC**2
        BEILI=100-(-1.65745+2591.3*DP-23765.66*DP**2+78006.6*DP**3)
        BEI=0.01*(73.88724-0.39327*BEILI)
        BEI=(1.05)**(gqm-10.638)*0.01*(73.88724-0.39327*BEILI)

!          求顶渣脱硫各参数
      
      UUS=8.0*1.0E-009*EXP(258208.6/(8.314*(WD-0.014*t)))
      DDS=1.4*1.0E-004*EXP(-205020.0/(8.314*(WD-0.014*t)))
      WWS=0.51967*(QLIU)**(1.0/3.0)
      ReS=Pz*WWS*L/UUS
      ScS=UUS/(Pz*DDS)
      ShS=0.664*ScS**(1.0/3.0)*ReS**(1.0/2.0)
      KmS=ShS*DDS/L

!      求硫的分配系数与时间的关系
      Xfeo=(FeO0*Ws0/72.0)/(FeO0*Ws0/72.0+SiO20*ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40.0+(CaO0*Ws0+Ip*t*(CaOp+CaC2p*7.0/8.0))/56.0)
      XsiAlP=(SiO20*Ws0/60.0+AL2O30*Ws0/102.0)/(FeO0*Ws0/72.0+SiO20*Ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40.0+(CaO0*Ws0+Ip*t*(CaOp+CaC2p*7.0/8.0))/56.0)
      Xcamnmg=(MgO0*Ws0/40.0+(CaO0*Ws0+Ip*t*(CaOp+CaC2p*7.0/8.0))/56.0)/(FeO0*Ws0/72.0+SiO20*ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40.0+(CaO0*Ws0+Ip*t*(CaOp+CaC2p*7.0/8.0))/56.0)
      Afeo=0.14935*Xfeo**0.936719*XsiALP**(-2.83381)*Xcamnmg**0.114412
      Rjd=(CaO0*Ws0+Ip*t*(CaOp+CaC2p*7.0/8.0)+0.69*MgO0*Ws0)/(0.93*SiO20*Ws0+0.18*Al2O30*Ws0)
      Ls=10**(Q-6.929+1.39*Rjd+5384.0/(wd-0.0140*t))/(Afeo)
      xx=-((a*a0*Pz)/Wm)*KmS*Ls
      xxx=xx*(y(1)*EXP(-tm/ZT)-((S0*Ws0+(S00-Y(1)*EXP(-tm/ZT))*Wm)/(Ws0+Ip*Yi*t))/Ls)
      D(1)=-6*bei*Ip*Tao*Pm*Km*(Y(1)*EXP(-tm/ZT)-Se)/(dm*Wm*Ps)-a*A0*Pz*Km1*Ls*(Y(1)*EXP(-tm/ZT)-((S0*Ws0+(S00-Y(1)*EXP(-tm/ZT))*Wm)/(Ws0+Ip*Yi*t))/Ls)/Wm
      XXXX=-6*bei*Ip*Tao*Pm*Km*(Y(1)*EXP(-tm/ZT)-Se)/(dm*Wm*Ps)
     write(*,*) d(1),ls
      return
      end
      
!   吹气脱硫子程序        ?     
      subroutine  grkt2(t,y,m1,h,n1,zz,ff,d,b)
       dimension y(m1),d(m1),zz(m1,n1),a(4),b(m1)
       double precision y,d,zz,a,b,t,h,x,tt
       a(1)=h/2.0
       a(2)=a(1)
       a(3)=h
       a(4)=h
       do 5 i=1,m1
5     zz(i,1)=y(i)
       x=t
       do 100 j=2,n1
          call  ff(t,y,m1,d)
          do 10 i=1,m1
10       b(i)=y(i)
          do 30 k=1,3
              do 20 i=1,m1
                  y(i)=zz(i,j-1)+a(k)*d(i)
                  b(i)=b(i)+a(k+1)*d(i)/3.0
                 
20           continue
       tt=t+a(k)
     
       call ff(tt,y,m1,d)
30    continue
       do 40 i=1,m1
40    y(i)=b(i)+h*d(i)/6.0

       do 50 i=1,m1
       zz(i,j)=y(i)
50    continue  
       t=t+h
100   continue
       t=x
      return
       end
      
!  计算吹气脱硫子程序的外部函数
      subroutine ff(t,y,m1,d)
      dimension  y(m1),d(m1)
      double precision y,d,t,u2,u3,Dk1,Re1,Sc1,Sh1,Km1,Q,w1
      REAL a,A0,bei,Ip,Tao,Yi,Ps,Pm,Pz,wd,L,dm,Ws0,Wm,FeO0,CaO0,MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00,ZT,QLIU,tm
      DOUBLE PRECISION  Xfeo,Xsialp,Xcamnmg,Afeo,Rjd ,Ls,xx
      
      common a,a0,bei,Ip,Tao,Yi,Ps,Pm,Pz,WD,L,dm,Ws0,Wm,FeO0,CaO0,MgO0,SiO20,Al2O30,CaOp,CaC2p,Ecs,Esis,Eps,Emns,C,Si,P,Mn,S0,S00,ZT
      COMMON /Q1/QLIU
! *********************************************************************
      write(*,*) yi,mn,s00,ecs,wd
! ***************************************************************
      w1=0.51967*(QLIU)**(1.0/3.0)
      Q=Ecs*C+Emns*Mn+Esis*Si+Eps*P
        tm=167.2*(76.128*QLIU)**(-0.22721)
!   求顶渣脱硫参数
          u2=8.0*1.0E-009*EXP(258208.6/(8.314*(wd-0.014*t)))
          Dk1=1.4*1.0E-004*EXP(-205020.0/(8.314*(wd-0.014*t)))
          u3=0.1*u2
          Re1=Pz*w1*L/u3
          Sc1=u3/(Pz*Dk1)
          Sh1=0.664*Sc1**(1.0/3.0)*Re1**(1.0/2.0)
          Km1=Sh1*Dk1/L

      
!   求硫的分配系数与时间的关系      
      write(*,*) km1
      Xfeo=(FeO0*Ws0/72.0)/(FeO0*Ws0/72.0+SiO20*ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40+(CaO0*Ws0+Ip*ZT*(CaOp+CaC2p*7/8))/56.0)
      XsiAlP=(SiO20*Ws0/60.0+AL2O30*Ws0/102.0)/(FeO0*Ws0/72.0+SiO20*Ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40.0+(CaO0*Ws0+Ip*ZT*(CaOp+CaC2p*7.0/8.0))/56.0)
      Xcamnmg=(MgO0*Ws0/40.0+(CaO0*Ws0+Ip*ZT*(CaOp+CaC2p*7.0/8.0))/56.0)/(FeO0*Ws0/72.0+SiO20*ws0/60.0+AL2O30*WS0/102.0+MgO0*Ws0/40.0+(CaO0*Ws0+Ip*ZT*(CaOp+CaC2p*7.0/8.0))/56.0)
      Afeo=0.14935*Xfeo**0.936719*XsiALP**(-2.83381)*Xcamnmg**0.114412
      Rjd=(CaO0*Ws0+Ip*ZT*(CaOp+CaC2p*7.0/8.0)+0.69*MgO0*Ws0)/(0.93*SiO20*Ws0+0.18*Al2O30*Ws0)
      Ls=10**(Q-6.929+1.39*Rjd+5384.0/(wd-0.0140*t))/(Afeo)
      xx=-((a*a0*Pz)/Wm)*Km1*Ls
      d(1)=xx*(y(1)*EXP(-tm/ZT)-((S0*Ws0+(S00-Y(1)*EXP(-tm/ZT))*Wm)/(Ws0+Ip*Yi*t))/Ls)
     write(*,*) d(1),Rjd,LS
      end
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 gml123456 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +9 kulium 2026-08-21 10/500 2026-08-21 19:19 by 诗眼倦天涯
[基金申请] 科研孤儿太难了 +16 我4大白菜 2026-08-20 17/850 2026-08-21 19:07 by sakuraai
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见