aspenfortran子程序的编译、连接、运行

合集下载

FORTRAN子程序ppt课件

FORTRAN子程序ppt课件

算法:弦截法的基本思路与“二分法” f(x) 相似,它是取f(x1)与f(x2)连线与x轴的
f(x2)
交点x,从(x1,x)与(x,x2)两个区间中舍
去一个,舍取的方法为: 1、如果f(x)与f(x1)异号,则用x作为新 的x2,这就舍去了原来的(x,x2)区间。 2、如果f(x)与f(x1)同号,则用x作为新
24
精选课件ppt
7.2 函数子程序(外部函数)
语句函数只能用一个语句定义,而且只 能在定义它的程序段中使用。
分析:函数f(X)是用两个表达式定义的,不 能用简单的语句函数来表示。怎么办? FORTRAN提供了一种方法,就是把函数的 计算部份从程序中独立出来,并按一定的格 式编成一个单独的子程序段,称为外部函数 或函数子程序。
(4) 编译独立。如果每个子程序是以一个 文件存贮的。则可以单独进行编译。 这样使得便于编写,便于维护,并能 实现软件共享。
函数值取x2的的 符号,取x1的绝 对值
X2=X
FX2=FX
END IF
IF((ABS(X1-X2).GT.1E-5).AND.(ABS(FX).GT.1E-6))
& GOTO 10
IF(FX.GT.1E-6)X=(X1+X2)/2.0
WRITE(*,*)X
15
END
精选课件ppt
例 2:用语句函数采用弦截法求X3-2X2-7X+4=0的根。
实元和对应的虚元进行结合,即实元的值传 给虚元(称为虚实结合过程);
求表达式e的值;
11
精选课件ppt
语句函数的引用过程
根据语句函数名的类型和表达式e求值结果,按 赋值规则得到函数引用的值由函数名带回,并 控制返回到原表达式函数引用处,继续计算表 达式值。

子程序调用—自己总结

子程序调用—自己总结

第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。

第二种方法:1. 建立工作目录2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4.将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。

以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。

这种运行机制与ANSYS、LS-DYNA、marc等都不同。

这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。

1子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。

在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。

Fortran 程式语言的编,译与执行简述

Fortran 程式语言的编,译与执行简述

〔call sub_name ( ) 〕
九、註解與識別指令
C ;
首欄 C 後之任何文字為註解功能,不被編譯
* ; 首欄 * 後之任何文字,不被編譯 73 ~ 80 欄位,通常為識別說明用
Fortran Programming
由老師之範例中暸解語言的定義! 由範例之執行中領悟邏輯的關聯!
加法運算:+ 減法運算:乘法運算:* 除法運算:/ 冪次方運算:**;^
Ans = -(a+(b*c-d**3.)*25.+e*e*e)/2. 運算式中之運算次序依一般數學運算次序
八、控制指令
〔if ( ) goto no.〕 〔if ( ) then // else // endif〕 〔do no. // no. continue〕
一、檔案(文書)編輯
編輯完成 執行儲存
二、Fortran 程式語言編譯
在工作目錄cjs
下呼叫 c 磁碟的 mingw 目錄的 bin 子目錄的 g77.exe 來將 福傳檔案 *.for 編譯為 可執行檔 *.exe
二、Fortran 程式語言編譯
Fortran程式語言編譯指令(1) C:\cjs>c:\mingw\bin\g77t1.for-ot1.exe


磁碟機 工作的子目錄 編譯軟體名稱 編譯檔案名稱 儲存檔案名稱 檔案名稱類型
C碟 c 碟的 cjs 目錄 g77.exe t1.for t1.exe Primary-name . sub-name
三、程式的執行
*.for 經編譯得
*.exe 可執行檔
執行 〔t1 〕
結果 〔7〕
Fortran 程式語言 的 編、譯與執行簡述

Fortran基本介绍

Fortran基本介绍

基于Fortran的AspenPlus单元过程用户模型的开发基础知识Aspen Plus是一种通用的化工过程模拟、优化和设计软件,但它提供的通用过程单元模型并不能满足用户的所有需求,如反应器,并不能把所有的反应及反应本质模拟出来。

但是Aspen Plus提供了用户扩展接口,用户可以根据自己的需要将自定义的过程单元模型添加到该软件中并使用。

Aspen Plus提供了基于Fortran用户模型的开发方式,即可以编写Fortran用户子程序,编译后产生一个动态连接库,从而实现用户模型和Aspen Plus的结合。

用户模型是一黑箱模型,内部程序可是根据需要自己定义,输入物流可以在Stream中先定义,将流股信息(如温度、压力、组成及流量等)按照Aspen Plus的内部规定传递到模型中,参与模型的内部计算;然后将模型计算的结果通过输出物流信息传递出来,用户可以根据自己的需要来定义,但必须要遵守Aspen Plus的内部规定。

由于外部Fortran子程序不能被解释,需要一个Fortran编译器。

不同版本的Aspen Plus软件需要不同版本的Fortran编译器,如Aspen Plus 11.1只需要Visual Fortran 6.0版本即可;Aspen Plus 2006就需要Intel Fortran 9.0版本,且必须在Microsoft Visual 环境下,在Aspen Plus Simulation Engine上编译,编译成功后生成用户模型的目标模块文件(*.obj)或共享库(*.dll)。

产生的目标模块文件(*.obj)若能正常链接和求解,运行Aspen Plus的电脑上必须安装Intel Fortran Compiler和Microsoft Visual Studio .NET 2003(或2000)这类的大程序,这样就占据了大量的电脑空间。

当产生共享库(*.dll)后,和Aspen Plus文件放在一个文件夹,并在装载和求解用户模型的DLOPT文件中指定路经,就可以直接运行内嵌用户模型的Aspen Plus文件了。

fortran子程序

fortran子程序

说明: 1. 函数名的取名方法与变量 名同,遵循I—N隐含约定, 否则需采用类型说明语句。
function myabs(x) real myabs 定义法二 .
2. 函数名后的虚参可以是变量名、数组名和子程序名。 如没有虚参,一对圆括号不能省。 3. 在函数子程序流程返回调用单位之前,必须把所求得 的函数值赋给函数名(不带括号和虚参)。 4. 函数子程序流程执行到return或end语句时,立即返回 到调用单位。return语句在子程序中可以有多处,如 果紧邻end 可以省去。
第 九 章 数组
第 十 章 语句函数
第十一章 子程序
第十二章 数据共用存储单元 和数据块子程序
第十三章 文件
1
Fortran程序往往由一个主程序和若干个子程序组成。 Fortran的子程序有函数子程序、子例行子程序和数 据块子程序三种。 子程序可以被主程序调用,也可以被其他子程序调 用。Fortran77中的子程序不能递归调用。
100
一行打印20个 “*”号,打两行。
8
subroutine opp(a,s1,s2) 求矩阵两对角 real a(5,5) 线元素之和 s1=0 do 10 i=1,5 subroutine readin(a) s1=s1+a(i,i) real a(5,5) 10 continue do 10 i=1,5 s2=0 read(*,*) (a(i,j),j=1,5) do 20 i=1,5 10 continue j=5-i+1 end s2=s2+a(i,j) 20 continue real w(5,5) end call readin(w) call opp(w,x1,x2) 输入矩阵 write(*,100) x1,x2 1,2,3,4,5 100 format(1x,'The two sum of', 2,3,4,5,1 3,4,5,1,2 $ ' oppusite angles elements:', 4,5,1,2,3 $ /1x,'x1=',f8.2,' x2=',f8.2) 5,1,2,3,4 end

汇编语言源程序的编辑、汇编、连接的方法

汇编语言源程序的编辑、汇编、连接的方法

汇编语言源程序的编辑、汇编、连接的方法一、编辑源程序汇编语言源程序:用汇编语句编写的解决应用问题的程序。

汇编程序:将汇编语言源程序翻译成机器语言程序的系统。

汇编:将汇编语言程序翻译成机器语言程序的过程。

在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。

(1)编辑软件行编辑软件:全屏编辑软件:WPS、、、WORD、PE等。

当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。

(2)汇编程序有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。

TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。

(3)连接程序用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的机器代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。

(4)辅助工具程序(.EXE)进行汇编语言程序调试和文件格式转换的程序有: 动态调试程序EXE2BIN.EXE 文件格式转换程序CREF.EXE 交叉引用程序编辑、汇编、连接、调试过程如图1.1所示。

TD(turbo Debugger简称)也是动态调试程序,可在DOS和Windows环境下运行,用户界面十分友好。

二、汇编源程序用编辑软件建立的源程序.ASM文件,必须经过汇编才能产生.OBJ文件。

为此,需键入:C:>MASM <源文件名>或C:>MASM按前一种格式键入,屏幕上显示:Microsoft(R) Macro assemble V ersion 5.00Copyright(C) Microsoft Corp 1981-1985,1987 ALL rights reservedOBJ filename[<file>.obj]:Source listing[nul.lst]:Cross-reference[nul.crf]:以上信息中方括中为该项提示的缺省回答值,冒号后面等待用户输入信息,若不改变缺省值则直接按回车键。

Fortran程式语言的编、译与执行简述培训课件.ppt

Fortran程式语言的编、译与执行简述培训课件.ppt

二、Fortran 程式語言編譯
將 c 磁碟的 mingw 目錄的 bin 子目錄的 g77.exe複製到 工作目錄下
來將 福傳檔案 *.for 編譯為 可執行檔 *.exe
二、Fortran 程式語言編譯
Fortran程式語言編譯指令(2) g77.exe 已經單獨複製到 C 碟之工作目錄 cjs 下
七、運算指令指令
電腦計算可使用之操作種類
加法運算:+ 減法運算: 乘法運算:* 除法運算:/ 冪次方運算:**;^
Ans = -(a+(b*c-d**3.)*25.+e*e*e)/2. 運算式中之運算次序依一般數學運算次序
八、控制指令
〔if ( ) goto no.〕 〔if ( ) then // else // endif〕 〔do no. // no. continue〕 〔call sub_name ( ) 〕
執行 〔t1 〕 結果 〔7〕
游標閃爍 - - 待 令狀態
四、MS-DOS 作業環境的瀏覽
執行 〔dir 〕 瀏覽工作目 錄下之檔案 與目錄
〔dir/p 〕 〔dir/w 〕 〔dir*.for 〕 〔dir*.* 〕
五、電腦語言漫談
電腦計算可使用之操作種類
一、檔案(文書)編輯
編輯完成 執行儲存
二、Fortran 程式語言編譯
在工作目錄cjs 下呼叫 c 磁碟的 mingw 目錄的 bin 子目錄的 g77.exe
來將 福傳檔案 *.for 編譯為 可執行檔 *.exe
二、Fortran 程式語言編譯
Fortran程式語言編譯指令(1)
加法運算:+ 減法運算: 乘法運算:* 除法運算:/ 冪次方運算:**;^

1. Windows系统的 ASPEN PLUS 10.0 安装指南中文版

1. Windows系统的 ASPEN PLUS 10.0 安装指南中文版
l 安装组件 l 安装选件 l 安装复选框内容
安装组件
ASPEN PLUS Version 10.0 由 Windows95 和 Windows NT(Intel)平台上 ASPEN PLUS 模 拟引擎和用户界面以及 Windows NT Digital AXP 平台上模拟引擎组成
ASPEN PLUS 软件包内容取决于你与公司签的许可协议 l 一块标有 ASPEN PLUS Version 10.0 Windows95/NT 的光盘 l Windows 系统的 ASPEN PLUS 安装指南 l APEN PLUS10.0 的新内容
Acrobat 格式的文档 该光盘还包括 Adobe Acrobat Reader3.0 以供 Windows95/NT 系统下阅读这些文件 你若收到了 AspenTech License Manager 光盘 你就应该在安装 ASPEN PLUS 之前安装 和配置 License Manager
安装选件
UNIX 和 Open VMS 平台的 ASPEN PLUS 模拟引擎 l UNIX 系统 ASPEN PLUS 安装指南 l OpenVMS 系统 ASPEN PLUS 安装指南 l 一块标有 ASPEN PLUS Version 10.0 Documentation 光盘 主要包括需要在以 Adobe
操作系统名称 版本 Windows NT 4.0
Windows NT 4.0
检查 Service Pack 3 的 命令
启动 程序 管理工具 通用 Windows NT
诊断 检查 Windows NT 版本 的引导屏幕并安装
Service Pack. 启动 程序 管理工具
通用 Windows NT 诊断 检查 Windows NT 版本 的引导屏幕并安装服务 软件包

AspenPlus中内嵌Fortran使用及简单的应用

AspenPlus中内嵌Fortran使用及简单的应用

大家在使用Aspenplus中的calculate,design spec,sensitivity analysis时都可以发现有个Fortran的标签页,这就是AspenPlus的内嵌Fortran模块,以前的文章也有提到过,通过内嵌的Fortran模块可以帮助我们完成很多工作。

下面看看他主要能做点什么!通过用Fortran 模块你可以把Fortran 语句插入到流程计算中以便执行用户定义的任务例如1 在使用输入变量前计算和设定它们前馈控制2 把信息写到控制面板上3 从一个文件中读取输入数据4 把结果写到ASPEN PLUS 报告或写到任意外部文件5 调用外部子程序6 编写你自己的用户子程序如果想用好Fortran必须得对Fortran有所了解才可以,这里就不再说明了!接下来通过一个简单的例子来阐述一下内嵌Fortran模块的使用方法。

图1 图2 问题描述: 问题1:在图1中,stream 16 ,17混合后C5H8-01会有大概0.5%发生反应生成C10H16-01,并且B13 split模型要求stream 22 采出是stream 8的1%。

这一块为了简化模型使用了Calculate中的fortran或是excel(前面讲过不再重复)。

问题2:在图2中,通过进料板位置和回流比对stream 3中的所有C5做灵敏度分析,这个就要用到sensitivity analysis中的fortran。

下面分别讲述: 问题问题1:A 新建一个Calcuation名称为“C-1”定义好变量如图3  A 图 3 3 变量说明AA-Stream3中C5H8-01的质量流量类型为import AB-Stream2中C5H8-01的质量流量类型为import AC-Stream8中C5H8-01的质量流量类型为export AD-Stream8中C5H8-01的质量流量类型为export AF-Stream8中C10H16-01的质量流量类型为export B 在Fortran中写公式 B F AC=(AA+AB)*(1-0.005)F AD=(AA+AB)*0.005F AF=(AA+AB)*0.01 在fortran中的变量就是在前面定义好的变量,同时也可以定义中间变量平常,在这里可以添加外部的Fortran程序,也可以读写文件等等和fortran一样。

Fortran子程序

Fortran子程序

函数与子程序
子程序和主程序之间最大不同在于:主程序的程序代码,在程序一开始 就自动被执行,而子程序的代码只有在被‚调用‛才会执行。
一个包含子程序的Fortran程序在结构上大致如下:
program main ← 主程序 „„ „„ ←主程序代码 „„ end program main ←主程序结束 subroutine sub1() ←第1个子程序 „„ „„ ←子程序码 „„ end subroutine sub1 ←第1个子程序结束 subroutine sub2() ←第2个子程序 „„ „„ ←子程序码 „„ end subroutine sub2 ← 第2个子程序结束
函数与子程序
使用common还有一些技巧,见下面实例。主程序中有全局变量a,b, 子程序中有大小为2的数组a(2),根据使用相同内存空间的策略,a等于 a(1),而b等于a(2)。
program ex0814 implicit none real :: a,b common a,b ! 把浮点数a,b放在全局变量中 a = 1.0 b = 2.0 call ShowCommon() stop end subroutine ShowCommon() implicit none real :: a(2) common a ! 把数组a放在全局变量中 write(*,*) a(1), a(2) return end
传递参数与使用全局变量都可以在 不同程序之间共享数据,简单的说,当 需要共享的变量不多,而且只由少数几 个程序需要使用这些数据时,就使用参 数;当共享大笔数据,或是有很多个不 同程序都要使用这些数据时,就使用全 局变量。
函数与子程序
2、BLOCK DATA 的使用 关于common设臵初值的方法,common变量不能直接在子 程序或主程序中使用DATA来设臵初值,要在BLOCK DATA程序模块中使用DATA命令来设臵初值,看一个程序:

aspen fortran子程序的编译、连接、运行

aspen fortran子程序的编译、连接、运行

Aspen plus fortran子程序的编译、连接与运行Aspen Plus 可以用来模拟反应精馏,但提供的动力学方程形式比较死板,很多类型的动力学方程都不能直接输入,不得不外接一个fortran子程序。

本来用到fortran的机会就不多,所以会的人也不多。

何况编写好fortran子程序后,还要用fortran编译器来编译生成obj文件,而且每次运行的时候都得连接一次,比较麻烦。

我的电脑以前是装了编译器这些软件的,但最近出了问题,只能编译fortran子程序,运行aspen外接fortran子程序的时候就会出错。

恰好这几天要帮师兄写个fortran子程序,写完后需要调试,但又运行不了,重装呢也没把握,想起网上有兄弟说过可以用asplink命令生成一个dll文件,这样就不用运行aspen的时候每次都连接编译器了。

于是找来资料学习学习,居然成功了,欣喜之余,分享给大家。

第一步当然是编写动力学子程序了(此处省略若干字)第二步编译写好的动力学子程序(以网友soaty的动力学子程序为例)打开Aspen Plus Simulation Engine打开后是这样的接下来改变文件夹路径,转到存放动力学子程序的那个文件夹比如我的文件路径是C:\ProgramData\AspenTech\Aspen Plus V7.1\IPP于是输入cd C:\ProgramData\AspenTech\Aspen Plus V7.1\IPP回车后就转到这个文件夹了,这时候就可以进行编译了:编译命令:aspcomp 输入命令aspcomp RIPPA.f,回车到文件夹一看你会发现已经生成了obj文件了,第二步就完成了第三步:生成obj文件的OPT文件这个很简单,只需要在文件夹里面先新建一个文本文件,然后把名字改为RIPPA_LIST_OBJ,双击打开文本文件,在里面先添加上刚刚生成的obj文件的路径(就是我们第一步提到的那个文件夹路径加上最后生成的RIPPA.obj就可以了最后把txt格式改成opt格式就行了第四步:链接第二步生成的OBJ文件,生成dll文件命令格式:ASPLINK [DLOPT dloptfile] libnameDloptfile是在刚刚生成的OPT文件的文件名,Libname是给要生成的dll文件指定一个文件名于是我们输入asplink [dlopt RIPPA_LIST_OBJ.opt] RIPPA 回车(这里如果输入的命令是ASPLINK libname 就会链接这个文件夹下所有的OBJ文件,如果你的文件夹下刚好有多个OBJ文件,那么一般不能成功生成dll文件)第五步:生成dll文件的opt文件,和第三步类似贴个图好了,大家参考第三步把txt格式改成opt格式,这时所有的编译链接都完成了,我们就可以在没有安装fortran编译器的电脑上运行带fortran的子程序的Aspen Plus文件了首先打开BKP文件后,点击RUN——settings——Engine Files——Linker填入dll文件的OPT文件名RIPPA_LOC_DLL.opt点击确定,这时,不出意外,就可以运行aspen了注意:上面提到的这些文件必须放到一个文件夹里面,如果您下载了我的文件更改了文件夹的目录就需要在那两个OPT文件中更改成您自己的文件夹目录。

1. Windows系统的 ASPEN PLUS 10.0 安装指南中文版

1. Windows系统的 ASPEN PLUS 10.0 安装指南中文版

检查 OOB Hot Fix 的命令 检查 \WINNT\$NtU ninstallQ14347 8$目录
检查 \WINNT\$NtU ninstallQ14347 8$目录
检查 Fortran 编译器版本
为运行要求编译和链接用户 Fortran 子程序的模拟模型或在问题定义中包含非解释的内 嵌 Fortran 的任何模拟模型 你必须在你的计算机上安装 Digital Visual Foraran 5.0 可以编 译并预生成外部用户 Fortran 子程序给没装 Fortran 编译程序的其它 ASPEN PLUS 用户做共 享库 DLL 仅大约 10 的 ASPEN PLUS 用户要求可视化 Fortran.
ASPEN PLUS 开 始 建 立 和 运 行 工 艺 模 型 这本指南包括容易学习的几个章节 使你熟 悉 ASPEN PLUS 该指南让你一步一步学会 ASPEN PLUS 的所有功能及应用范围
ASPEN PLUS 用 户 指 南 三本 ASPEN PLUS 用户指南提供了开发和使用 ASPEN PLUS 工艺模拟模型的一步一步的程序 该指南是面向目的的 它帮助你使用 ASPEN PLUS 强大的功能完成工程工作
ASPEN PLUS 参 考 手 册 系 列 ASPEN PLUS 参考手册提供了详细的技术参考资料 这些手册包括关于 ASPEN PLUS 提供的单元操作模型和物性方法 ASPEN PLUS 数据库参 数表 官能团贡献方法官能团和大量其它方面的资料 包括
l 单元操作模型 l 物性方法和模型 l 物性数据 l 用户模型 l 系统管理 l 汇总文件工具包 ASPEN PLUS 应 用 举 例 ASPEN PLUS 提供了一套特殊工艺的在线 ASPEN PLUS 模 拟举例 ASPEN PLUS 安装指南 这些指南提供了安装 ASPEN PLUS 的平台和网络的命令 包 括 l Windows 系统的 ASPEN PLUS 安装指南 l OpenVMS 系统的 ASPEN PLUS 安装指南 l UNIX 系统的 ASPEN PLUS 安装指南 ASPEN PLUS 手册在 ASPEN PLUS 文件 CD 上以 Adobe 电子文档格式 PDF 提供 你也可以从 Aspen Tech 订购印刷的手册

如何在visual studio 2005中编译和连接fortran程序?

如何在visual studio 2005中编译和连接fortran程序?

更改Visual studio 2005项目文件夹位置:
工具/选项左侧选择:项目和解决方案,右侧出现Visual studio项目位置,如图1所示。

图1
在Visual Studio 2005中编译和连接fortran程序的方法:启动Visual Studio 2005,
执行文件/新建/项目,或者在“起始页”有创建项目一项,单击“项目”即可,如图2。

图2
此时已有IVF的选项,如图3。

和CMF的使用过程类似,首先建立一个项目,在左边选择console application,右边选择empty project。

输入工程名字,单击确定,然后自动跳到项目界面(图4)。

图3
图4
在“解决方案资源管理器中”显示该项目,其含有三个文件夹。

在项目名上单击右键选择“添加”,再选择“现有项”(或则选择“新建项”后新建source 文件),如图5。

图5
选择某*.f90文件即将其添加进项目,Source files发生了变化,如图6。

★注意:f文件不用存储在该项目文件夹内,可放在任意位置。

接下来开始调试程序:
如果直接单击绿色按钮,执行调试,虽然没
有错误和警告,但是结果一闪而过,是不显示什
么内容的。

★如果想要看到内容,单击调试/开始执行(不
调试),快捷键ctrl+F5
结果显示在DOS窗口中。

图6
CVF和IVF对比:
CVF里compile 编译
Build 构建
Execute program 执行程序
IVF里“生成*”编译当前文件
“生成解决方案”编译全部文件
“启动调试”(绿色箭头)执行程序。

aspen fortran子程序的编译、连接、运行

aspen fortran子程序的编译、连接、运行

Aspen plus fortran子程序的编译、连接与运行Aspen Plus 可以用来模拟反应精馏,但提供的动力学方程形式比较死板,很多类型的动力学方程都不能直接输入,不得不外接一个fortran子程序。

本来用到fortran的机会就不多,所以会的人也不多。

何况编写好fortran子程序后,还要用fortran编译器来编译生成obj文件,而且每次运行的时候都得连接一次,比较麻烦。

我的电脑以前是装了编译器这些软件的,但最近出了问题,只能编译fortran子程序,运行aspen外接fortran子程序的时候就会出错。

恰好这几天要帮师兄写个fortran子程序,写完后需要调试,但又运行不了,重装呢也没把握,想起网上有兄弟说过可以用asplink命令生成一个dll文件,这样就不用运行aspen的时候每次都连接编译器了。

于是找来资料学习学习,居然成功了,欣喜之余,分享给大家。

第一步当然是编写动力学子程序了(此处省略若干字)第二步编译写好的动力学子程序(以网友soaty的动力学子程序为例)打开Aspen Plus Simulation Engine打开后是这样的接下来改变文件夹路径,转到存放动力学子程序的那个文件夹比如我的文件路径是C:\ProgramData\AspenTech\Aspen Plus V7.1\IPP于是输入cd C:\ProgramData\AspenTech\Aspen Plus V7.1\IPP回车后就转到这个文件夹了,这时候就可以进行编译了:编译命令:aspcomp 输入命令aspcomp RIPPA.f,回车到文件夹一看你会发现已经生成了obj文件了,第二步就完成了第三步:生成obj文件的OPT文件这个很简单,只需要在文件夹里面先新建一个文本文件,然后把名字改为RIPPA_LIST_OBJ,双击打开文本文件,在里面先添加上刚刚生成的obj文件的路径(就是我们第一步提到的那个文件夹路径加上最后生成的RIPPA.obj就可以了最后把txt格式改成opt格式就行了第四步:链接第二步生成的OBJ文件,生成dll文件命令格式:ASPLINK [DLOPT dloptfile] libnameDloptfile是在刚刚生成的OPT文件的文件名,Libname是给要生成的dll文件指定一个文件名于是我们输入asplink [dlopt RIPPA_LIST_OBJ.opt] RIPPA 回车(这里如果输入的命令是ASPLINK libname 就会链接这个文件夹下所有的OBJ文件,如果你的文件夹下刚好有多个OBJ文件,那么一般不能成功生成dll文件)第五步:生成dll文件的opt文件,和第三步类似贴个图好了,大家参考第三步把txt格式改成opt格式,这时所有的编译链接都完成了,我们就可以在没有安装fortran编译器的电脑上运行带fortran的子程序的Aspen Plus文件了首先打开BKP文件后,点击RUN——settings——Engine Files——Linker填入dll文件的OPT文件名RIPPA_LOC_DLL.opt点击确定,这时,不出意外,就可以运行aspen了注意:上面提到的这些文件必须放到一个文件夹里面,如果您下载了我的文件更改了文件夹的目录就需要在那两个OPT文件中更改成您自己的文件夹目录。

fortran子程序

fortran子程序

Implicit none
Integer::M,N,K,L Read*,M,N CALL S(M,N,K,L) PRINT*,K,L
所有的输入、输出
END
Fortran 90 调用的执行过程
1、计算实元值(作为输出的可预先无值)
2、虚实按地址结合:虚元按顺序借用实元存储单元 3、运行权至子程序的第一句,直至遇子程序的 END语句返回到主调程序: ①运行权返回至CALL语句的下一个语句 ②虚实脱离结合,但子程序运行时造成的实元 值的改变将保留。
Fortran 90
练习: 计算函数Sinh(x)的值,当ex的通项值小于等于1E6时停止。计算公式如下:
e e Sinh ( x) 2 2 3 n x x x x e 1 x ....... 2! 3! n 0 n!
x
x
将ex的计算编写成外 部函数,便于重用
……
READ*,A,B D=F(A,B,c)
REAL::M,N,L,F_RESULT
F_RESULT=M+N L=M-N
虚元表 结果名
PRINT*,C,D
END
END
实元表
Fortran 90
子程序END语句写法 END END FUNCTION END FUNCTION 函数名 子程序END语句功能 1、函数单位的结束标志 2、将控制返回到主调程序。
4、函数子程序的调用是表达式中。 而子例子程序必须通过CALL语句来调用。 CALL 子程序名(实元表)
Y=F(实元表)
Fortran 90
例:编写子例行子程序求K=M+N,L=M-N 主程序输入2,3调用子程序求2+3,2-3的值。
重点:子程序 的输入、输出

Aspenplus反应精馏模拟子程序编译

Aspenplus反应精馏模拟子程序编译

Aspenplus反应精馏模拟子程序编译aspen plus反应精馏模拟子程序编译用aspen-plus radfrac模块做反应精馏模拟其动力学子程序的编译(我用fortran编译了一些哪位高手帮我完成一下)反应式:乙酸+乙醇——水+乙酸乙酯反应速率:R=1.38kx12 x1醋酸摩尔分率k=3.7-2710/T汽液平衡常数:醋酸:lgK1=0.0225T-1.666乙醇:lgK2=6.5-2300/T水:lgK3=6.4-2300/T乙酸乙酯:lgK4=6.8-2300/T如下: SUBROUTINE USRKNT (N, NCOMP, NR, NRL, NRV,2 T, TLIQ, TVAP, P, PHFRAC,3 F, X, Y, IDX, NBOPST,4 KDIAG, STOIC, IHLBAS, HLDLIQ, TIMLIQ,5 IHVBAS, HLDVAP, TIMVAP, NINT, INT,6 NREAL, REAL, RATES, RATEL, RATEV,7 NINTB, INTB, NREALB, REALB, NIWORK,8 IWORK, NWORK, WORK)CIMPLICIT NONECC DECLARE VARIABLES USED IN DIMENSIONINGCINTEGER NCOMP, NR, NRV, NINT, NINTB,+ NREALB,NIWORK,NWORKC#include "ppexec_user.cmn"EQUIVALENCE (RMISS, USER_RUMISS)EQUIVALENCE (IMISS, USER_IUMISS)CCC************************************************************* ********** CCCC DECLARE ARGUMENTSCINTEGER NRL(3),IDX(NCOMP),NBOPST(6),+ INT(NINT),INTB(NINTB),+ IWORK(NIWORK),N,KDIAG, IHLBAS,+ IHVBAS,NREALREAL*8 PHFRAC(3),X(NCOMP,3),Y(NCOMP),+ STOIC(NCOMP,NR),RATES(NCOMP),+ RATEL(1),RATEV(NRV),+ REALB(NREALB),WORK(NWORK), T,TLIQ,+ TVAP,P,F,HLDLIQ,TIMLIQREAL*8 HLDVAP,TIMVAPCC DECLARE LOCAL VARIABLESCINTEGER IMISSREAL*8 REAL(NREAL), RMISSCC BEGIN EXECUTABLE CODECINTEGER IREAL*8 K,RATEK=3.7-2710/TRATES=K*X(1,1)*X(1,1) RETURNEND。

第六讲 Fortran中的子程序讲解学习

第六讲 Fortran中的子程序讲解学习

[类型说明符] Function 函数名(虚参表) 函数体 end
2020/8/12
5
其中,类型说明用于说明函数名的类型;函数名的命名方法
与变量名相同;虚参可以是简单变量和数组变量,但不能是
常数、数组元素、表达式。 function sm(m,n,l)
比如:求
sm=0 do i=m,n
100
S 1 n 2
(3)语句函数表达式 给出函数与参数之间的对应关系,可由虚参(必须包含所有的 虚参)、常量、变量、数组、Fortran的内部函数及在其前面 说明了的语句函数。
2020/8/12
2
此外,还需注意的是:
1、只有当函数关系简单到,可以用一条语句描述函数与参数 的对应关系时,才能使用语句函数;
2、语句函数是非执行语句,要放在一个程序单元的所有其它 说明语句之后,并放在所有可执行语句之前;
问题3:亲密数对定义为:正整数A≠B,但A不含本身的所有 因子之和等于B,而B不含自身的所有因子之和等于A,求3000 以内所有的亲密数对。【要求用子例行程序】
2020/8/12
14
分析:牛顿迭代公式为:
xn1
xn
f (xn) f '(xn)
首先要给个迭代初值x0, 代入公式的右边计算x1, 再把x1代入计算出x2,…, 当第n次和第(n+1)次计算
函数名(实参表)
2020/8/12
3
需要注意下面2个问题: 1、调用时可以使用常量、变量、内部函数及其表达式作为实 参代替对应的虚参位置,但要保证实参和虚参具有完全相同 的类型,并且实参是可以计算值的(即调用前实参中包含的 变量全部已经赋值); 2、实参和虚参个数相同。
比如:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Aspen plus fortran 子程序的编译、连接与运行
Aspen Plus可以用来模拟反应精馏,但提供的动力学方程形式比较死板,很多类型的动力学方程都不能直接输入,不得不外接一个fortran 子程序。

本来用到fortran 的机会就不多,所以会的人也不多。

何况编写好fortran 子程序后,还要用fortran 编译器来编译生成obj
文件,而且每次运行的时候都得连接一次,比较麻烦。

我的电脑以前是装了编译器这些软件
的,但最近出了问题,只能编译fortran 子程序,运行aspen外接fortran 子程序的时候就会出错。

恰好这几天要帮师兄写个fortran 子程序,写完后需要调试,但又运行不了,重装
呢也没把握,想起网上有兄弟说过可以用asplink命令生成一个dll文件,这样就不用运行
aspen的时候每次都连接编译器了。

于是找来资料学习学习,居然成功了,欣喜之余,分享给大家。

第一步当然是编写动力学子程序了(此处省略若干字)
第二步编译写好的动力学子程序(以网友soaty的动力学子程序为例)
打开Aspen Plus Simulation Engine
JS M...
打开后是这样的
接下来改变文件夹路径,转到存放动力学子程序的那个文件夹
比如我的文件路径是C:\ProgramData\Aspe nTech\Aspen Plus \IPP
于是输入cd C:\ProgramData\AspenTech\Aspen Plus \IPP
回车后就转到这个文件夹了,这时候就可以进行编译了:编译命令:aspcomp
输入命令aspcomp ,回车
到文件夹一看你会发现已经生成了obj文件了,
compil&Jog
[2)Ripp 白.f
詮R]PPA.obj'
第二步就完成了
第三步:生成obj文件的OPT文件
这个很简单,只需要在文件夹里面先新建一个文本文件,然后把名字改为
RIPPA_LIST_OBJ双击打开文本文件,在里面先添加上刚刚生成的obj文件的路径(就是我们第一步提到的那个文件夹路径加上最后生成的就可以了
僅改叶期大沪__ compile』og2013/5/26 20:34 1 KB Bl Rippa.f2013/5/23 9:38Fortran Source11 KB
也R]PPA.obj2013/^/26 20:34Object File 4 KB 匚RlPPA_LISTj3BJ.btt2013/5/26 20:43文本交栏1KB
RlPPA_Ll5T,OBJ.txt -记事苯
文件旧巒(町搐式Q)童看(V)裡助(H)
C:\PrograoData\AspenTech\Asp en Plus V7.1\IPP\RIPF扎obj
最后把txt格式改成opt格式就行了
compile.log
IB RippaJ
豹RTPPA.obj
.,RlPPA_UST,OBJ.Q P t
第四步:链接第二步生成的OBJ文件,生成dll文件
命令格式:ASPLINK [DLOPT dloptfile] lib name
Dloptfile 是在刚刚生成的OPT文件的文件名,
Lib name 是给要生成的dll文件指定一个文件名
于是我们输入aspli nk [dlopt ] RIPPA 回车
(这里如果输入的命令是ASPLINK lib name 就会链接这个文件夹下所有的OBJ文件,如果你的文件夹下刚好有多个OBJ文件,那么一般不能成功生成dll文件)
第五步:生成
dll文件的opt文件,贴
个图好了,大家参考第三步
和第三步类似
三*| _0953ngi.def2013/5/26 21:09Export Definiti©"...IKE [j _BaF222,trnp2013/5/2& 2110TMP文件15 K&两radfracfanyingjinglicidcnglixue2.bkp2013/5/26 15:56Aspen Plus Back..134 KB Si RIPPA.dll2013/5/26 20:59頤展17 KB RIPPA.exp2013/5/26 20:59Exports Library 1 KB [=1 Rippa.f2013/5/23 9:38Fortran Source11 KB ffl RIPPA.Id2013/5/26 20:59Aspen Plus Linke... 4 KB Bl RiPPA.Ids2013/5/26 20:59LDS文件 1 KG 幻RIPPAJib2013/5/26 20:59Object File Library2 KB RIPPA.cbj5012/5/26 20:34Object File 4 KE R[PPA_UST^OBJ.opt2013/5/26 20:43OPT文件 1 KB | 久RIPPA_LOC_DLL.opt2013/5/26 21:01OPT文件1KB
■" RTPPA_LOC_DlL,opt -15W4;
文供F) 福式Q}章看M轄助(H)
C:\Progr amD ata\Asp enT cch\Aspen Plus V7.1\IPP\RIFPA- DLL
把txt格式改成opt格式,这时所有的编译链接都完成了,我们就可以在没有安装fortran 编译器的电脑上运行带fortran 的子程序的Aspen Plus文件了
首先打开BKP文件后,点击RUNsettings 填入dll文
件的OPT文件名
Engine Files Linker
Run Settings
Engint Fil Qpti ons
User properly databanlts
Mi scell^neaus files
L L M就R1PFA UOC DLL. 0?7
tun
Coit
确定I 邨肯应月⑷帮助
点击确定,这时,不出意外,就可以运行aspen 了
注意:上面提到的这些文件必须放到一个文件夹里面,如果您下载了我的文件更改了文件夹的目录就需要在那两个OPT文件中更改成您自己的文件夹目录。

需要说明的是我提供的这个例子的模拟有问题,物性参数、模拟结果都有问题,感兴趣的朋友可以调试下。

祝好运。

相关文档
最新文档