1、11Fortran模块第十一章 Fortran模块目的:介绍 Aspen Plus中Fortran模块的用法。(1)Fortran模块 用户可以写Aspen Plus执行Fortran模块 Aspen Plus能够解释简单的Fortran,并且不需要编译 若编译较复杂Fortran代码,在运行Aspen Plus引擎的机器上必须有Fortran编译器 必须通过直接检查由Fortran模块修改的变量值来查看一个Fortran模块的执行结果 位于/Data/Flowsheeting Options/Fortran下 在Aspen Plus新版本中Fortran模块已改为Caculator模块,位于
2、Data/Flowsheeting Options/Calculator下,内容基本不变。(2)Fortran模块举例用Fortran模块设置Heater模块压降。换热器压降与换热器体积流量的平方成正比。 访问那一个流程变量? 物流REAC-OUT的体积流量 经过模块COOL的压降 什么时候执行Fortran模块?在COOL模块之前 要读取那一个变量,写入那一个变量? 读取体积流量 写入压降(3)Fortran模块的用法 前馈控制(根据上游物流计算的值设置流程输入) 调用外部子程序 从外部文件输入或输出到外部文件 写到控制面板、历史文件或报告文件上 定制报告(4)Fortran模块应用步骤a)
3、访问在Fortran内使用的流程变量 必须标识所有读取或写入的流程变量(Fortran Input Define页)b)编写Fortran 为达到预期结果,要编写非执行(COMMON、EQUIVALENCE等)Fortran (Fortran Input Declarations页)和可执行Fortran(Fortran Input Fortran页)c)规定Fortran模块在执行顺序中的位置(Fortran Input Sequence页) 直接规定,或 用读写变量规定 (5)注意a)只有输入到流程中的参量才可改写b)书写内嵌Fortran规则如下: Fortran代码必须从第七列以后开始
4、写 注释行必须在第一列中用“C”或“;” 第二列是空的c)变量名不能以IZ或ZZ开头d)在Fortran Input Sequence页上,规定Fortran模块在哪执行的首选方法是列出读写变量e)当使用Fortran WRITE语句时,可以用预先定义的单元号NTERM向控制面板写入。例如,write(NTERM,*) Feed Flowrate = ,flow(6)练习目的:用Fortran模块维持反应器进料甲烷与水的比。在甲烷转化装置中,甲烷和水反应生成氢气,生成一氧化碳副产品。发生的反应如下:CH4+H2O = 3H2+CO转化器进料含有纯甲烷和水,在进转化器之前混合加热。甲烷转化率为9
5、9.5%,进料中甲烷对水的摩尔比为1:4。创建如下面所示图中的流程。建立灵敏度模块,并绘制图表,显示反应器热负荷随进料的甲烷流率变化情况,甲烷流率从100变到500 lbmol/hr。注意:对于每一个灵敏度分析工况,进料中甲烷和水的比必须维持恒定(提示:通过Fortran模块完成)采用Peng-Robinson物性方法。完成后另存为文件名:Fortran.BKP。Temp = 150 FPress = 900 psi 具体过程如下: 画出流程图,如下所示。其中MIX采用/Heat Exchangers/Heater模块,REFORMER采用/Reactors/RStoic模块。 输入组分CH4
6、、H2O、H2、CO。 采用PENG-ROB物性方法。 查看二元交互参数。 指定CH4物流。温度150 F,压力900 psi,CH4流率初值为100 lbmol/hr。 指定H2O物流。温度70 F,压力15 psi,H2O流率初值为400 lbmol/hr。 指定MIX模块。温度1100 F,压力850 psi。 指定REFORMER模块。温度1450 F,压力20 psi。 设定REFORMER模块中的Reactions选项。点击New.添加新反应。点击New.按扭添加新反应 定义反应CH4+H2O = 3H2+CO(注意反应物的计量系数为负值)和CH4的转化率0.995。 定义完成后如
7、下所示。 进入/Data/Flowsheeting Options/Fortran选项。点击New.添加新的Fortran模块。点击New.按扭添加新Fortran模块 输入Fortran模块的ID。 点击New.定义一个新的Fortran变量。点击New.按扭定义新Fortran变量 输入变量名字CH4,代表CH4物流中CH4的流率。 定义CH4变量。选Streams(物流)类、Mole-Flow类型、CH4物流、CH4组分。 定义完成后如下所示。点击New.定义第二个Fortran变量。点击New.按扭定义第二个Fortran变量 输入变量名字H2O。定义H2O变量。选Streams(物流
8、)类、Mole-Flow类型、H2O物流、H2O组分。 定义完成后如下。 指定Fortran选项。输入H2O = 4 * CH4,注意从第7列以后输入(Fortran语言规定)。第七列以后 定义Sequence选项。选Use read/write variables(使用读/写变量),Read variables和Write variables分别为CH4和H2O。 进入/Data/Model Analysis Tools/Sensitivity选项。点击New.定义新的灵敏度分析。点击New.按扭定义新的灵敏度分析 输入刚定义的灵敏度分析的ID。 点击New.添加新的变量。点击New.按扭定
9、义新的变量 输入变量名字CH4,代表CH4物流中CH4的流率。 定义CH4变量。选Streams(物流)类、Mole-Flow类型、CH4物流、CH4组分。 同样定义H2O变量。选Streams(物流)类、Mole-Flow类型、H2O物流、H2O组分。 定义DUTY变量。选Blocks(模块)类、Block-Var类型、QCALC变量。 至此,定义了三个变量CH4、H2O和DUTY,完成后如下。 设定Vary选项。选Mole-Flow类型、CH4物流、CH4组分,CH4变化范围100-500(lbmol/hr),步长100(lbmol/hr)。 设定Tabulate(列表)选项。选H2O和DUTY制表。 打开控制面板,运行如下。 查看灵敏度分析的结果如下。可以看出CH4流率从100变至500 lbmol/hr,H2O和DUTY的变化情况。 下面将上面得到的结果作图。选中CH4流率一列,点击下拉菜单Plot/X-Axis Variable。 选中DUTY一列,点击下拉菜单Plot/Y-Axis Variable。 点击下拉菜单Plot/Display Plot。 作出DUTYCH4图如下。它反应了加热器的热负荷DUTY随CH4流率的变化情况。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1