 
         
         
         
         
        版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE38活性污泥法污水处理过程的仿真实现分析案例目录TOC\o"1-3"\h\u6722活性污泥法污水处理过程的仿真实现分析案例 1280411.1Modelica建模语言与OpenModelica仿真平台 1315071.1.1Modelica语言 1691.1.2OpenModelica仿真平台 5234081.2活性污泥法污水处理过程的Modelica模型 8279281.2.1基本反应组件 9256851.2.2生化池组件 9309631.2.3二沉池组件 1039081.2.4活性污泥处理过程开环模型 10179851.3活性污泥法污水处理过程仿真模型验证 11Modelica建模语言与OpenModelica仿真平台Modelica语言Modelica语言是1997年由欧洲的学者和工业界的研究人员在归纳和总结多种建模语言的基础上,为解决面向对象建模和方程语言的兼容性问题而提出的一种标准化的建模语言ADDINEN.CITE<EndNote><Cite><Author>Fritzson</Author><Year>2010</Year><RecNum>161</RecNum><DisplayText><styleface="superscript">[57]</style></DisplayText><record><rec-number>161</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620288252">161</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>Fritzson,P.</author></authors></contributors><titles><title>TheModelicaObject-OrientedEquation-BasedLanguageandItsOpenModelicaEnvironmentwithMetaModeling,Interoperability,andParallelExecution</title><secondary-title>InternationalConference</secondary-title></titles><dates><year>2010</year></dates><urls></urls></record></Cite></EndNote>[57]。早在1987年,ElmqvistADDINEN.CITE<EndNote><Cite><Author>Elmqvist</Author><Year>1989</Year><RecNum>162</RecNum><DisplayText><styleface="superscript">[58]</style></DisplayText><record><rec-number>162</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620288284">162</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Elmqvist,H.</author><author>Mattsson,S.E.</author></authors></contributors><titles><title>Simulatorfordynamicalsystemsusinggraphicsandequationsformodeling</title><secondary-title>IEEEControlSystemsMagazine</secondary-title></titles><periodical><full-title>IEEEControlSystemsMagazine</full-title></periodical><pages>53-58</pages><volume>9</volume><number>1</number><dates><year>1989</year></dates><urls></urls></record></Cite></EndNote>[58]就已提出了面向对象建模的建模语言,首先使用最基本的物理语言描述所要建立的模型,随后通过计算机将物理语言进行编译,成为对应的微分代数方程(Different-AlgebraicEquations,DAE),最后推送给计算机求解微分代数方程,进而实现了物理实体的模型化。此后数十年,由于计算机和微分代数求解方法的快速发展,通过这种途径建模的计算机程序也得到了快速发展。在1987至1996年间,基于Elmqvist的建模思想,一大批面向对象的建模语言和仿真方法涌现出来,包括DymolaADDINEN.CITE<EndNote><Cite><Author>Petzold</Author><Year>1982</Year><RecNum>170</RecNum><DisplayText><styleface="superscript">[59]</style></DisplayText><record><rec-number>170</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620474469">170</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Petzold,L.R.</author></authors></contributors><titles><title>AdescriptionofDASSL:ADifferential/AlgebraicSystemSolver"SAND82-8637</title><secondary-title>imacstransactionsonscientificcomputing</secondary-title></titles><periodical><full-title>imacstransactionsonscientificcomputing</full-title></periodical><dates><year>1982</year></dates><urls></urls></record></Cite></EndNote>[59]、ObjectMathADDINEN.CITE<EndNote><Cite><Author>Viklund</Author><Year>1992</Year><RecNum>171</RecNum><DisplayText><styleface="superscript">[60]</style></DisplayText><record><rec-number>171</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620474506">171</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>Viklund,L.</author><author>Herber,J.</author><author>Fritzson,P.</author></authors></contributors><titles><title>TheImplementationofObjectMath-aHigh-LevelProgrammingEnvironmentforScientificComputing</title><secondary-title>InternationalConferenceonCompilerConstruction</secondary-title></titles><dates><year>1992</year></dates><urls></urls></record></Cite></EndNote>[60]、gPROMSADDINEN.CITE<EndNote><Cite><Author>Eddy</Author><Year>2008</Year><RecNum>172</RecNum><DisplayText><styleface="superscript">[61]</style></DisplayText><record><rec-number>172</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620474604">172</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Eddy,S.R.</author></authors></contributors><titles><title>AProbabilisticModelofLocalSequenceAlignmentThatSimplifiesStatisticalSignificanceEstimation</title><secondary-title>PLoSComputationalBiology</secondary-title></titles><periodical><full-title>PLoSComputationalBiology</full-title></periodical><pages>2046–2052</pages><volume>4</volume><number>5</number><dates><year>2008</year></dates><urls></urls></record></Cite></EndNote>[61]和OmolaADDINEN.CITE<EndNote><Cite><Author>Mattsson</Author><Year>1992</Year><RecNum>173</RecNum><DisplayText><styleface="superscript">[62]</style></DisplayText><record><rec-number>173</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620474640">173</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Mattsson,SvenErik</author><author>Andersson,Mats</author></authors></contributors><titles><title>Omola-AnObject-OrientedModelingLanguage</title><secondary-title>RecentAdvancesinComputer-AidedControlSystemsEngineering</secondary-title></titles><periodical><full-title>RecentAdvancesinComputer-AidedControlSystemsEngineering</full-title></periodical><dates><year>1992</year></dates><urls></urls></record></Cite></EndNote>[62]等。虽然大部分建模语言仍流传至今,但是每种建模语言或仿真方法都存在着相应的局限性,只有在自身适用范围内的领域内才能发挥比较好的效果。随着工业界的发展,各个领域的物理系统呈现出的复杂程度越来越强,变量之间的耦合性逐渐增强,单一领域的建模软件已不能满足用户最基本的需求ADDINEN.CITE<EndNote><Cite><Author>Fritzson</Author><Year>2011</Year><RecNum>176</RecNum><DisplayText><styleface="superscript">[63]</style></DisplayText><record><rec-number>176</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620474926">176</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>Fritzson,P.</author></authors></contributors><titles><title>Modelica—Acyber-physicalmodelinglanguageandtheOpenModelicaenvironment</title><secondary-title>Proceedingsofthe7thInternationalWirelessCommunicationsandMobileComputingConference,IWCMC2011,Istanbul,Turkey,4-8July,2011</secondary-title></titles><dates><year>2011</year></dates><urls></urls></record></Cite></EndNote>[63]。工业界亟需一种面向多领域、适应性更强的建模语言。因而在1996年,学术界和工业界的相关研究人员就此类问题成立了研究组,着手进行针对基于面向对象的建模语言的标准化的研究和讨论,意图建立起一种能够广泛应用的标准化建模语言,ModelicaADDINEN.CITE<EndNote><Cite><Author>Fritzson</Author><Year>2004</Year><RecNum>178</RecNum><DisplayText><styleface="superscript">[64]</style></DisplayText><record><rec-number>178</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620475040">178</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Fritzson,P.</author></authors></contributors><titles><title>PrinciplesofObject-OrientedModelingandSimulationwithModelica2.1</title></titles><dates><year>2004</year></dates><urls></urls></record></Cite></EndNote>[64]语言由此诞生。由于Modelica语言是在C语言的基础上开发而成的,其最大特点之一就是使用类作为其基本单元,因而使用Modelica搭建起来的模型具备重用性高、无须符号处理等优点。为了使工业界的研究者更方便的使用Modelica语言进行建模仿真,Modelica的开发者针对Modelica语言开发出了相应的集成开发环境(IntegratedDevelopmentEnvironment,IDE),用户除了直接使用基本语法以代码的形式进行模型的搭建外,还可以通过托拉拽的方式更直观的完成模型的搭建过程。前述已经提到过,类是Modelica语言的最大的特点之一,是Modelica组件的最基本单元,其由变量、方程、成员类等部分组成。变量即为模型中的某个物理量,是组成类的最基本单元;方程用来描述变量之间的数学关系,用来描述类的行为;成员类可以直接被定义,也能通过继承来获得。表3-1所示为Modelica中常见的类的关键字及其作用,除通用类关键字class外,其他关键字均为class的特殊形式,因而他们可以被通用类关键字替代,且不会改变其作用。表STYLEREF1\s3SEQ表\*ARABIC\s11Modelica中常见的类及其作用关键字名称作用class类通用类model模型基本模型connector连接器连接接口record记录数据结构type类型类型别名package包组织模型层次此外,由类构成的组件则是Modelica语言另一个最独特的地方。Modelica通过给类添加相应的接口,使之具备数值输入和输出的功能,此时的类则转变成了组件,这也是典型的Modelica仿真模型中最基本的组成部分。组件的接口称为连接器,用于连接不同的组件,将不同组件中获得的输出值传递给下一个组件,作为输入值输入,进行下一部分的仿真。通过将同一领域中不同物理实体逐个抽象出成Modelica组件,即可得到特定领域的组件包,也被称为组件库,使用组件库即可快速搭建特定领域的物理模型。除了面向对象建模以外,Modelica建模语言还具有如下特点:非因果建模Modelica语言的开发者致力于将Modelica打成为以方程为基础的建模语言,这意味着Modelica的使用者可以直接基于方程的形式对物理过程进行建模。这与基于赋值语句的建模语言不同,基于方程的建模能够很直观的表述某个物理现象,不需要过分关注物理现象中存在的各个变量之间的因果关系。这也与研究者们在日常的研究中所关注的重点一致:即只需要关注物理过程中的变量存在哪些关系(方程),保证方程数与未知变量的个数一致时,求解器即可将未知变量求解出来。非因果建模的含义也于此体现出现:无需指出等号哪边是输入变量(已知变量),哪边是输出变量(求解变量),且不用考虑方程的计算顺序、求解方向,极大的提升了建模过程的灵活性,也提高了Modelica模型的重用性ADDINEN.CITE<EndNote><Cite><Author>张二青</Author><Year>2015</Year><RecNum>179</RecNum><DisplayText><styleface="superscript">[65]</style></DisplayText><record><rec-number>179</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620475080">179</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>张二青</author></authors></contributors><titles><title>基于Modelica语言的交通信息物理系统建模分析与仿真实现</title></titles><dates><year>2015</year></dates><publisher>北京工业大学</publisher><urls></urls></record></Cite></EndNote>[65]。表3-2所示为一个简单的非因果建模和因果建模的语句的示例,对于非因果建模而言,无论是已知的物理量是什么,均可以用一个方程来表述模型;而对于因果建模而言,必须保持左侧为未知量,右侧为已知量,即使用赋值语句来完成模型搭建。表STYLEREF1\s3SEQ表\*ARABIC\s12因果建模与非因果建模非因果建模因果建模已知I,RU=R⋅IU=R⋅I已知U,IR=已知U,RI=陈述式物理建模前述已知,Modelica语言的使用者可以根据“拖、拉、拽”的方式建立物理系统的Modelica模型,这种建模方式实际上也反应出了Modelica的另一个特性,即陈述式的物理建模方式。在定义好相关组件以后,Modelica的使用者就能够根据实际物理系统的拓扑结构去构建模型,模型中的组件对应着实际物理系统的物理元件或设备,模型中组件的连接则对应着实际物理系统中物理原件或设备的连接ADDINEN.CITE<EndNote><Cite><Author>赵建军</Author><Year>2006</Year><RecNum>131</RecNum><DisplayText><styleface="superscript">[66,67]</style></DisplayText><record><rec-number>131</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1619578930">131</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>赵建军</author><author>陈立平</author><author>华中科技大学国家CAD支撑软件工程技术研究中心,武汉</author></authors></contributors><titles><title>Modelica语言及其多领域统一建模与仿真机理</title><secondary-title>中国系统仿真学会全国会员代表大会暨全国学术年会</secondary-title></titles><dates><year>2006</year></dates><urls></urls></record></Cite><Cite><Author>Alex</Author><Year>2015</Year><RecNum>105</RecNum><record><rec-number>105</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1619317773">105</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Alex,J.</author><author>BetEaU,J.F.</author><author>Copp,J.B.</author><author>Hellinga,C.</author><author>Jeppsson,U.</author><author>Marsililibelli,S.</author><author>Pons,M.N.</author><author>Spanjers,H.</author><author>Vanhooren,H.</author></authors></contributors><titles><title>Benchmarkforevaluatingcontrolstrategiesinwastewatertreatmentplants</title><secondary-title>IEEE</secondary-title></titles><periodical><full-title>IEEE</full-title></periodical><dates><year>2015</year></dates><urls></urls></record></Cite></EndNote>[66,67]。图3-1所示为使用Modelica搭建简单电路的模型示意图,采用这种方式构建的模型符合用户的思维习惯,能够保持实际系统的层次结构,对于构建复杂的物理系统而言具有很大的优势。而图3-2则是由Simulink搭建的简单电路的模型示意图,可以直观的看出陈述式物理建模(Modelica)和过程式建模(Simulink为例)的差别。图STYLEREF1\s3SEQ图\*ARABIC\s11Modelica的简单电路建模示例ADDINEN.CITE<EndNote><Cite><Author>孙鑫南</Author><Year>2019</Year><RecNum>222</RecNum><DisplayText><styleface="superscript">[68]</style></DisplayText><record><rec-number>222</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620524131">222</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">孙鑫南</style></author></authors></contributors><titles><title><styleface="normal"font="default"charset="134"size="100%">基于</style><styleface="normal"font="default"size="100%">Modelica</style><styleface="normal"font="default"charset="134"size="100%">的蒸汽管网系统热工水力动态特性分析</style></title></titles><dates><year>2019</year></dates><publisher><styleface="normal"font="default"charset="134"size="100%">浙江大学</style></publisher><urls></urls></record></Cite></EndNote>[68]图STYLEREF1\s3SEQ图\*ARABIC\s12Simulink的简单电路建模示例ADDINEN.CITE<EndNote><Cite><Author>孙鑫南</Author><Year>2019</Year><RecNum>222</RecNum><DisplayText><styleface="superscript">[68]</style></DisplayText><record><rec-number>222</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620524131">222</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">孙鑫南</style></author></authors></contributors><titles><title><styleface="normal"font="default"charset="134"size="100%">基于</style><styleface="normal"font="default"size="100%">Modelica</style><styleface="normal"font="default"charset="134"size="100%">的蒸汽管网系统热工水力动态特性分析</style></title></titles><dates><year>2019</year></dates><publisher><styleface="normal"font="default"charset="134"size="100%">浙江大学</style></publisher><urls></urls></record></Cite></EndNote>[68]连续离散混合建模对于随时间连续变化的物理系统,Modelica使用微分代数方程来描述其变化特性;而对于某一时刻的物理系统而言,其采用基本物理方程和规律(如质量守恒、能量守恒、动量守恒等)来描述当前时刻物理系统的行为。同时,当系统在某一时刻因外界条件改变时,Modelica也能准确模拟出系统后续的变化,以“事件”的形式来反应这一变化。这种“事件”的形式是通过在Modelica模型代码中插入if语句或when语句来描述的,以默认系统变量time记录着模型运行的时间,只需要将time变量赋值并作为if语句或when语句中的条件量,即可在某一时刻将事件插入到仿真过程中。下面以经典自然对流过程——牛顿冷却过程为例,展示Modelica在插入事件时的仿真表现。其基本方程如公式(3-1)所示。m式中:m——物体质量/kg,取0.1;cp——定压热容/J⋅K⋅kg-1,取1.2;T——物体温度对时间的导数;h——对流传热系数/W⋅m2⋅K-1,取0.7;A——传热面积/m2仿真时间为1秒钟,当运行至0.5秒时,环境温度Tinf图STYLEREF1\s3SEQ图\*ARABIC\s13加入扰动的牛顿冷却过程温度变化OpenModelica仿真平台自Modelica语言诞生以来,经过20多年的发展,国内外基于Modelica的所开发仿真软件较为成熟,目前市场上主流的Modelica仿真软件包括:DymolaADDINEN.CITE<EndNote><Cite><Author>梁俊翠</Author><Year>2019</Year><RecNum>256</RecNum><DisplayText><styleface="superscript">[69]</style></DisplayText><record><rec-number>256</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1621776374">256</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>梁俊翠</author><author>刘方</author></authors></contributors><titles><title>基于Dymola仿真平台的CO2热泵储能系统优化研究</title><secondary-title>上海电力学院学报</secondary-title></titles><periodical><full-title>上海电力学院学报</full-title></periodical><pages>57-62+67</pages><volume>35</volume><number>02</number><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[69]、JModelicaADDINEN.CITE<EndNote><Cite><Author>Qin</Author><Year>2019</Year><RecNum>257</RecNum><DisplayText><styleface="superscript">[70]</style></DisplayText><record><rec-number>257</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1621776448">257</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>Qin,Y.</author><author>Korkali,M.</author><author>Top,P.</author><author>Min,L.</author></authors></contributors><titles><title>AJMLibraryforPowerGridDynamicSimulationwithWindTurbineControl</title><secondary-title>2019IEEEPower&EnergySocietyGeneralMeeting(PESGM)</secondary-title></titles><dates><year>2019</year></dates><urls></urls></record></Cite></EndNote>[70]、SimulationXADDINEN.CITE<EndNote><Cite><Author>韩双蔓、倪向东、鲍明喜、赵新、李申、王光明</Author><Year>2020</Year><RecNum>258</RecNum><DisplayText><styleface="superscript">[71]</style></DisplayText><record><rec-number>258</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1621776733">258</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>韩双蔓、倪向东、鲍明喜、赵新、李申、王光明</author></authors></contributors><titles><title>基于SimulationX的液压功率分流无级变速箱建模与仿真</title><secondary-title>液压与气动</secondary-title></titles><periodical><full-title>液压与气动</full-title></periodical><pages>74-79</pages><volume>No.352</volume><number>12</number><dates><year>2020</year></dates><urls></urls></record></Cite></EndNote>[71]、MapleSim、MWorksADDINEN.CITE<EndNote><Cite><Author>王凯</Author><Year>2019</Year><RecNum>255</RecNum><DisplayText><styleface="superscript">[72]</style></DisplayText><record><rec-number>255</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1621776335">255</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>王凯</author></authors></contributors><titles><title>最优控制的直接打靶法实现与改进研究</title></titles><dates><year>2019</year></dates><publisher>华中科技大学</publisher><urls></urls></record></Cite></EndNote>[72]、OpenModelicaADDINEN.CITE<EndNote><Cite><Author>Akesson</Author><Year>2010</Year><RecNum>122</RecNum><DisplayText><styleface="superscript">[73]</style></DisplayText><record><rec-number>122</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1619340228">122</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Akesson,J.</author><author>Arzen,K.E.</author><author>Gaefvert,M.</author><author>Bergdahl,T.</author><author>Tummescheit,H.</author></authors></contributors><titles><title>ModelingandoptimizationwithOptimicaandJM—Languagesandtoolsforsolvinglarge-scaledynamicoptimizationproblems</title><secondary-title>Computers&ChemicalEngineering</secondary-title></titles><periodical><full-title>Computers&ChemicalEngineering</full-title></periodical><pages>1737-1749</pages><volume>34</volume><number>11</number><dates><year>2010</year></dates><urls></urls></record></Cite></EndNote>[73]等。Dymola是由DassaultSystems所开发的商业软件,是当前市场上对Modelica语言支持最好的一款软件,支持超过105数量级的表达式的复杂模型的仿真,此外Dymola也为其他软件提供丰富的接口,其中包括MATLAB软件的专用接口,能够将Modelica模型直接转换为SIMULINK模型进行仿真;JModelica是由瑞典隆德大学开发的Modelica仿真平台,主要用于对复杂动力学系统的优化、仿真和分析,与其他仿真平台不同,JModelica仿真平台的最大优势在于能够与当前主流程序语言(例如Python和C语言)联合仿真,通过在其他语言平台调用脚本语言,再通过脚本语言与Modelica进行交互,因此利用JModelica可以轻松调用丰富的优化算法对模型进行优化控制,目前JModelica已处于闭源状态,其最后一个开源版本仍支持开放下载;SimulationX是由ITIGmbH公司开发的一款商用图形化建模工具,支持从一维到三维的复杂多领域系统的仿真与分析,SimulationX提供了MATLAB的接口,能够按照SIMULINK的S函数导出模型,可与MATLAB进行联合仿真;MapleSim是由Maplesoft开发的图形化建模工具,通过图形模块的方式搭建复杂物理系统的模型,自动生成并简化模型方程,得到较为简洁的模型,但其最大缺点就是仅支持Modelica标准库,无法访问第三方Modelica模型库ADDINEN.CITE<EndNote><Cite><Author>Hřebíček</Author><Year>2008</Year><RecNum>182</RecNum><DisplayText><styleface="superscript">[74]</style></DisplayText><record><rec-number>182</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1620480773">182</key></foreign-keys><ref-typename="ConferenceProceedings">10</ref-type><contributors><authors><author>JHřebíček</author><author>Řezáč,Martin</author></authors></contributors><titles><title>ModellingWithMapleAndMapleSim</title><secondary-title>ConferenceonModelling&Simulation</secondary-title></titles><dates><year>2008</year></dates><urls></urls></record></Cite></EndNote>[74]。相比于国外的Modelica仿真软件,国内基于Modelica所开发的软件较少,最突出的是由苏州同源软件公司联合华中科技大学所开发的MWorks仿真平台。MWorks是基于Modelica的多领域物理系统可视化建模仿真平台,拥有比较成熟的第三方拓展包,能够满足众多行业的需求。MWorks的最大特色之一在于其提供了三维动画处理器,能够对直观的展现出系统的运行过程。此外MWorks还支持C++、Python编写脚本进行联合仿真。但是并不支持Python等语言的外部调用,只能在MWorks内部进行联合仿真。以上是基于Modelica的主流商业软件,在开源软件方面,OpenModelica作为一款完全开源的图形化建模仿真平台,由开源Modelica联盟(OpenSourceModelicaConsortium,OSMC)所支持,其最大优点在于其对Modelica语言是兼容性极强,支持所有的Modelica语法,其内核紧跟着Modelica版本不断升级,几乎占据了当前所有Modelica的开源市场。基于此,本文选择OpenModelica作为仿真平台,开展面向活性污泥法污水处理过程的建模研究。OpenModelica软件主要由首页、建模、绘图、调试等页面组成。图3-4为OpenModelica软件的建模工作界面。主要由库浏览器(图中A区)、建模窗口(B区)、消息浏览器(C区)和文档浏览器(D区)组成。库浏览器中显示OpenModelica软件中加载的模型库;建模窗口主要用于搭建模型,包括图标视图、组件视图、文本视图和文档视图;消息浏览器主要显示OpenModelica在加载模型库、建模和仿真过程中的运行情况;文档浏览器主要是用于展示模型的解释说明内容。图STYLEREF1\s3SEQ图\*ARABIC\s14OpenModelica的建模界面图3-5是OpenModelica软件的仿真结果窗口,主要由图表显示区域(E区)、模型参数区域(G区)和消息浏览区(F区)组成。通过选取模型参数区中的变量,可以在图表显示区域中显示变量的变化图。同样地,在消息浏览器中可以察看仿真过程出现的报错信息和报警信息。图STYLEREF1\s3SEQ图\*ARABIC\s15OpenModelica的仿真结果界面如图3-6所示,OpenModelica仿真平台主要包括以下几个子系统,各系统之间相互连接,为OpenModelica的整体运行提供不同的功能。图STYLEREF1\s3SEQ图\*ARABIC\s16OpenModelica仿真环境的体系结构图中各部分之间使用箭头表示数据和控制流。各部分的主要功能如下:交互式会话处理程序:用于解析和解释命令和Modelica表达式,以进行求值、模拟、绘图等,包含简单的历史记录工具,以及命令中文件名和某些标识符的完成。Modelica编译器:使用预定义的、用户定义的或从库中获取的包含类、函数和变量定义的符号表将Modelica转换为C代码。编译器包括Modelica解释器,用于交互使用和常量表达式求值。执行器:执行已编译的二进制代码以及与数值解算器相连的基于方程的模型的模拟代码。MDTEclipse插件编辑器:Eclipse插件MDT(Modelica开发工具)提供了文件和类层次结构浏览和文本编辑功能,与Emacs编辑器/浏览器相当类似。还包括一些语法突出显示工具。Eclipse框架的优点是更容易添加将来的扩展,比如重构和交叉引用支持。OMOptim优化子系统:使用配置方法的动态优化作用于Modelica模型,拓展带有目标函数和附加约束的优化规范。OMNotebook/DrModelica模型编译器:与MathModelica中提供的更高级的Mathematica笔记本相比,该子系统提供了一个轻量级笔记本编辑器。这个基本功能基本上仍然允许处理整个DrModelica教程。可以表示和编辑带有章节和节的层次文本文档,包括基本格式。单元格可以包含普通文本或Modelica模型和表达式,这些模型和表达式可以进行计算和模拟。Modelica调试器:Modelica模型调试器显示模型公式源代码中错误的位置。它跟踪编译器在从表达式到底层生成的C代码的过程中所做的符号转换,并解释已经完成的转换。图形模型编辑器:用于通过连接Modelica类的实例进行基于组件的模型设计,并浏览Modelica模型库以读取和拾取组件模型。图形模型编辑器还包括一个用于编辑模型类定义的文本编辑器和一个用于交互式Modelica命令评估的窗口。图3-7所示为OpenModelica软件的仿真流程。用户编辑完Modelica源码后,OpenModelica并不是直接进行仿真,而是先生成Modelica模型,再将Modelica模型翻译成扁平化模型,而后分析器将其中的方程进行排序并生成相应的矩阵,优化器将生成的矩阵进行优化,经过代码生成器生成C语言代码推送到C语言编译器,最后执行C语言程序,完成仿真过程。图STYLEREF1\s3SEQ图\*ARABIC\s17OpenModelica仿真过程活性污泥法污水处理过程的Modelica模型GeraldReichl根据污水处理厂(WasteWaterTreatmentPlant,WWTP)的物理规律和数学规律,开发了Modelica的污水处理过程库WasteWater。WasteWater库中包含了三种活性污泥模型ASM1、ASM2d和ASM3,每种ASM模型中还包含了对应的五种二沉池模型和基本组件。Icons包含了字库ASM1、ASM2d及ASM3中各组件的图形布局的定义,用于图形化建模和组件图标显示。Misc则提供了复杂废水处理厂示例中的控制器。WasteWaterUnits中定义了污水处理过程中使用的基本物理量及其单位。在每个ASM系列的模型中,还包含了各自的接口模型包Interfaces,Interfaces中包含了污水处理模型的连接器、ASM1化学计量参数和ASM1基本反应组件。基本反应组件活性污泥基准组件ASM1base是活性污泥模型的基类,定义了活性污泥1号模型ASM1基本反应过程,是生化反应过程的基础。组件ASM1base中定义了ASM1过程的13个组分,14个动力学参数以及8个子反应过程。其中组分直接按照变量类型Real定义,为基本的变量类型;动力学参数则按照类型Parameter给定,可根据具体的生化反应过程赋予数值;而8个子反应过程则与ASM1反应机理相关,由式(2-1)~(2~8)确定;由8个子反应过程带来的各组分变化率可以通过式(2-9)~(2-21)确定。各组分的实际变化速率除了与生化反应的速率有关外,还与由上一组件传入的各组分的量相关以及流出组件的各组分的量相关。因此ASM1base只能表述基本的反应类型,各组分具体的变化值需要在通过具体组件来进一步定义。ASM1base部分代码见附录。生化池组件生化池部分主要有厌氧池和好氧池所组成,主要区别在于是否存在曝气设备对其输送氧气,此处主要由参数氧传递系数KLa来决定,当KLa为0时,无曝气设备供气,即为厌氧池;当KLa不为0时,即存在曝气设备对其供气,即为好氧池。厌氧池和好氧池部分代码见附录。厌氧池组件厌氧池组件模拟了在污水处理厂的非曝气(反硝化)池中发生的ASM1过程和反应。其ASM1反应表达式通过继承基本反应组件ASM1base所获得,此外定义了厌氧池的体积等参数。好氧池组件好氧池组件模拟了在污水处理厂的曝气(硝化)池中发生的ASM1过程和反应,各组分的生化反应过程也是由继承ASM1base的方式获得,但与厌氧池不同的是,好氧池中除了定义了输入反应池体积、各组分因输入导致的变化率外,还定义了由曝气设备所引起的氧传递系数KLa,KLa代表因曝气过程引起的氧传递系数的变化。此外还定义了由曝气设备通过公式即可算出曝气量的大小,进而计算出曝气设备的能耗值。曝气量的大小影响着硝化反应的进行,进而影响溶解氧浓度的变化。二沉池组件二沉池组件主要是基于Takacs的理论二次沉降池进行建模,该模型中由于不进行生化反应,因而只需考虑物理变化即可。由第二章可知,二沉池总共分为10层,生化池的出水通过第六层(即注水层)进入二沉池组件,随后液体依次通过七至九层进入顶层,随后排入江河,污泥一次通过五至二层进入底层,一部分进入外循环返回1号反应单元,另一部分进入污泥处理系统。二沉池部分代码见附录。模型通过定义bottom_layer、lower_layer、feed_layer、upper_layer、top_layer依次抽象二沉池的底层、二至五层、六层、七至九层和顶层。对于每一层又定义了上层与下层的连接器来分别对进入上下层流动的污水进行模拟。此外还有关于固体组分的比例、沉降速率函数等,至此即可模拟二层池污水的固液分离过程。活性污泥处理过程开环模型表3-3为模型搭建主要使用的组件名称与实际实验设备对应表,通过搭建活性污泥处理过程的各部分组件,即可进一步搭建出活性污泥处理过程开环模型。表STYLEREF1\s3SEQ表\*ARABIC\s13ASM1包中各组件与实际组件对应表ASM1中Modelica组件ASM1过程实际设备deni厌氧池nitri好氧池SecClarModTakacs二沉池blower曝气设备Pump泵EffluentSink出水池SludgeSink出泥池ControlledDivider2分流管divider2分流管(一分二)mixer2混合管(二合一)mixer3混合管(三合一)sensor_CODCOD传感器sensor_NHNH传感器sensor_NONO传感器sensor_OOsensor_Q流量传感器sensor_TKN总凯氏氮传感器sensor_TSS总固体悬浮量传感器基于WasteWater包在OpenModelica上搭建的活性污泥基准仿真模型开环模型如图3-8所示。图中生化池部分(即tank1~5)模型是继承组件ASM1base后二次开发而成,能够保证生化反应的一致性,其主要区别在于缺氧池(即tank1~2)的氧气传递系数KLa取值为零,其物理意义是代表没有氧气传入组件,此外还赋予相应的体积参数;好氧池(即tank3~5)赋予其氧气传递系数在搭建BSM1模型时,由于原WasteWater包是基于Dymola进行开发的,其所有的时间都是以天(d)为单位,而OpenModelica其仿真的基准单位为s,因而在模型构建的过程中,将对原有的包进行二次开发,即将包括物理量的单位和模型中的相关参数均调整为以秒为单位。此外,对于质量浓度变量,原WasteWater包中的单位为mg∙l-1,在OpenModelica中无法正确识别,因而改成图STYLEREF1\s3SEQ图\*ARABIC\s18活性污泥基准仿真模型开环模型活性污泥法污水处理过程仿真模型验证由于实际因素的限制,本文未能收集到污水处理厂实际运行数据,故此处使用欧盟科学技术与合作组织官方网站提供的100天测试数据用作污水处理仿真平台的入水数据,进行校准实验。在无任何控制操作的情况下,运行仿真平台,当平台出口水质流量稳定时,记录此时的出水数据,不断调整Modelica模型的程序参数,直到稳定状态下模型中二沉池出水数据与网站提供的参考出水数据结果一致为止,即可说明所搭建的模型具备一定的可靠性。活性污泥基准仿真模型的仿真初值、出水数据及参考值如表3-4所示,生化池及二沉池仿真出水数据及参考值见表3-5、3-6、3-7、3-8所示。表STYLEREF1\s3SEQ表\*ARABIC\s14稳态仿真出水数据ADDINEN.CITE<EndNote><Cite><Author>王俊禄</Author><Year>2018</Year><RecNum>87</RecNum><DisplayText><styleface="superscript">[75]</style></DisplayText><record><rec-number>87</rec-number><foreign-keys><keyapp="EN"db-id="tepw2tsr39arwdesssvppaxhzsptaftvz0zr"timestamp="1619140342">87</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author>王俊禄</author></authors><tertiary-authors><author>杜先君,</author></tertiary-authors></contributors><titles><title>活性污泥过程关键性问题及控制策略研究</title></titles><keywords><keyword>污水处理</keyword><keyword>活性污泥过程</keyword><keyword>参数估计</keyword><keyword>溶解氧控制</keyword><keyword>BOD_5软测量</keyword><keyword>布谷鸟搜索算法</keyword><keyword>极限学习机</keyword></keywords><dates><year>2018</year></dates><publisher>兰州理工大学</publisher><work-type>硕士</work-type><urls></urls><remote-database-provider>Cnki</remote-database-provider></record></Cite></EndNote>[75]组分单位初始值仿真值参考值Sg∙30.00030.00030.000Sg∙69.5000.889490.88900Xg∙51.2004.39184.3900Xg∙202.320.188440.18800Xg∙28.1709.78159.7800Xg∙00.572510.57300Xg∙01.72831.7300Sg∙00.490950.49100Sg∙010.41510.400Sg∙31.5601.73331.7300Sg∙6.95000.688450.66800Xg∙10.5900.0134800.013500Smol∙7.00004.12564.1300表STYLEREF1\s3SEQ表\*ARABIC\s15生化池稳态仿真结果组分生化池1生化池2生化池3生化池4生化池5单位S30.00030.00030.00030.00030.000g∙S2.80821.45881.14950.995330.889493g∙X1149.11149.11149.11149.11149.1g∙X82.13576.38664.85555.69449.306g∙X2551.82553.42557.12559.22559.3g∙X148.39148.31148.94149.53149.80g∙X448.85449.52450.42451.31452.21g∙S0.00429856.31328e1.71842.42890.49095g∙S5.36993.66196.54109.298910.415g∙S7.91788.34435.54792.96741.7333g∙S1.21690.882280.829090.766970.68845g∙X5.28495.02914.39243.87903.5272g∙S4.92775.08024.67484.29354.1256mol∙Q1.06751.06751.06751.06751.0675m∙表STYLEREF1\s3SEQ表\*ARABIC\s16二沉池稳态仿真结果层数SSSSSSSXg∙g∙g∙g∙g∙g∙mol∙g∙1030.0000.889490.4909510.4151.73330.688504.125612.495930.0000.889490.4909510.4151.73330.688504.125618.113830.0000.889490.4909510.4151.73330.688504.125629.505730.0000.889490.4909510.4151.73330
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自由越野测试题及答案解析(2025版)
- 2025年上半年信息系统项目管理师考试真题及答案
- 总账会计面试常见问题及答案
- 一扶计划招募考前自测高频考点模拟试题及答案详解(夺冠)
- 2025年汽车智能网联技术工程师综合能力测试试卷及答案
- 2025年人力资源管理师考试《薪酬管理与绩效考核》备考题库及答案解析
- 2026广西柳州市铁二中学教师招聘1人备考考试题库及答案解析
- 2023年一级建造师《建筑实务》考试真题及答案解析
- 无人机测绘操控员岗前理论实操考核试卷含答案
- 软木烘焙工岗前安全培训效果考核试卷含答案
- U3Lesson17Lesson18(课件)六年级英语上册(人教精通版)
- 内热针疗法课件-
- 综采采煤工艺
- 图书馆中级职称专业技术资格考试题库
- 影像记忆之记忆宫殿-抽象词语转换训练
- JGJ142-2004《地面辐射供暖技术规程》条文说明
- 《组织的力量 增长的隐性曲线》读书笔记思维导图PPT模板下载
- 农业银行境外汇款申请书样板
- GB/T 20671.5-2006非金属垫片材料分类体系及试验方法第5部分:垫片材料蠕变松弛率试验方法
- 包茎包皮过长精选课件
- 护士注册健康体检表下载【可直接打印版本】
 
            
评论
0/150
提交评论