国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

PRO/Ⅱ功能擴(kuò)展方法探討

2012-08-15 07:01:20,崔
河南化工 2012年5期
關(guān)鍵詞:子程序公用調(diào)用

原 璐 ,崔 雋

(海工英派爾工程有限公司,山東青島 266061)

PRO/Ⅱ是一種通用的化工過程模擬、優(yōu)化和設(shè)計(jì)軟件。PRO/Ⅱ可以對(duì)各種化工過程進(jìn)行嚴(yán)格的質(zhì)量和能量衡算。它的應(yīng)用包括:設(shè)計(jì)新的工藝過程;評(píng)價(jià)和比較可供選擇的工藝方案;改造現(xiàn)有的工藝;操作故障分析和打破裝置操作的瓶頸;優(yōu)化和改善裝置的產(chǎn)量和效益;評(píng)價(jià)與環(huán)境的適應(yīng)性等。

一個(gè)模擬軟件的產(chǎn)生有其限制,隨著時(shí)間的推移及理論研究的進(jìn)展,必須將新的設(shè)計(jì)思想與理論研究成果融入到系統(tǒng)內(nèi),不斷擴(kuò)充和更新其內(nèi)容以提高系統(tǒng)的性能。這項(xiàng)工作不僅是軟件開發(fā)者的任務(wù),用戶也應(yīng)當(dāng)參與進(jìn)來,運(yùn)用他們所掌握的知識(shí)和經(jīng)驗(yàn),進(jìn)行軟件的二次開發(fā)。同時(shí),由于某些化工生產(chǎn)過程的復(fù)雜性和具體性,模擬軟件現(xiàn)有的功能模塊不可能模擬所有的實(shí)際過程,這也要求用戶根據(jù)實(shí)際過程自行開發(fā)用戶模型,并將模型添加到軟件中去,結(jié)合軟件已有的數(shù)據(jù)庫和功能模塊來進(jìn)行模擬。而軟件開發(fā)者應(yīng)向用戶提供這樣一個(gè)二次開發(fā)接口。PRO/Ⅱ就向用戶提供了這樣一個(gè)接口,用戶可以利用它將用戶模型添加到PRO/Ⅱ體系中,在其系統(tǒng)框架中使用。該接口賦予PRO/Ⅱ極大的擴(kuò)展能力,而且有助于保護(hù)用戶已有的開發(fā)成果。

PRO/Ⅱ的用戶模型使用Fortran語言開發(fā),本文將對(duì)PRO/Ⅱ二次開發(fā)方法進(jìn)行探討,給出其開發(fā)步驟和方法,說明用戶模型規(guī)范及PRO/Ⅱ系統(tǒng)對(duì)用戶模型的調(diào)用方式,并將舉一個(gè)用戶模型實(shí)例來說明該方法。

1 用戶模型簡(jiǎn)介

PRO/Ⅱ用戶模型是指當(dāng)PRO/Ⅱ體系提供模塊不能滿足用戶需求時(shí),由用戶自行開發(fā)的模塊,它由一個(gè)或者若干用戶添加的子程序構(gòu)成。PRO/Ⅱ支持四種用戶模型,即單元操作模型,熱力學(xué)方法模型,傳遞性質(zhì)方法模型和反應(yīng)動(dòng)力學(xué)模型[1-2]。

2 用戶模型開發(fā)步驟和方法

不同于一般Fortran程序的開發(fā),PRO/Ⅱ用戶模型的開發(fā)涉及到調(diào)用PRO/Ⅱ系統(tǒng)的一些接口子程序及完成與系統(tǒng)間的參數(shù)傳遞,所以其開發(fā)有特定的步驟和方法。編寫用戶模型是完成一個(gè)用戶模型開發(fā)的核心部分,本文第3部分將對(duì)用戶模型的編寫規(guī)范進(jìn)行詳細(xì)說明;編譯和鏈接用戶模型,PRO/Ⅱ用戶模型的編譯和連接使用的是Windows XP操作系統(tǒng)下的DEC Visual FORTRAN5.0 D或6.0。步驟為:①在 Windows XP系統(tǒng)下運(yùn)行 DEC Visual FORTRAN 5.0D or 6.0。②新建一個(gè)工作空間(workspace),將編寫好的.for文件添加到該工作空間中,編譯通過。③編寫一個(gè).def(模塊定義)文件,該文件用于生成動(dòng)態(tài)鏈接庫。運(yùn)行build.dll命令,生成動(dòng)態(tài)鏈接庫,即一個(gè).dll文件。提供動(dòng)態(tài)鏈接庫到PRO/Ⅱ體系中,復(fù)制動(dòng)態(tài)鏈接庫即.dll文件到PRO/Ⅱ的執(zhí)行目錄下。

3 用戶模型編寫規(guī)范

3.1 通用編寫規(guī)則

不論開發(fā)哪一類用戶模型,其子程序源代碼的編寫都要遵循一些通用的規(guī)則,現(xiàn)將這些通用規(guī)則總結(jié)如下:

①用戶添加的子程序必須使用ANSI標(biāo)準(zhǔn)的FORTRANⅣ或者FORTRAN 77來書寫,以便保持與PRO/Ⅱ的兼容性。②存儲(chǔ)變量應(yīng)當(dāng)被初始化,因?yàn)樵S多操作系統(tǒng)不能執(zhí)行該功能。③用戶添加的子程序應(yīng)當(dāng)能夠測(cè)試計(jì)算錯(cuò)誤,例如0分母,指數(shù)溢出等。④PRO/Ⅱ接口子程序可以返回錯(cuò)誤指示,這些錯(cuò)誤指示應(yīng)當(dāng)被用戶添加的子程序測(cè)試,再采取適當(dāng)?shù)男袆?dòng)。⑤不能改變 PRO/Ⅱ公用區(qū)/XPROPX/、/CUDATA/、 /OUTFAC/和/FACTOR/里的公用存儲(chǔ)信息,不能改變?cè)谟脩籼砑拥墓脜^(qū)/UTHERX/里的任何變量的值。⑥用FIGETU程序來取得特殊順序的輸入輸出文件的FORTRAN單元數(shù)。⑦執(zhí)行計(jì)算時(shí)必須考慮單位。(在PRO/Ⅱ系統(tǒng)里的所有存儲(chǔ)數(shù)據(jù)是按照輸入單位的,除了/XPROPX/里的臨界質(zhì)。)⑧應(yīng)當(dāng)規(guī)范的書寫 FORTRAN源代碼,尤其是那些會(huì)被重復(fù)使用的用戶添加子程序,例如熱力學(xué)函數(shù)或者在迭代計(jì)算里的函數(shù)。⑨用戶添加子程序里的循環(huán)應(yīng)預(yù)先給以限制。

3.2 與PRO/Ⅱ信息交流

用戶添加子程序和PRO/Ⅱ之間的信息交流被通過三種方式完成:①子程序參數(shù)列表;②接口子程序;③公用存儲(chǔ)區(qū)。

表1 用戶模型子程序參數(shù)列表

用戶添加的計(jì)算子程序代替一個(gè)已經(jīng)在PRO/Ⅱ里存在的虛擬子程序。因此,用戶寫的子程序必須與那些虛擬子程序使用相同的參數(shù)列表。表1給出了針對(duì)每種用戶模型的子程序參數(shù)列表。

表2給出了執(zhí)行各種功能的接口子程序。這些接口子程序可以被用戶添加的子程序調(diào)用來實(shí)現(xiàn)與PRO/Ⅱ的存儲(chǔ)區(qū)的信息傳遞。用戶在編寫用戶模型過程中需要調(diào)用這些接口子程序時(shí),使用下列命令:call subrname(subrname為接口子程序名)。

表2 PRO/Ⅱ接口子程序

表3給出了PRO/Ⅱ的公用區(qū),用戶可以從組分性質(zhì),熱力學(xué)數(shù)據(jù),和轉(zhuǎn)換因子公用區(qū)取得信息。用戶在編寫用戶模型過程需要調(diào)用這些公用區(qū)時(shí),使用命令:INCLUDE'* .CMN'(* 為公用區(qū)名)。

表3 PRO/Ⅱ公用區(qū)

4 例子

本文開發(fā)了反應(yīng)精餾用戶模型,以此為例說明PRO/Ⅱ的功能擴(kuò)展方法。此用戶模型選取的是均相板式塔連續(xù)反應(yīng)精餾過程的平衡級(jí)數(shù)學(xué)模型(EQ),求解方法采用的是方程解離法——泡點(diǎn)法。此用戶模型進(jìn)行的是操作型計(jì)算,即已知輸入和模型參數(shù)求輸出。其程序框圖如圖1所示[3-14]。

圖1 反應(yīng)精餾塔程序框圖

5 結(jié)論

①PRO/Ⅱ用戶模型也是由一個(gè)或者若干用戶添加的子程序構(gòu)成。PRO/Ⅱ支持四種用戶模型,即單元操作模型,熱力學(xué)方法模型,傳遞性質(zhì)方法模型和反應(yīng)動(dòng)力學(xué)模型。②用戶添加子程序和PRO/Ⅱ之間的信息交流被通過三種方式完成:子程序變量列表;接口子程序;公用存儲(chǔ)區(qū)。用戶模型中的主子例行程序代替一個(gè)已經(jīng)在PRO/Ⅱ里存在的虛擬子程序。因此,用戶寫的主子例行程序必須那些虛擬子程序使用相同的變量列表。PRO/Ⅱ提供了11種執(zhí)行不同功能的接口子程序和6種公用存儲(chǔ)區(qū),這些接口子程序和公用存儲(chǔ)區(qū)可以通過特定方式被用戶模型調(diào)用來實(shí)現(xiàn)與PRO/Ⅱ系統(tǒng)間的信息傳遞。

③PRO/Ⅱ用戶模型的編譯和連接使用的是Windows XP操作系統(tǒng)下的DEC Visual FORTRAN 5.0D或6.0,并通過編寫一個(gè)模塊定義文件生成動(dòng)態(tài)鏈接庫。復(fù)制動(dòng)態(tài)鏈接庫即.dll文件到PRO/Ⅱ的執(zhí)行目錄下,即完成用戶模型的開發(fā)。

[1]PRO/Ⅱ Pdts- uas(Version 5.1)[J].Simsci Technology,Inc.

[2]PRO/Ⅱ User Guide(Version 5.1)[J].Simsci Technology,Inc.

[3]漆志文,孫海軍,施軍民,等.反應(yīng)分離過程模擬I.反應(yīng)精餾過程[J].華東理工大學(xué)學(xué)報(bào),1992,25(1):19-23.

[4]周傳光,鄭世清,胡仰棟,等.部分牛頓法模擬反應(yīng)精餾過程[J].化學(xué)工程,1993,21(3):30 -35.

[5]劉慶林,夏建軍,張志炳.反應(yīng)精餾過程模擬與參數(shù)的影響[J].計(jì)算機(jī)與應(yīng)用化學(xué),2000,17(3),219 -223.

[6]唐正嬌,韋藤幼,童張法.反應(yīng)精餾過程模擬仿真軟件開發(fā)[J].廣西民族學(xué)院學(xué)報(bào):自然科學(xué)版,2000,6(4):272-274.

[7]劉訓(xùn)峰,張瑞生,袁渭康,等.伴有平衡反應(yīng)的分離過程的數(shù)學(xué)模擬[J].化學(xué)反應(yīng)工程與工藝,1993,9(4):444-450.

[8]邱若磐.MTBE反應(yīng)精餾體系汽液平衡研究[J].齊魯石油化工,1990(4):27-33.

[9]Y A CHANG,J D SEADER.Simulation of continuous reaction distillation by a homotopy-continuation method[J].Comput Chem Engng,1988,12(12):1243 -1255.

[10]K Alejski,J Szymanowski,M Bogachi.The application of a minimization method for solving reacting-distillation problems,Comput Chem Engng,1988,12(8):833-839.

[11]Sophie UNG,Micheal F Doherty.Vapor-liquid phase equilibrium in system with mutiple chemical reactions[J].Chemical Engineering Science,1995,50(1):23 -48.

[12]A Izarraraz,G W Bentzen,R G Anthony,et al.Solve more distillation problems, Hydrocarbon Processing,1990,4:195 -203.

[13]Ciric A R,Gu Deyao,Synthesis of nonequilibrium reactive distillation processes by minlp optimization[J].AIChE J,1994,40(9):1479 -1485.

猜你喜歡
子程序公用調(diào)用
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
一個(gè)公用品牌的養(yǎng)成——橫山羊肉是咋樣“吃香”的
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
公用電梯自動(dòng)取消??垦b置初步設(shè)計(jì)
電子制作(2017年17期)2017-12-18 06:40:45
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
醫(yī)生私車公用撞傷人 醫(yī)院擔(dān)責(zé)
淺談子程序在數(shù)控車編程中的應(yīng)用
子程序在數(shù)控車加工槽中的應(yīng)用探索
“私車公用”打錯(cuò)“方向盤”
清風(fēng)(2014年10期)2014-09-08 13:11:04
西門子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
鹰潭市| 泌阳县| 阳东县| 崇阳县| 昔阳县| 冕宁县| 体育| 桦川县| 山丹县| 赤峰市| 桑植县| 广南县| 佛学| 德兴市| 大英县| 汕尾市| 嘉鱼县| 正阳县| 威远县| 莱西市| 富锦市| 新巴尔虎右旗| 阳朔县| 邵阳市| 仙居县| 科尔| 诸城市| 米泉市| 曲阜市| 禄丰县| 化德县| 黄平县| 讷河市| 剑川县| 朝阳市| 扶绥县| 乐都县| 克拉玛依市| 奉化市| 余姚市| 通州区|