以梦为马,不负韶华

搜索
查看: 8717|回复: 1
收起左侧

fortran嵌入aspen 出现问题求解

[复制链接]
发表于 2014-4-14 21:59:24 显示全部楼层 |阅读模式
fortran嵌入aspen 出现问题求解    望各位马友帮忙

C$ #2 BY: PATNAIK DATE: 14-NOV-1998 INCLUDE COMMONS FOR RADFRAC/RATEFRAC
C$ #1 BY: ANAVI DATE:  1-JUL-1994 NEW FOR USER MODELS
C
C     User Kinetics Subroutine for RCSTR, RPLUG, RBATCH, PRES-RELIEF,
C     RADFRAC and RATEFRAC (USER type Reactions)
C
      SUBROUTINE kin    (SOUT,   NSUBS,  IDXSUB,   ITYPE,  NINT,
     2                   INT,    NREAL,  REAL,     IDS,    NPO,
     3                   NBOPST, NIWORK, IWORK,    NWORK,  WORK,
     4                   NC,     NR,     STOIC,    RATES,  FLUXM,
     5                   FLUXS,  XCURR,  NTCAT,    RATCAT, NTSSAT,
     6                   RATSSA, KCALL,  KFAIL,    KFLASH, NCOMP,
     7                   IDX,    Y,      X,        X1,     X2,
     8                   NRALL,  RATALL, NUSERV,   USERV,  NINTR,
     9                   INTR,   NREALR, REALR,    NIWR,   IWR,
     *                   NWR,    WR,     NRL,      RATEL,  NRV,
     1                   RATEV)
C
      IMPLICIT NONE
C
C     DECLARE VARIABLES USED IN DIMENSIONING
C
      INTEGER NSUBS, NINT,  NPO,   NIWORK,NWORK,
     +        NC,    NR,    NTCAT, NTSSAT,NCOMP,
     +        NRALL, NUSERV,NINTR, NREALR,NIWR,
     +        NWR
C
#include "ppexec_user.cmn"
      EQUIVALENCE (RMISS, USER_RUMISS)
      EQUIVALENCE (IMISS, USER_IUMISS)
C
C

#include "rplg_rplugi.cmn"
#include "rplg_rplugr.cmn"
      EQUIVALENCE (XLEN, RPLUGR_UXLONG)
      EQUIVALENCE (DIAM, RPLUGR_UDIAM)
C


C
C     INITIALIZE RATES
C
#include "rxn_rprops.cmn"
      EQUIVALENCE (TEMP, RPROPS_UTEMP)
      EQUIVALENCE (PRES, RPROPS_UPRES)
      EQUIVALENCE (VFRAC, RPROPS_UVFRAC)
      EQUIVALENCE (BETA, RPROPS_UBETA)
      EQUIVALENCE (VVAP, RPROPS_UVVAP)
      EQUIVALENCE (VLIQ, RPROPS_UVLIQ)
      EQUIVALENCE (VLIQS, RPROPS_UVLIQS)




C     DECLARE ARGUMENTS
C
      INTEGER IDXSUB(NSUBS),ITYPE(NSUBS), INT(NINT),
     +        IDS(2),NBOPST(6,NPO),IWORK(NIWORK),
     +        IDX(NCOMP),   INTR(NINTR),  IWR(NIWR),
     +        NREAL, KCALL, KFAIL, KFLASH,NRL,
     +        NRV,   I
      REAL*8 SOUT(1),      WORK(NWORK),
     +       STOIC(NC,NSUBS,NR),  RATES(ncomp),
     +       FLUXM(1),     FLUXS(1),     RATCAT(NTCAT),
     +       RATSSA(NTSSAT),      Y(NCOMP),
     +       X(NCOMP),     X1(NCOMP),    X2(NCOMP)
      REAL*8 RATALL(NRALL),USERV(NUSERV),
     +       REALR(NREALR),WR(NWR),      RATEL(1),
     +       RATEV(1),     XCURR
C
C     DECLARE LOCAL VARIABLES
C
      INTEGER IMISS
      REAL*8 REAL(NREAL),  RMISS, XLEN,  DIAM,  TEMP,
     +       PRES,  VFRAC, BETA,  VVAP,  VLIQ,
     +       VLIQS


        integer  kdiag, kphi, ker, n
      real*8  phi(ncomp), dphi(ncomp), t, p



c      Variables
      real*8 k1, k2, k3,
c               
     +       f1,   f2,    f3, r1

c             1     2     3        该序号为component列表中各物质的序列号        
c             N2    H2   NH3
c         


      parameter (R=8.314)  
       
        kdiag=4
        t=temp
        p=pres
        kphi=1        !只计算逸度      
      n=ncomp     

      call ppmon_fugv (t, p, y, n, idx, nbopst, kdiag,
     +                 kphi, phi, dphi, ker)

      open(7,file='phi.txt')

          write(7,*)   phi(1), phi(2), phi(3)    !调用以上几种物质的逸度系数并写入该文件


         close(7)


C
C     BEGIN EXECUTABLE CODE

c     计算逸度
    f1=Pres*y(1)*phi(1)/100000
        f2=Pres*y(2)*phi(2)/100000
        f3=Pres*y(3)*phi(3)/100000
       


      open(7,file='initial.txt')

          write(7,*)   temp, pres, xlen, diam, nreal, real(1)

         close(7)

      open(7,file='another.txt')

          write(7,*)    f1, f2, f3


c      反应速率方程与活性校正系数

        k1=exp(-19.1214+9226.52/TEMP--4.2715*LOG(TEMP)+7.5576*10**(-4)*TEMP)
      k2=exp(-0.5679+11.004*TEMP-0.0009*LOG(TEMP)-5*10**(-7))
        k3=2.995*10**14*EXP(-(171420/R)*(1/TEMP-1/350.13))


       write(7,*)    k1, k2, k3
       close(7)

c       r1=real(1)*k1*KCO*(f2*f3**1.5-f7/(KP1*f3**0.5))
c        +/(1+KCO*f2+KCO2*f1)/(f3**0.5+f8*K12)*real(3)/xlen
        r1=k3*(k1*f1*f2**1.5/f3-k2*f3/f2**1.5)


c     计算各个组分反应速率
        rates(1)=-1*r1
        rates(2)=-3*r1
        rates(3)=2*r1
       



      open(7,file='rate2.txt')

          write(7,*)   rates(1), rates(2), rates(3)

          close(7)

          


        end


FW){89V5[CJS@OTACJS`{GV.jpg

评分

参与人数 1韶华币 +1 收起 理由
hanpingsiping + 1

查看全部评分

本帖被以下云收藏推荐:

发表于 2014-4-14 21:59:24 显示全部楼层
仔细按照报错的提示,修改fortran源程序就行了。是编程的问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-14 21:59:24 显示全部楼层
今天努力后能进行编译连接了  不过又有了新问题

<< Loading Simulation Engine 10:27:50 Tue Apr 15, 2014>>
->Processing input specifications ...
  *   WARNING IN THE "STREAM" PARAGRAPH WHICH BEGINS ON LINE 56
      STREAM NAME: FEED
      COMPONENT MOLE FLOWS OF SUBSTREAM: "MIXED"
      ARE NORMALIZED TO THE TOTAL MOLE FLOW VALUE.
警告的“流”段56行开始
流程名称:喂
组件摩尔SUBSTREAM流动:“混合”
归一化总摩尔流值吗
  Flowsheet Analysis :
COMPUTATION ORDER FOR THE FLOWSHEET:
R-1 H-1 R-2 H-2 R-3
->Calculations begin ...
   Block: R-1      Model: RPLUG
  *** SEVERE ERROR严重的错误
      FORTRAN DIVIDE BY ZERO ENCOUNTERED遇到. FORTRAN除以零
  *** SEVERE ERROR
      FORTRAN INVALID OPERATION ENCOUNTERED. FORTRAN遇到无效操作
  **  ERROR
      RPLUG EXITED BECAUSE INTEGRATION FAILED. INDEX = (-3)
      PROBABLE CAUSE IS INCORRECT KINETICS. CHECK RATE-CON
      PARAMETERS AND MOLAR VOLUME CALCULATIONS.

RPLUG退出,因为整合失败了。指数=(3)
可能的原因是不正确的动力学。检查RATE-CON
参数和摩尔体积计算。
  
  **  ERROR
      BLOCK R-1 IS NOT IN MASS BALANCE:
      MASS INLET FLOW = 0.71567908E+02, MASS OUTLET FLOW = 0.15440466E+02
      RELATIVE DIFFERENCE = 0.36350873E+01
      CHECK INTEGRATION TOLERANCE AND USER KINETICS
在质量平衡块R-1不是:
质量流量入口= 0.71567908 e + 02,大规模的出口流量= 0.15440466 e + 02
相对偏差= 0.36350873 e + 01
检查用户集成公差和动力学

   Block: H-1      Model: HEATER
  **  ERROR
      RPLUG EXITED BECAUSE INTEGRATION FAILED. INDEX = (-3)
      PROBABLE CAUSE IS INCORRECT KINETICS. CHECK RATE-CON
      PARAMETERS AND MOLAR VOLUME CALCULATIONS.
RPLUG退出,因为整合失败了。指数=(3)

可能的原因是不正确的动力学。检查RATE-CON
参数和摩尔体积计算。
  *** SEVERE ERROR
      

->Simulation calculations completed ...

模拟计算完成
  ***  Warning(s) were issued during Input Translation ***
  ***  Check the Run Status Results for more Information ***
警告(s)在输入翻译
检查运行状态的结果更多的信息


               ***  Summary of Simulation Errors  ***

                   Physical
                   Property         System        Simulation
  Terminal Errors      0               0               0
    Severe Errors      0               0             178
           Errors      0               0               4
         Warnings      0               0               0

能帮忙看看嘛
回复 支持 反对

使用道具 举报

发表于 2014-4-14 21:59:24 显示全部楼层
您好!请问是如何将aspen与fortran链接起来的?
回复 支持 反对

使用道具 举报

不想打字就选择快捷回复吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|以梦为马,不负韶华

GMT+8, 2025-4-5 07:00

Powered by 以梦为马,不负韶华

© 2024-2099 Meng.Horse

快速回复 返回顶部 返回列表