热动力系统仿真技术
苟小龙
2004,10
第 1 讲 绪论
1.1 引言
? 系统仿真技术是近几十年发展起来的一门综合性技术科学,它
为系统分析、系统设计、理论验证、人员培训等提供了一种先
进的手段。增强了人们对客观世界内在规律的认识能力,有力
地推动了科学由定性分析向定量分析的发展。
? 建模与仿真技术的发展历史,是计算机技术、信息技术的发展
史。它应用计算机与信息技术的最新成果,使其成为具有更强
的分析能力,快速渗透到各个领域,在各个领域的成功应用又
促进了系统仿真技术的发展。
? 目前,在各个工业,甚至社会科学领域,建模与仿真日益显得
重要,德国科研部已把这项技术列入 21世纪重点发展的关键技
术之一。在我国航天工业中,已建立起装备完善的国家级仿真
中心,对各种运载系统、发射系统、飞行器在空中的姿态及飞
行器本身进行精细的仿真试验。在火电、核电、化工行业都有
部级以上的仿真中心。
引言 (Con.)
? 可以说,建模与仿真从领域的覆盖面上已差不多包括现代社
会的各个领域,如:能源、交通、航空、航天、冶金、化工
、土木等工程领域,生态、环境、人口、经济运行、金融运
作等非工程领域。
? 从纵向看,其应用的方向有:
设计阶段 ── 参数优化,动态特性分析、控制系统配置;
工业性试验阶段 ── 放大的理论校核,并进行模型验证
与完善;
整个系统的调试阶段 ── 用仿真来提供调整的数据,避
免做大量、昂贵的有时甚至是不或能做的实验,大大缩短调
试过程,使设备及早投运;
系统运行阶段 ── 提供有关系统过去、现在甚至将来的
信息,以利作出正确决策,如:故障诊断、事故预报、预测
性维修、运行方式研究等等;
人员培训 ── 利用仿真模型作仿真培训装置,训练系统
操作人员和管理人员。
仿真技术的特点
仿真技术之所以被广泛应用的主要原因是:有很多生产实验及科学实验
受到经济、安全、时间等各方面的限制。
? 安全性,核电站中的很多实验,尤其是破坏性实验是根本不能做的。例如
:电全停事故,以研究应急系统的反应,实验中如发生意外,则可能导致
反应堆堆芯烧毁,严重时发生核泄漏。因而,仿真技术在核电工业得到广
泛应用,从电站设计、安全分析、运行规程编制等均要用到仿真技术,其
运行人员每年都要在其相应的全仿真机上培训,进行各种操作训练。
? 经济性及快速性,英法合作生产的“协合式”飞机,由于采用了仿真技术
,使其研制周期缩短了。
美国空气动力学中心仿真实验室,采用运算速度为 20亿次 /秒的“克雷
”计算机,用于仿真航天飞机的气体动力学性能。与实物实验相比,其耗
费很小,并且周期短,研制人员的任何一种设想均可以立即将设备在计算
机上制造出来,并进行实验研究。当然,所制造出的是一个虚拟设备。
? 预测性,天气预报、人口预测、工程风险评价、工程未来状态分析等。
? 复现性,如洪水、火灾、地震等自然灾害,由于对原型实验几乎是不可能
的,因而,在这一领域应用计算机仿真就具有非比寻常的意义,对这些自
然灾害的仿真中,人们可以研究防灾规划及在遭遇灾害时指导人员疏散。
仿真技术的意义
纵观仿真技术的发展,其研究的初期,以至于目前
发展最快的应用最好的是对各种系统动力特性及设备控制策
略的研究。而设备的物理特性一般由相关学科研究。归纳起
来,仿真的意义在于:
1、使系统设计实现最优化;
2、使系统研制省时、省工、省钱,降低系统的研制成本;
3、提高系统研制、实验、调试和人员训练过程的安全性;
4、可以预测系统未来的特性和在意外情况下的反应,从而
制定控制策略。尤其在非工程领域,可以尽可能避免直接实
验。
1.2 仿真的定义
用通俗的话来讲,就是用一个物理的或数学的模型去“模仿”真实系统
的外型、工作过程或变化过程。因此也叫“模拟”。其英文名为,Simulation
。目前使用较多的中文名词有:计算机仿真、数值仿真、数值模拟、系统仿
真、仿真、模拟等,其意义相近,但外延并不完全相同。
仿真的确切定义目前尚有争议,但比较典型的定义有两种。
(1) 仿真是对真实系统特性在运行时间内的模仿。
该定义强调对真实系统变化规律或信息传递规律在特定条件下的相似再
现,强调了仿真对实际系统的演示性、复现性。
(2) 仿真是建立系统的模型并用模型对系统进行试验研究的过程。
该定义指出仿真包含建模和用模型作试验两个环节。从而强调了对系统
建模的重要性和仿真是一种试验活动的实质,因而强调了仿真对所研究系统
的探索性和预测性。
在电站热力系统仿真领域,遵循第一种定义,可进行培训用实时仿真器
的开发;遵循第二种定义,可进行工程设计和过程分析用仿真器或原理型仿
真器的开发。
在仿真的定义中,有两个术语必须作进一步的解释:系统、模型。
1.3 系统
1、什么叫系统
系统这个术语已经在各个领域中应用得非常广泛,如:控制系统、汽轮机调速系统、管理系统、经济系统、社会系统等等,这些系统所涉及
的物理规律不同,规模不同,而且描述它的形式、处理它的方法也大不 相同。
在系统仿真中系统的定义是,按一定规律结合、相互作用、相互依存,完成一定功能的诸部分的组合体,叫系统。
从定义可以看出,系统是广义的,它概括了所有工程或非工程的系统。它可以是一个部件,一台设备,一个热力系统,一个控制系统,一个
电站,一个电网,一个能源体系等工程系统;也可以是社会、经济、生 物、环境、管理等非工程系统。
2、系统环境
所谓系统环境是指系统以外的与之相联系的外部关系。任何一个系统都存在于一定环境中,它要受到环境变化的影响,研究系统就必须确定
它与环境的关系,这一关系也称它为边界条件或约束条件。
系统和系统环境与研究的目标有关。例如:如果要研究火电站的一个单元机组,则所界定的系统边界就是电网。而单元机组可分为:机、炉
、电、控各子系统,各子系统也仍然有边界,各子系统又有下级子系统 。这里提到了子系统的概念,要注意:子系统是一个相对的,如果研究
的目标是锅炉,则可以称做锅炉系统,其子系统为:过热器、再热器,汽泡等等。如果只研究过热器,也可叫过热器系统。
总之:系统、子系统、系统环境都是相对的,与研究的目标有关。
系统又分为连续系统和离散系统。
1.4 模型
( 1)什么叫模型
描述真实系统某种或某些特性的实体或数学方程,称为模型。
( 2)模型分类
模型可分为:实物模型(或叫物理
模型)和数学模型两大类,每一类
又可分为静态模型和动态模型两种。
静态模型是系统静态特性的表达,
动态模型是系统动态特性的表达。
数学模型的分类
⑴ 根据模型的时间集合来分
连续时间模型 ──用实型数来表示时间;
离散时间模型 ──用整型数来表示时间;
混合时间模型。
⑵ 根据模型的状态量来分
连续变化模型 ──状态量的变化是连续的;
离散变化模型 ──状态量的变化是不连续的,它只在特定的时刻
变化,而在两个特定的时刻之间保持不变。
⑶ 根据模型中各种描述变量是否存在来分,模型的描述变量包括:输
入量、输出量、状态量。
如果一个模型既没有输入量,也没有有输出量 ——闭式模型,反之
,为开式模型。
如果一个模型没有输入量 ──自治模型,反之,为非自治模型。
如果一个模型没有状态量 ──无记忆模型,反之,为有记忆模型。
数学模型的分类( Con.)
⑷ 根据模型中描述变量的函数关系来分
确定模型 /随机模型
线性模型 /非线性模型
病态模型 /非病态模型。
⑸ 从数学模型的具体形式分
状态量的轨迹
连续变化模型 离散变化模型







连续
时间
模型
常微分
偏微分
连续时间
离散事件分为:
面向进程
面向事件
面向活动
离散
时间
模型
偏微分
离散时间
系统动力学
差分方程
有限状态自动机
马尔可夫链模型
(6)在对某些系统的研究中,还把装有数学模型的计算机与实物模型或
实物连接在一起进行试验,这种仿真称为半实物仿真。
(7)若按仿真试验的时间标尺与实际系统标尺的比值来分,当= 1时,
称为实时仿真,当 ≠ 1时,称为非实时仿真。若 <1,称为超实时仿真,
1为欠实时仿真。有实物介入的半实物仿真多为实时仿真。而无实物介
入的多为非实时仿真。
1.5 计算机仿真的三要素及三个基本活动
1,系统, 模型与仿真之间关系密
切 。 系统是被研究的对象, 模型
则是系统某种或某些特性的描述
。 一般说来, 模型不仅是系统的
代表, 而且应该是系统的简化 。
因研究重点之不同, 对同一系统
的数学模型不是唯一的 。 而仿真
,则包含两个环节:建立模型及
用模型作试验 。
2、系统仿真的主要内容是研究连续域内系统的动态特性而不是静态特
性;系统仿真的主要方式是数学仿真而不是实物仿真;系统仿真的主要
工具是数字计算机。因此,我们所讲的仿真的内涵就是指在数字计算机
上对连续系统的动态数学模型进行试验。
3、计算机仿真包括三个要素和三个基本活动。三要素是:实际系统、
数学模型和数字计算机;联系这三个要素的三个基本活动是:模型建立
,仿真模型建立和仿真试验 (运行)
1.6 计算机仿真的步骤及原则
计算机仿真就是建立系统的动态数学模型并将建立的模型放到计算
机上运行, 以分析问题, 解决问题 。 根据上小节概括的计算机仿真
的三要素和三个基本活动, 可将计算机仿真的全过程分解成以下 7
个步骤:
(1) 界定实际系统
(2) 建立数学模型
(3) 建立仿真模型 ( 含编写源程序 )
(4) 编写仿真试验程序
(5) 模型调试验证
(6) 运行模型用以分析研究实际问题
(7) 仿真结果处理
(1) 界定实际系统
主要是指确定仿真对象,确定仿真的目的和内容,并以此为依据,对所研究的
实际系统进行必要的假定、简化、分解或合并,确定系统内具体的组成部分及
相互连接关系,确定边界条件和约束条件,划出一个界限。
一个实际系统,往往是很复杂的,试图用一个, 万能, 的模型来描述整个系统
的所有特性和所有细节几乎是不可能的,也是不可取的。可行的办法是根据研
究者感兴趣的目标,在深入认识对象的基础上,将其分解成更, 单纯, 的系统
,更小的系统,即作必要的简化假设,加必要的约束条件和边界条件,突出研
究的主要问题,明确系统的可控因素和不可控因素。有时,根据某种需要,也
可把一些性能相同的部件合并在一起,比如两台并联的水泵用一台来代替,两
上串联的给水加热器用崐一个加热器来代替;反之,也可进行分解,比如把过
热器分成不同的几段来表示。
界定系统要注意的另一个重要问题是边界条件的设定 。 系统边界反映了系统同
外界的联系 。 这种联系表现为系统与外界的信息交换量, 系统对外界的作用,
外界对系统的反作用, 系统与相关系统或大系统的兼容性 。 从模块化 ( 见 1.4.4
) 的概念出发, 我们总是希望一个系统相对地更独立, 外界或外系统对其影响
更小 。 另外, 要注意的是, 边界条件在运行中是可变化的 。 当边界条件是某变
量的函数时, 它可能反映了不同的运行状态或不同的设计方案, 反映了外界对
系统的反作用 。
约束条件的设定反映了系统的, 能力, 。 约束条件严, 系统分析解决问题的广
度受限制, 但深度相对增加;约束条件松, 广度较好, 而深度相对减弱 。 通常
,我们并不希望约束条件规定得太严 。
界定系统时,往往要画出系统组成示意图,直观地表示出系统的边界和内部连
接、组成关系。
(2) 建立数学模型
数学模型是对所研究系统的抽象和进一步简化 。 这种抽象和简化, 因
建模者对系统的认识和理解, 建模者对系统关系和注意的重点不同,
建模者所收集到的与系统相关的信息之不同, 以及建模采用的方法之
不同而有差别, 这就是说, 表示同一系统的数学模型不是唯一的 。
建立系统数学模型要做两件事,一是写出反映系统运动规律或特性的
变量间的关系式;二是为这些关系式提供必要的数据。
关系式通常的表达形式为:微分方程, 代数方程, 传递函数, 差分方
程和状态方程 。
提供的数据可来源于设计, 实测, 经验 。
建立数学模型时, 应考虑满足以下原则:
1,清晰性 。
2,简化性 。
3,组合性 。
4,准确性 。
5,通用性 。
(3) 建立仿真模型
1、将数学模型改写成适宜于用计算机语言编写源程序的形式。
2、选择数值算法。
选择算法时, 要注意以下原则:
① 算法要适合求解的问题 。 比如, 实时仿真应选择实时算法:
病态问题选用病态算法;非线性问题采用非线性算法等等 。
② 选择算法要兼顾计算的稳定性, 精确性和计算效率三个方面
并根据求解问题的性质在三者间进行权衡折衷 。 但稳定性是
首要条件 。
③ 选择算法要考虑使用的数字计算机的运算速度, 字长和存贮
空间 。
④ 在先进仿真语言支持下, 如有必要, 可在一份程序中的不同
段采用不同的算法和不同的步长 。
⑤热力系统往往是一个病态系统,建议选择求解病态问题十分
有效的 Gear(吉尔 )算法。
3.采用某种语言
(4) 编写仿真试验程序
仿真的实质就是利用仿真模型作试验。因为仿真试验是人通过计算机运行仿真模
型来实现的,因此,利用仿真模型 (或称为模型源程序 )作试验的内容.步骤.方
式,也应写成计算机程序的形式。仿真试验程序与仿真模型程序是作用与被作用
的关系。当代仿真技术总是把仿真模型程序与仿真试验程序作为两个独立的文件
分开,这同以往把模型.试验写在一份程序里,显然是一大进步。
1,试验的条件:包括试验取值, 试验次数, 试验时间, 积分步长, 试验稳态
求取等 。
2,试验的内容:包括何时何处施加何种扰动;不同时间, 不同地点, 不同扰
动的动态响应结果的比较;多种扰动发生时, 系统的动态响应;感兴趣的初始条
件设置发生变化, 边界条件发生变化, 结构参数设置发生变化, 运行工况点不同
等对动态特性的影响;在一定约束条件下的寻优等等 。 试验内容的拟定取决于试
验的目的 。 模型分别用于系统设计, 运行特性分析, 事故预测及事故分析, 优化
控制, 技改方案论证及技改结果分析时, 将有不同的试验内容 。
在编写试验内容的程序时, 应考虑到便于调试模型, 便于修改试验内容 。
3.试验的结果。包括:①试验结果的输出方式:比如终端屏幕显示,打印机
输出及格式,图形输出及格式;②试验结果的输出量:哪些变量要输出,输出的
时间间隔及时间。③试验结果的存放,确定哪些量以及它们的中间结果或最终结
果需要存放,存放的文件名的设定。④调试.出错信息,其它分析信息的输出和
存放。
(5) 模型调试验证
把写好的仿真模型程序和仿真试验程序放到计算机上作初始运行, 发
现错误, 修改错误, 再运行, 反复多次, 直到程序能顺利执行, 得出
,较为满意, 的结果, 这一过程称为模型调试 。 通过间接经验或现场
试验等直接经验, 检验, 较为满意的结果, 是否符合客观规律和实际
,如果不符, 要对模型作修改, 直至符合一预定的标准, 这一过程称
为模型的验证或确认 。
要调试和验证一个模型程序,需要过以下 5关:
1,程序编译关 。
2,程序连接关 。
3,初始运行关 。
4,找稳态关 。
5.与预定标准对照关。
(6) 运行模型用以分析研究实际问题
编写好的仿真试验程序是运行仿真模型程序的命令序列,它作用
于仿真模型程序,在计算机上使模型程序运转 (执行),以实现建
模仿真的目标。
运行仿真模型与数值求解计算是有区别的。数值求解一般说来是
在某种特定条件下进行的一次解算,而仿真运行是一种试验,是
在不同条件下对模型的多次解算,并对这些解算结果进行综合分
析。所谓的, 运行, 模型而不是, 求解, 模型,正是要强调仿真
的这种试验性质。
七.仿真结果的处理
主要指:
1 仿真结果的可信度分析,确定是否要做补充试验,仿真
结果的存放,编写仿真试验报告。
2 仿真结果是否要用其它分析工具作进一步运算分析,以
获得更大的效果。
2 连续系统的数学模型
2.1连续系统模型的一般概念
一般连续系统模型都可以表示为一阶微分方程组或状
态方程组:
? ? n...1,2,3it,x...,x,xfdtdx n21ii ??
? (,)x F x t? x x x x
n T? [,,,]1 2 ?
? ?
? ?
? ?
? ? ??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
txxxf
txxxf
txxxf
txF
nn
n
n
,,.,,,
.
.
.
,,.,,,,
,,.,,,,
,
21
212
211

其中
?x Ax Bu? ?也可写成:
x x x xn T? [,,,]1 2 ?
A
a a a
a a a
a a a
B
b
b
b
n
n
n n nn n
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
11 12 1
21 22 2
1 2
1
2
?
?
? ? ? ?
?
?,
x
2.2 状态与状态变量
状态,系统的状态是表示系统的最少的一组变量(状态
变量),只要知道了在 t=t0时这组变量和 t>=t0时的输入,
那么就完全能确定系统在 t>=任何时间的行为。因此,系统
在 t时间的状态是由 t0时的状态和 t>=t0时的输入唯一确定
,它与系统在 t0前的状态和输入无关。
状态变量,系统的状态变量是确定系统状态的最少的一组变量,如
果以最少的 N个变量 x1(t),x2(t),x3(t),…,xn(t) 就能完全描述系统的行为,
那么这样 n个变量是一组状态变量。值得注意的是:状态变量并不一
定是物理上可测的量或可观察的量。
2.3 连续时间模型
d y
dt
a
d y
dt
a
dy
dt
a y
c
d u
dt
c
d u
dt
c u
n
n
n
n n n
n
n
n
n n
? ? ? ?
? ? ? ?
?
? ?
?
?
?
? ?
1
1
1 1
0
1
1 1
2
2 1
? ?
? ?
ut() yt() xt( )假定一个系统的输入量,输出量 以及内部状态量
都是时间的连续函数,那么可以用连续时间模型来描述它,连续时
间模型主要有以下形式:
2.4 状态方程的建立方法
由于建立系统状态方程时必须考虑状态变量的初始值
对系统的影响,所以,通常选取与系统中的贮能、贮质
相关的参数作为系统的状态量。这是由于任何贮能与贮
质设备的初始量都会影响系统的未来。
选定一组状态变量后,可以建立一组以下形式的一阶
微分方程组:
? (,,;,,; )
? (,,;,,; )
? (,,;,,; )
x f x x x u u u t
x f x x x u u u t
x f x x x u u u t
n m
n m
n n n m
1 1 1 2 1 2
2 2 1 2 1 2
1 2 1 2
?
?
?
? ?
? ?
?
? ?
如果状态变量即为系统的输出变量,就完全描述了系统的动态
特性,否则还应写出一组输出方程。对线性方程组,可以用以
下方法写成状态方程组的形式。
状态方程的初始值问题 (Con.)
当微分方程的初值条件为零时,其对应的状态方程的
初始条件也为零;但若微分方程是非零初始条件时,必
须将已知的初始条件变换为相应的状态方程的初始条件
。对方程:
d y
dt
a
d y
dt
a
dy
dt
a y
C
d u
dt
C
d u
dt
C u
n
n
n
n n n
n
n
n
n n
? ? ? ?
? ? ? ?
?
? ?
?
?
?
? ?
1
1
1 1
0
1
1 1
2
2 1
? ?
? ?
若已知初始条件:
y y y y
u u u u
n
n
( ),? ( ),?? ( ),( )
( ),? ( ),?? ( ),( )
( )
( )
0 0 0 0
0 0 0 0
1
2
?
?
?
?
有非零参数,而对应的状态方程为:
?? ? ? ?
?X A X B uy C X? ??
为了能由已知的微分方程初值求得状态方程各状态量的初值,将输出
方程分别求 1,2,…, n-1次导数,可得到一组方程:
y t CX t
y t C X t C A X t C B u t
y t C X t CA X t CB u t CA X t C A B u t CB u t
( ) ( )
? ( ) ? ( ) ( ) ( )
?? ( ) ?? ( ) ? ( ) ? ( ) ( ) ( ) ? ( )
?
? ? ?
? ? ? ? ? ?2
?
状态方程的初始值问题 (Con.)
注意到以下几个问题:
1、由于可以引进不同组合的状态变量,所以对于同一个外
部模型,可以有不同的内部模型,即实现不是唯一的。
2、当微分方程的初值条件为零时,其对应的状态方程的初
始条件也为零;但若微分方程是非零初始条件时,必须
将已知的初始条件变换为相应的状态方程的初始条件。
状态方程的初始值问题 (Con.)
2.5 状态与微分方程
随着现代科学技术的迅速发展,对自动控制提出的要求越
来越高,控制对象越来越复杂,如:时变、多输入多输出
、非线性等等,要求控制的精度也越来越高。因此,促进
了控制理论和研究方法的发展。主要有以下几个方面:
1、引入状态空间概念,从时域进行研究
2、动态最佳控制
3、静态最优控制
4、自适应、“自学习”控制
2.6 模型处理技术
模型简化是系统的分析设计和仿真中不可缺少的一环。
所谓模型简化 —— 就是为高阶复杂系统准备一个低阶的
近似模型,它们在计算上、分析上都比原高阶系统模型简
单,而且还可提供关于原系统足够多的信息。
系统的分析、设计和仿真中,常常会遇到一些复杂系统
,这些系统的状态变量很多,阶次很高。
对高阶系统进行仿真或者设计是很麻烦的,从仿真计算
上看,高阶系统的仿真要占用较多的内存和机时,从设计
上看,高阶系统的控制器往往比较复杂,有的甚至是不可
实现的。
因此,需要对高阶系统进行简化降阶,便其变得比较易
于计算,同时又能在一定精度范围内表现原系统的特性。
2.6 模型处理技术( Con.)
衡量一个模型简化方法通常有四条标准:准确性、稳定性、
简便性和灵活性。现说明如下:
准确性 —— 要求简化模型与原型的主要特征一致,例如:
主导极点一致、静态增益一致,频率响应与时间响应基本一
致等。
稳定性 —— 要求简化模型的稳定性与原型一致,而且具有
相近的稳定裕量。
简便性:要求从原型获得简化模型的过程简便,计算量小

灵活性 —— 要求根据实际情况方便地进行调整,并得出有
所侧重的简化模型。
通常以上几个要求是难以同时满足的,有的方法准确性好
,但计算量大,有的方法计算方便,但不能保证稳定等等。
在衬用中常常需要综合考虑。
2.6 模型处理技术( Con.)
原模型稳定,但简化模型可能不稳定,所以尽管此法
十分简单,而且在不少情况下能获得较好的近似模型,
但不并不是处处可用。
近年来,在频域模型简化方面涌现了大量的方法,比
较常见的方法也还有:连分式法、结合稳定判据的混合
方法、频率拟合 Pade法等等,有兴趣的同学可参看自动
控制方面的书籍和文章。
2.6 模型处理技术( Con.)
非线性的处理
一个实际的物理系统,总可以用式 (2.1)所示的一阶微分方
程组进行描述,但这一组方程可能是线性的,也可能是非线
性的。
线性系统更严格的定义是:满足叠加原理,即:若输入乘以
任何常数后,其输出也应乘以,且对于几个输入同时作用的
响应应该是输入分别作用所得响应的总和。线性系统就是满
足叠加原理的系统,对非线性系统叠加原理无效。因此对包
含的非线性系统的问题求解,在数学上要复杂得多。
从另一个方面来看,对于线性系统,组成系统模型的微分方
程与其输入 /输出的大小无关,但对于非线性系统,至少有一
些系数与之有关。对于初始状态为零的线性系统,将其所有
输入乘以常数,其输出也将乘以相同的常数。同样,把原来
输入换用它们的导数或积分,所得的输出也将是原来输出的
导数或积分。
2.6 模型处理技术( Con.)
非线性的处理
线性划模型的基本方法就是在系统的某一工况点附近
,将方程用 Taylor展开,并忽略高阶项。
实际上,在对实际系统进行描述和建模的过程中,常
常会忽略一些因素,而自然得到一组非线性性质不强的
方程组。
2.6 模型处理技术( Con.)
一般线性化方法
通常应用的线性化方法有三种情况:用原工况点的切
线的斜率、用原工况点和将来新工况点的连结的斜率、
分成几段,在每段上取切线或是两点的连线。这些线性
划方法在目前已得到广泛的应用,在许多实际系统中,
非线性特性的曲线的斜率变化不剧烈或是变量波动不过
分的偏离原工况点,这种线性化的方法是比较成功的。
第 3讲 模块化建模的基本理论
3.1 模块的划分
( 1)在实际仿真过程中多用实际系统或部件为基本
模块单元。
( 2)在模块内部实行自治。
( 3)热力系统中绝大多数部件的数学模型,应该是以质
量、能量和动量的热力学守恒方程,以及描述热传递和流
体力学的基本关系的严格应用为基础。
( 4) 建立电站部件数学模型的方法通常是对偏微分
形式的守恒方程采用一些简化假设而得到一组可解的常微
分方程组。
( 1)系统进行仿真的目的在于为一个动态过程中系统各
部件间的相互作用提供一个精确的和有效的分析,而不
在于去详细地分析某一部件的内部工作情况。
( 2)单相流模块主要由能量方程和连续性方程描述,同
时有选择地使用动态动量方程式。通常情况下是省略动
态动量方程,而代之以稳态动量方程。这是因为动态动
量方程将要明显地使系统特征值进入高频、欠阻尼的复
频域,因而使方程的解算时间大大超过不使用动态动量
方程的方程组。
( 3)两相流模块的描述方程同样是以基本的连续性方程
、能量方程和动量方程为基础,同时在方程中考虑了漂
移通量的影响。由于在两相流模块方程中需要用动量方
程来封闭方程组,所以必须包含动态动量方程。
3.2 系统仿真的特点
热力系统本身占有很大的空间,其中包括处于不同热力
学状态的几种介质,并且各处参数都不相同,也就是说
绝大部分参数都是三维空间的函数,具有明显的分布参
数特点。同时,在动态过程中,系统的参数还要随时间
变化。因此,描述系统内部的动态特性就必须用偏微分
方程。这样一个分布参数系统的数学模型显然是十分复
杂的,一般都是进行适当的近似或简化。否则将复杂得
无法求解。 MMS中的模块是通过把流道离散为有限的节
点以减缓分布性的影响而得到的集总参数模型,即模块
的动态方程是仅含有时间变量 t的常微分方程组。
为了得到描述一个完整节点的集总参数守恒方程,首先
要讨论通用的当地守恒方程,所谓当地守恒方程是指它
们描述的是流道中某一点处的动态特性。对当地守恒方
程沿控制体积分就可以描述一个完整的节点。
3.3 守衡方程的一般形式
(1)质量守恒方程
假设:控制体内质量不会创生,也不会毁灭。能量方程
式为:
(2)能量守恒方程
假设 1:系统内能量不会创生, 也不会毁灭;
假设 2:电磁场对工质质量的影响忽略不计;
假设 3:控制体内不发生化学反应 。
能量方程式为:
3.3 守衡方程的一般形式 (Con.)
? ???
?
??
?t
v
x
i
i
? ?
? ? ? ? ? ? ? ?? ?
?
? ?
?
?
?
? ?
?
e
t
ev
x
pv
x q W
v
x
i
i
i
i
ss i
i
? ? ? ? ? ?" '
.
三, 动量守恒方程
假设 1:控制体是一个惯性参考系, 即所研究的容积相对于
空间中的固定参照物没有加速运动, 也设旋转运动:
假设 2:电磁场对体积力的分布没有影响,动量方程式为:
? ? ? ?? ?
?
? ?
?
?
?
??
? ? ?
v
t
v v
x
g p
x
g
x g
i i
i
c i
i
c ij
i
? ? ? ? ? s i n
3.3 守衡方程的一般形式 (Con.)
模块化的概念要求对每个模块所建立的数学模型必须独立于其
它任何一个模块,因此不可能有所谓, 典型的,,即对每一个
模块都适用的节点或控制体。然而用图 2-1所示的节点表征一个
通用的节点可以说明模块的建模理论及建模方法,同时可以阐
述标准的限制假设。这里要特别指出的是,在节点的守恒方程
描述中,同一个控制体使用了全部的三个守恒方程,而不是象
传统的处理方法那样,用质量方程和能量方程来描述控制体,
而动量方程则用于描述包括控制体在内的一个局部子系统。
3.3 模块节点(控制体)
对上面的通用节点作以下假设:
假设 1:无轴功 —产生轴功的模块用另外的方法处理并单
独描述;
假设 2:流体速度失量与控制体横截面垂直;
假设 3:控制体内的流动是一维的;
假设 4:流动边界上的剪应力可用控制体壁面上的摩擦损
失代表;
假设 5:不考虑控制体本身势能和动能的变化;
假设 6:控制体进出口表面积不随时间变化;
假设 7:流体沿流方向无导热和其它热交换, 换热只在径
向进行 。
上述假设条件可使问题大为简化,而模块仍能基本正确地
反映主要的物理现象。
3.3 模块节点(控制体)( Con.)
强度量形式的连续方程
首先定义平均密度为,??M V/
v
dt
dvww
dt
d le ??
??
?
???
?
??
3.3 模块节点(控制体)( Con.)
如果假设节点出口参数的导数等于平均参数的导数
d
dt
w w
dv
dt
v
l
e l? ?
?
? ?
强度量形式的能量方程
定义平均内能为,? ?u U M U v? ?/ / ?
d u
dt v w h w h q w P
dv
dt u
dv
dt u v
d
dte e l l s? ? ? ? ? ? ?
?
??
?
??
1
? ?
??
如果假设节点出口参数的导数等于平均参数的导数
?????? ??????? dtdvudtdvudtdvPwqhwhwvdtdu Lslleel ??? ?1
3.3 模块节点(控制体)( Con.)
强度量形式的动量方程
? ? ? ? ?????? ???????? dtdLwzzgAFPAPAgvwvwLdtwd lewlleecllee ?1
3.3 模块节点(控制体)( Con.)
MMS技术
苟小龙
2004,10
MMS(Modular Modeling System and Simulation Tools)
?什么是 MMS模型?
?如何定义一个 MMS模块?
?MMS工具箱
?MMS建模过程
?MMS向导
?MMS建模操作
目录
学习的目标
?掌握 MMS建模的基本方法;
?熟练掌握 MMS的基本操作;
?能用 MMS独立完成一个简单的过程模型;
?能自行开发 MMS模块。
通过学习,需要掌握的基本内容:
什么是 MMS模型,MMS模块
?Modules are Predefined,Tested,and stored in individual
files which are retrieved for Model Building,This
collection of Modules along with an ACSL Macro file
defines the Module Library.
?An MMS Model is a collection of predefined components
along with connections that define the inter-relationships.
?An MMS Model is processed through automated steps that
produce a Simulation Executable.
模块定义的步骤
?Simulation Objectives
?Plant Systems Involved
?System Diagrams and Data
?Selected MMS Modules / Components
?MMS Model Builder Diagram
?Engineering Component Data
?Source Language Model (ACSL)
?Executable Simulation Model
MMS 工具
? ACSL Simulation Language (MGA)
? MMS Component Macros Written in ACSL Language
? MMS CompGen
? Component Generator
? Used by Framatome for Library Generation
? Also available for Advanced Users
? Used to Define Icon,Ports,Variables,and Coding
? MMS Model Builder
? Graphical Tool for Schematic Definition
? Data Entry to Represent Specific Components
? MMS FORTRAN Water Properties Library
? ACSL Runtime Executive for Running the Simulation
模块库
Fossil - Air/Gas Library
Boilers
Combustion Module
Superheaters
Economizers
Evaporator
Air Heaters
Heat Exchangers
Attemperators
Pulverizer
Fans,Ducts
Compressor
Dampers
Combustor,Gas Turbine
Stack
Balance of Plant Library
Pipes
Pumps
Valves
Steam Turbines
Feedwater Heaters
Condenser
Deaerator
Tank
Motors
Generator
Breakers
Synchroscope
模块库 (cont.)
Controls Library
PID Controllers
On-Off Controller
Hand/Auto Stations
Actuator
Level Transmitter
Function Generator
Sensors (with Noise)
Flip/Flop
Median
Signal Monitor
Nuclear Library*
Boiling Water Reactor
Pressurized Water Reactor
Steam Generators
Pressurizers
Moisture Separators
*Nuclear Library available where allowed by
US Government Export Regulations.
建模过程 (代码生成的过程 )
AIR HEATER
Input Data
Auto-Parameterization
Module Simulation Code
REGENERATIVE HX
Input Data
Auto-Parameterization
Module Simulation Code
PIPE
Input Data
Auto-Parameterization
Module Simulation Code
ETC,(one for each module)
Input Data
Auto-Parameterization
Module Simulation Code
Module
Library
MMS Model
Builder
Source Language Model
Predefined
Data Collection
Automated ProcessingFORTRAN Code
Executable Simulation Model
建模的基本过程
(用户参与 )
Build
System
Diagram
Enter
Component
Data
Calculate
Parameters
Generate
ACSL
Code
Translate
to
FORTRAN
Compile
and
Link
MMS Model Builder
Building Code
Exercise
Simulation
Tie to Training
Simulator
(if desired)
实时模块
? Real Time Performance Achieved by Advanced Pressure-Flow
Techniques
? Development initially driven by Training Simulator Needs
? Recommended Module Library for a majority of new models
? All new modules developed will likely be Real Time Capable.
? The older module library contains some modules that are
inherently real time capable,Others are not and may be
eventually phased out.
? The details of RTC modeling are beyond the scope of the
training,Only need to understand the importance of these
modules for the Salamanca model.
? For the MMS Model Builder,the modules are grouped in
directories for RTC and MMS (which are the older modules),
Both are used in the Salamanca model.
过程仿真模型的运行
? The process simulation executable resides in an executable
extension file that is driven from either the ACSL runtime or
as part of a training simulation,For maintaining the model,
you should understand the advantages of each and how to use
each.
? ACSL Runtime provides an engineering tool for testing,
debugging,and evaluating the model,Command line control
of the model is provided along with extensive analytical tools,
Interactive control of the model while it is running is not
available; in effect,you must set a time for the model to stop
and then run until that point before changing model variable
values.
? Process modeling for the training simulation is added by
specifying the simulation executable to SMaster which
controls the process model.
操作练习
第一步,Open the Model Builder by Left Double-Clicking the
Model Builder Icon on the left side of the Desktop.
Continue with the steps 2 - 22 on the following pages.
General Notes for the steps that follow:
1) Double-Clicking is always in reference to the left mouse button.
2) This instruction is intended as a quick walk through the process of
MMS Model Building,Details will follow in later training sessions.
3) A thick solid arrow,, typically denotes a screen location
that is to be clicked or double-clicked.
4) A thin dotted line,, denotes a window that appears
following an action.
Maximize Both
the Main Window
and Child Window
by Clicking on
these buttons
第二步,Maximize the Windows
Note,This step is included simply for convenience to the new MMS
user,It allows for the training to quickly progress without zooming,
alignment,and sizing features in the Model Builder being essential,
These topics are discussed in a following training session.
3,Double-Click in the client area at
the location the LEFTR modules is
to be placed.
4,Selecting the Module (*.MOD file) from the Module
Library,Move into the,C:\MMS\MODULES\MMSRTC\”
Directory and select the Leftr.mod file by double-clicking.
Note,The directory structure will be discussed later in the training.
第三、四步,Inserting the Left Boundry Module
第五步,Repeat for the Pipe and Position
To Move the pipe,hold the left button down
while the cursor is in the center of the module
and then drag to relocate
第六步,Repeat to Reproduce the Schematic Below.
Select and add the modules shown above,
The module types are circled above.
第七步,Making the Connection between the Leftr and the Pipe
Left Double-Click
on the LEFTR port.
Move the mouse to the pipe
port to connect to,and single
click the right mouse key
Note,How to add,edit,move,and delete points within a connection line will be discussed in the
following training session.
第八步,Repeat for Each of the Connections
第九步,Bring Up the Value Edit Box for the Leftr Boundary Flow
Left Double-Click on
the Leftr Boundary
Module Data Input
Form will appear
Left Double-Click on
the Wwl (Flow)
variable
Value Edit Form
will appear
Note,The default value for the LEFTR boundary will be used for this exercise,Hit Cancel to return from the
dialogs when ready to proceed.
第十步,Change the Pipe Outlet Pressure and Auto-Parameterize
A) Double-Click on
the 1st pipe module
B) Edit the Pressure (Pwl)
so that it is 90 psia (Double
Click).
C) Auto-parameterize by
clicking the AP Button.
第十一步,Finish setting up the Pressure and Flow Values
INSTRUCTION,Set each of the values in the circle
below according to the instructions given in the
earlier steps,Change all values for a module before
Auto-Parameterizing.
PIPE P01
Pwl = 90 psia
SPLITR S01
Pwe = 90 psia
PIPE P02 and PIPE P03
Pwe = 90 psia
Pwl = 80 psia
Wwe = 50000 lbm/hr
Wwl = 50000 lbm/hr
RIGHT X01 and RIGHT X02
Pwe = 80 psia
Wwe = 50000 lbm/hr
第十二步,Prepare for Code Generation
A) Choose,Simulation / Code Generation
Settings / Prolog/Epilog” from the Menu.
B) Choose,Predefined / MMS - RTC
w/Simulator Link” from th e dialog menu.
C) Click,OK” which will save the initial
ending coding which supports the
connection to other simulation tools.
第十三步,Save the MMS File
A) Click the
disk on the
toolbar Since this is a new file,
the,Save As” File
Dialog will appear
B) Move into the
“C:\MMSUG97\Models\Simple”
directory
C) Type in Simple.mms and hit Enter.
第十四步,Generating ACSL Coding
A) Click the CSL Button (or Choose
Simulation/Generate CSL from the Menu)
B) Click Save
Note,The default location for the CSL file is that of the MMS file,Also,the base
name always defaults to the base name for the MMS file.
第十五步,Start the ACSL Builder
A) Choose Simulation/Execute Builder from the Menu
B) Once it appears,click on the ACSL
Builder Button in the Control Bar
Below,Note,takes ~10 seconds the
first time the ACSL Builder is loaded.
第十六步,Translating,Compiling,and Linking
Select Tools / Run ACSL from the Menu.
Note,The ACSL Builder project for this model was precreated and stored in the,...\models\simple” directory,Setting up
an ACSL Builder Project file is a relatively simple matter and will be discussed later in the training.
第十七步,Reviewing and Closing the Logfile
A) A logfile will appear that provides
output from the translation,Typically,the
logfile is reviewed for errors,Most of the
Warning labels that are shown are actually
Version output statements for each of the
MMS macros used in the Model.
B) Double-Click to close this
window after reviewing the
comments.
第十八步,Review the Command File and Start the Simulation
Note,The command file loaded here was included in the,C:\MMSUG97\MODELS\SIMPLE”
directory,Creating a CMD file will be discussed later in the training.
A) The simple.cmd file which contains the 4 lines shown in
this window is automatically loaded,ACSL commands will
be covered later in the training.
B) Click the start button to run the simulation to 100 seconds of model time.
A) Type this command,display P_X0?WE” in the Edit Box Below and hit Enter.
B) Type this command,display W_X0?WE” in the Edit Box Below and hit Enter.
第十九步,Display Intermediate Results
Note,The values shown above are the same as those input to the Model Builder since this model is inherently steady-state
following the auto-parameterization in the Model Builder,
第二十步,Lower the Top Right Boundary Pressure and Continue
A) Enter each of these commands in the Edit Box followed by the Enter key.
B) Type this command and hit enter in order to continue the model to 200 seconds.
第二十一步,Plotting the ACSL Results
Type this command in the Edit Box below and hit enter.
A plot window will appear which shows
the jump in flow at the instant that pressure
was lowered
第二十二步,Running Simulation Master with your Model
A) From the desktop,click the S_Master Icon.
B) Choose,File /
Select Runtime” from
the SMaster menu.
C) Specify the
appropriate PRJ that
was generated from
ACSL Builder,The
MBN and command
files also need to be
specified - see note
below.
NOTE,An appropriate database file (MBN) and command file (CMD) have been pre-generated for this
introduction,The creation of both is very important and will be discussed in detail in a later session.
后续内容
? Our objective for this practice exercise was for everyone to
become comfortable with the complete process of building
an MMS Model.
? How to create the ACSL Builder project and command files
has not been covered,Discussed in MMS Configuration
session.
? Changes required for Training Simulation support has not
been covered,Discussed in MMS Configuration session.
? A more detailed discussion of the Model Builder will
follow.
? The later discussion on CompGen,the Component
Generator,will help solidify your understanding of a
module.
? That’s it for this session!