| 查看: 875 | 回复: 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 |
» 猜你喜欢
Materials Today Chemistry审稿周期
已经有4人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有3人回复
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
找到一些相关的精华帖子,希望有用哦~
在Fortran程序中,自定义打印数据列数的三种方法
已经有8人回复
想学习fortran用于cfd模拟计算,到底是学习使用固定格式,还是自由格式?
已经有14人回复
能带反转,有懂的大侠过来解惑解惑!
已经有10人回复
急:求用Fortran或者其他语言编写一个程序,处理下面的数据!!!!!!!!!!
已经有37人回复
编辑来信,不懂,求大侠帮忙翻译!
已经有8人回复
高分求将我的MATLAB程序改写为FORTRAN程序(1000BB)
已经有13人回复
很简单的Fortran赋值出错啦,求大神们帮忙找bug...
已经有11人回复
fortran编译中$符号的使用
已经有4人回复
fortran编程过程出错了 麻烦给解决一下 谢谢!!
已经有5人回复
Visual Fortran常用数值算法集 何光渝
已经有121人回复
求助!fortran编程实现从txt中一一对应读入数据
已经有6人回复
求大家帮帮忙,有fortran的主程序和几个模块,如何让他们运行,急!!!
已经有5人回复
请教 fortran 运行错误的原因
已经有13人回复
fortran中到底该如何比较两个实数是否相等
已经有8人回复
我编的Simpson积分法fortran程序给不出结果,大侠们看看哪里出了问题?
已经有4人回复
如何改变fortran的浮点精度
已经有28人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
写了一个fortran90的小程序,编译通不过,请大侠帮忙
已经有59人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【求助】同样一个问题用matlab和fortran编程计算,结果相差比较大,不知道为什么
已经有4人回复
科研从小木虫开始,人人为我,我为人人












回复此楼
点击这里搜索更多相关资源