第1章 概论
计算机仿真技术共有五章组成。将介绍计算机仿真的基本理论与方法以及系统仿真的实现手段。讲述的重点在第二章和第三章,其余三章只作简单的介绍。这样安排的原因是:学时的限制,其二是同学们的知识储备不够,无法作过多的讲解。尤其是第四章,离散事件仿真基础。在我们这个专业中,就很少接触或没有接触过离散事件及其相关的理论,因此,我们很难对这一系统的仿真作深入的讲解。 一)意义
自从第一台计算机问世以来,人们便应用计算机对所研究的系统或者说事件进行仿真实验。计算机仿真技术作为一门独立的科学理论兴起于上世纪的40年代。随着计算机技术和数学理论的发展,计算机仿真理论也得到了快速的发展。它的应用几乎覆盖了人们从事活动的所有的领域。一个大系统或一个大的工程的研究和设计的成功在很大程度上依赖于计算机仿真技术。科研人员的理论研究和解决问题能力的提高也受益于计算机仿真技术。在计算机仿真技术出现以前,人们进行科学技术研究的手段只有两种:理论研究和实验研究。计算机仿真技术为人们提供了又一种新的科学技术研究的手段。这个手段是理论研究和实验研究无法替代的。可以说,这个技术已经成为科学技术研究的第三种手段。计算机仿真技术是当今最实用的技术之一。这一点已被人们所认可。如果认为:计算机仿真技术只为人们的纸上谈兵提供了技术支持,那是错误的。计算机仿真技术也为采样系统、装置的实现提供了技术上的保障。也就是说,不能将计算机仿真技术简单地理解为可以编一个好的程序从而对系统进行分析、设计等等。利用计算机仿真技术也可以制作实际的装置和系统。这些例子在我们周围是经常遇到的。计算机控制系统就是利用仿真技术研制系统的一个很好的例子。所谓计算机控制系统就是利用计算机去替代系统控制回路的硬件部分。而如何用计算机去替代控制回路的硬件,这是计算机仿真技术解决这个问题。再一个典型的例子就是虚拟仪器仪表。在这些仪器中已经不存在传统上意义上的硬件电路,而使用数据处理器替代那些硬件。如何实现这种替代,同样应用了计算
- 1 -
机仿真技术。可以说,只要系统中含有计算机、单片机、DSP等数据处理部件,那么,这个系统就一定含有计算机仿真技术。可以说,利用计算机仿真技术去研制系统或装置已成为目前产品制作的主流。我相信,在未来社会的发展中,计算机仿真技术将直接影响一个国家的科研能力和产品制作。目前,各国对计算机仿真技术的研究投入了大量的人力和财力,这是利益的驱使。
讲述了这么多,希望同学们对计算机仿真技术给与足够的重视。 下面将介绍计算机仿真的定义(研究内容)、概念、分类以及他的发展史和目前的研究情况。 二、 计算机仿真定义:
计算机仿真的定义实质上是回答计算机仿真是做什么的,许多学者对此给出了不同的定义。但是人们觉得这些定义都不够完善。这里我们给出三个计算机仿真的定义。其目的是让同学们更好地理解计算机仿真技术。
1) 利用计算机软件模拟实际环境进行科学实验的综合技术。 2) 仿真是在数字计算机上进行试验的数字化技术。 3) 仿真是建立在控制理论、相似理论、信息处理技术和计算技术等理论
基础之上的,以计算机和其它专用物理效应设备为工具,利用系统模型对真实或假想的系统进行试验,并借助专家经验知识、统计数据和信息资料对试验结果进行分析和研究,进而做出决策的一门综合性的和试验性的科学。
第一、二两种定义简单,但存在不足,(A)有时计算机仿真不存在程序,比如在模拟计算机上的仿真。(B)仿真不仅仅是数字化技术。比如,下面将介绍的半实物计算机仿真。
第三种定义比较完善。但这个定义太长,要想记住他不是个容易的事。理解他就可以了。从第三个定义可看出,计算机仿真技术是建立在诸多科学的理论基础上的。对于一个工程研究人员学习、运用和研究计算机仿真技术,这些理论并不是必须掌握的。从计算机的仿真过程看,以下的理论知识应该是必须掌握:计算机技术(软件、硬件),相似理论,数学和相关领域的系统科学。 三、 计算机仿真的理论基础: 计算机技术(软件、硬件),相似理论,数学理论和相关领域的系统科学
其中,相似理论是计算机仿真的核心理论,没有相似理论就没有仿真理论。数学是计算机的灵魂,没有数学计算机将什么也做不成。计算机的应用离不开数学。计算机仿真技术是从各科学领域的仿真技术中发
- 2 -
展起来的技术。它对各学科的仿真具有理论上的指导和技术上的支持作用。仿真方的是一个具体的系统,这个系统属于某个具体的学科。这无疑要涉及该学科的理论与方法。 四、仿真的工具
1)计算机 2)物理设备
在计算机仿真中所用到的物理设备,不仅仅使显示器打印机之类的输出设备。有时所用到的设备是相当复杂和昂贵的。这一点突出表现在半实物仿真中。要想进行仿真就得有仿真的工具。因此,对计算机仿真技术的研究和应用应包含两个方面的研究和应用,一是软件,二是硬件。软件就是指程序,对软件的研究我们国家不比其他国家差,而对硬件的研究相对差一些。1)计算机,2)物理设备:显示器、打印机
2) 优点:经济、可靠、实用、安全、灵活、可多次重复使用的优点。仿真技术已成为现代科学技术研究的不可缺少的应用工具。
3) 仿真技术的工具:数学理论、相关科学的理论与技术、计算机和各种物理设备。
在有些文献中,仿真计算的工具没有提到相关科学的理论与技术。我个人认为这是不完善的。只有数学理论、计算机和各种物理设备,而对所研究的系统不了解,就无法进行仿真。有人将各领域的仿真方法,或者说技术进行理论上的升华或者说抽象,而提出了计算机仿真技术,并将其作为一门独立的研究领域进行研究。但是,当应用从计算机仿真技术中所得到的成果进行系统仿真时,无不用到相关领域实物系统过的理论与技术。因此,仿真技
输出控制 术所用到的工具应当加上相采样控制 关科学的理论与技术。
计算机仿真不仅是在计算
A/D D/A 机上编制仿真程序,有时还要
设及一些硬件设备。比如,计算机的实时仿真。
计算机数字
处理过程A 实时数字仿真过程框图
- 3 -
4) 仿真技术与工程仿真的关系
计算机仿真技术是从各学科的仿真方法中提炼出来的具有共性的问题。它可作为一个理论或思想去指导各学科的仿真分析之中。是普遍与个体的关系。
系统仿真是上世纪40年代末开始兴起并逐步发展起来的一门新兴学科。随着计算机的发展,这门技术也蓬勃地发展起来了。但是,研制一个仿真系统并不是一件容易的事情。其研制的投资及研制的时间并不是一个小的数字。比如,西门子的电力系统仿真软件,从立项研究到第一个版本的仿真软件的问世,历经了近十年的时间。由于仿真系统所具有的优点,它的投入与其收回的效益相比还是小得多,这也是激励人们研究仿真系统的一个原因。激励人们研究仿真系统还有许多原因。如原子弹爆炸的仿真实验。美国用计算机仿真原子弹的爆炸过程。
亚实时仿真1实时仿真按方针的时间尺度超实时仿真物理仿真4.仿真分类2数学仿真(计算机仿真)
物理-数字仿真(半实物仿真)3 按系统划分分类5.仿真步骤: a)建立系统模型 b)建立仿真模型 c)仿真实验 d)仿真结果分析
6.计算机仿真的历史及现状
1.1计算机仿真的基本概念
1 仿真的种类
系统仿真是指通过系统模型的试验去研究一个已经存在的或正在研究设计中的系统的具体过程。要实现系统仿真首先要寻找一个实际系统的“替身”,这个“替身”被称为系统模型。它不是系统原型的复现,
- 4 -
而是按研究的侧重面或实际需要对系统进行简化提炼,以利于研究者抓住问题的本质或主要矛盾。在计算机出现以前,人们只采用物理仿真,那时的仿真技术附属在其它有关学科之中。随着计算机技术的发展,在仿真领域提出了大量的共同性的理论、方法和技术,所以仿真理论逐渐形成了一门独立的学科。
计算机仿真就是以计算机为工具,用仿真理论来研究系统。系统是仿真技术研究的对象,计算机是进行仿真技术研究所使用的工具。而应用恰当的模型描述系统是进行仿真研究的前提与核心,为了更全面系统地了解系统仿真的基本概念和基本方法,有必要先了解一下什么是系统、系统模型及系统仿真。 1.1.1系统
计算机仿真技术是对系统的研究,因此,首先介绍一下系统。
一)系统:具有特定功能和运动规律的有机整体。在这个整体中,各组成部分相互联系、相互制约、相互依存。 子系统(分系统):系统的组成部分。
如电力系统。它的功能是实现电能的生产、传输和使用。它有其自身的运动规律。它的组成可分为:发电子系统、属电子系统、配电子系统和用电子系统。这些子系统又可有一些子系统组成。从而形成系统的解题形式的连接。
1.原动机子系统1.发电子系统2.砺磁子系统3.发电机子系统2.输电子系统电力系统3.配电子系统 4.用户子系统5.维护子系统 系统的阶梯组成形式
一) 系统研究的内容:
任何系统都存在三方面需要研究的内容:即实体、属性和活动。
- 5 -
实体——组成系统的具体对象;
属性——实体所具有的每一种有效特性(状态和参数); 活动——系统内对象随时间推移而发生的状态变化。 以图1-1中的RLC电路系统为例:
L R
e(t) C
图1-1 RLC电路系统
系统的实体为:电阻R;电感L;电容C和激励e(t); 系统的属性为:电荷q;电流dqdt;激励e(t);R、L、C的数值; 系统的活动为:电振荡(随时间变化)。
影响系统活动的因素可能很多,我们把这些因素分成两类:一个是因部因素,一个是外部因素
1) 影响系统活动的因素: a) 内部因素(内部环境):在系统内可改变的因素;(系统参数、内部激励源)
b) 外部因素(外部环境):在系统内不可改变的因素(外部对系统的注入量)。
三) 系统具有下列性质:
1) 整体性,系统是一个整体,它的各个部分既相对独立,又是不可分割的。
图1-1所示的系统就是由独立的电路元件按一定的规律组成的简单电路系统。
2) 相关性,反映了各组成部分相互联系、相互制约、相互依存。 系统内部的各个部分之间按一定的规律相互联系相互作用。这种联系和相互作用可以表现为某一个子系统从其它的子系统接受输入,从而产生有用的输出作用,该子系统的输出又可能是另一个子系统的输入。如图1-1的电路系统所示,系统的关联性主要表现为每个环节之间的信息流动和信息反馈作用。 3) 目的性,系统要完成特定的功能。
- 6 -
1.1.2系统分类
在对系统分析、仿真机设计之前应首先对系统进行分类。我们对不同类型的系统将采取不同的分析、仿真方法。了解系统的分类对系统的仿真分析是必需的。系统分类的方式很多。如何对系统进行分类,取决于研究的目的。下面解说常见的几种分类方式:
系统的状态只取决于同时刻的输入,即时系统:(无记忆系统) 与他过去的工作状态无关 系统的状态不仅取决于同时刻的输入,动态系统: 1. (有记忆系统) 而且与他过去的工作状态有关静态系统:若系统的状态保持不变,此时的 动态系统又称为静态系统。(状态保持恒定或周期变化)
没有储能元件的系统是计时系统,电阻元件组成的系统 含有储能元件的系统是动态系统
动态系统:t 很小,L R e(t)为非直流和周期变化e(t) 的电源
静态系统:t 趋于无穷C 大,且e(t)为直流或周期变化的电源
确定系统:系统的输入与状态变量有完全确定的函数关系2. 随机系统:系统内部或环境发生不确定的变动,影响系统的状态输出(输入与状态变量不存在完全确定的函数关系)我们所研究的系统大部分是确定系统。严格上讲,自然界中确定系统是不存在的。我们说系统是确定系统,是因为忽视了系统的不确定因素。如,忽视了干扰信号的影响,系统参数(温度的影响)的变化等。确定系统是随机系统的特例。
- 7 -
连续系统:输入和状态在所有时间点上有值3.离散系统:输入与状态只在某些时间点上有值模拟系统:输入与状态随时间连续变化的连续系统称之 数字系统: 输入与状态取值有限的离散系统称之输入/状态(之一) 输入/状态(皆为)
非模拟系统 t 连 续 系 统
模拟系统
t
输入/状态(之一) 输入/状态(皆为) t 非数字系统)
离 散 系 统
t 数字系统
连续系统的输入与状态在所有时间点上有值,并不意味着随时间连续变化。因为若连续变化意味着其导数存在。从图中可见,其导数不一点存在。
离散系统只在某些时间点上有值,在其他时间点上输入与状态无定义,并不是等于零
线性系统:组成系统的元件皆为线性元件 4. 系统中含有非线性元件非线性系统:- 8 -
定常系统:系统参数不随时间变化 5时变系统:系统参数随时间变化集总参数系统:组成系统的元件皆为集总参数元件 6. 系统中含有分布参数元件分布参数系统:1.1.8 系统仿真的应用
系统仿真在系统分析与设计、系统理论研究、专职人员培训等方面
都有十分重要的应用。
(1) 在系统分析与设计中的应用主要有以下几方面:
a)对尚未建立起来的系统进行方案论证及可行性分析,为系统设计打下基础;b)在系统的设计过程中利用仿真技术可以帮助设计人员建立系统模型,进行模型简化及验证,并进行优化设计;c)在系统建成之后,可以利用仿真技术来分析系统的运行状况,寻求改进系统的最佳途径,找出最优的控制策略。
(2)在系统理论研究中的应用:
对系统理论的研究,过去主要依靠理论推导。现在,系统仿真技术为系统理论研究提供了一个十分有利的工具。它不仅可以验证理论本身的正确与否,而且还可以进一步暴露系统理论在实际应用中的矛盾与不足,为理论研究提供新的研究方向。目前,在最优控制、自适应控制和大系统的分解协调控制等理论问题的研究中都应用了仿真技术。
(3)在专职人员训练与教育方面的应用:
系统仿真应用于训练和教育是它应用的另一个重要的方向。现在已经为各种运载工具(包括飞机、汽车和船舶等)以及各种复杂设备及系统(电站、电网和化工设备等)制造出各种训练仿真器。它们在提高训练效率、节约能源及安全训练等方面起着十分重要的作用。
1.2计算机仿真的历史及现状
1.2.1 计算机仿真
模拟计算机仿真
- 9 -
数学仿真的基本工具是计算机,通常又将数学仿真称为计算机仿真。按照所使用的计算机的种类的不同,可以将计算机仿真分为模拟计算机仿真、数字计算机仿真和混合计算机仿真。
(1) 模拟计算机仿真
模拟计算机是由运算放大器组成的模拟计算装置,
它包括运算器、控制器、模拟结果输出设备和电源等。
基本运算部件为加(减)法器、积分器、乘法器和函数器。
运算部件的输入输出变量都是模拟量电压,故称为模拟计算机。 与数字计算机不同,模拟计算机不仅其加(减)法器由硬件组成,其积分器、乘法器和函数器也是由硬件构成的。因此,模拟计算机的运算速度比数字计算机要快。但是,要想用模拟计算机完成复杂的计算是相当困难的。随着数字计算机运算速度的提高,目前,模拟计算机被淘汰。
不管模拟计算机模拟的是什么系统,其变量都用电压值表示,如,机解运动系统,其变量为距离、速度等量,这些量在模拟计算机上表现为电压值。
模拟仿真的理论基础是相似原理。
关于相似原理将在第二章介绍。这里不再多述。 模拟仿真特点:
1) 能快速求解微分方程。模拟计算机运行时各运算器是并行工作的,模拟机的解题速度与原系统的复杂程度无关。
2) 可以灵活设置仿真试验的时间标尺。模拟机仿真既可以进行实时仿真,又可以进行非实时仿真。
3) 易于和实物相连。模拟计算机仿真是用直流电压表示被仿真的物理量,因此和连续运动的实物系统连接时一般不需要A/D、D/A转换装置。
4) 由于受到电路元件精度的制约和易于受到外界的干扰,所以模拟仿真的精度一般低于数字计算机仿真,且逻辑控制功能较差,自动化程度也较低。
(2) 数字计算机仿真
数字计算机的基本组成是存储器、运算器、控制器和外围设备等。 由于数字计算机只能对数码进行操作,所以任何系统在数字计算机上进行仿真都必须将原系统模型变换成能在数字计算机上进行计算的模型即计算机程序。故数字仿真需要研究各种仿真算法,并用这些算法实
- 10 -
现仿真程序的编制。这是数字计算机仿真与模拟计算机仿真的最基本的差别。模拟计算机不需要编制程序。
数字仿真的特点是:
1) 数值计算的延迟。任何数值计算都有计算时间的延迟,其延迟的大小与计算机本身的性能所研究问题本身的复杂程度及使用的算法有关。
2) 仿真模型的数值化。数字计算机对仿真问题进行计算是采用数值计算,仿真模型必须是离散模型,如果原始数学模型是连续模型,则必须转换成适合数字计算机求解的仿真模型,因此需要研究各种仿真算法。
3) 计算精度高。特别是在工作量很大时,与模拟机相比具有更大的优越性。
4) 实现实时仿真比模拟仿真困难。对复杂的快速动态系统进行实时仿真时,对数字计算机本身的计算速度、存取速度等要求高。
5) 利用数字计算机进行半实物仿真时需要有A/D、D/A转换装置与连续运动的实物相连接。
(3) 混合计算机仿真
混合计算机系统是由模拟计算机、数字计算机通过一套混合接口(A/D、D/A)组成的数字、模拟混合计算机系统,该系统具有模拟计算机的快速性和数字计算机的高精度和灵活性的优点。
混合仿真系统的特点是:
1) 混合仿真系统可以充分发挥模拟仿真和数字仿真的特点。
2) 仿真任务同时在模拟计算机和数字计算机上执行,这就存在按什么原则分配模拟计算机和数字计算机任务的问题,一般是使模拟计算机承担精度要求不高的快速计算任务,数字计算机则承担高精度、逻辑控制复杂的慢速变化任务。
3) 混合仿真的误差包括模拟机误差、数字机误差和接口误差,这些误差在仿真中均予以考虑。
4) 一般混合仿真需要专门的混合仿真语言来控制仿真任务的完成。 1.2.2仿真软件及仿真计算机
数字仿真语言是现代仿真工具,因其相对简单而被广泛采用。仿真语言最大的优点是相对独立于硬件和软件装置,其缺点是仿真速度不能满足实时仿真的要求。
- 11 -
仿真软件是一类面向仿真用途的专用软件,它的特点是面向问题、面向用户。它的功能可概括为:1)模型描述的规范及处理;2)仿真试验的执行与控制;3)资料与结果的分析、显示及文档化;4)对模型、试验程序、资料、图形或知识的存储、检索与管理。根据上述功能的实现情况,仿真软件分为仿真程序、仿真语言、仿真环境三个不同层次。
仿真软件包括仿真程序和仿真语言,其中仿真程序是仿真软件的初级形式,是仿真软件的基本组成部分。仿真程序用于某些特定的问题的仿真,可提供许多算法;仿真语言则为用户提供更强的仿真功能,适用于不同领域的多种系统的仿真。仿真程序主要是采用高级计算机语言开发出来的,早期使用Basic语言而现在一般使用Fortran语言和Visual C语言开发仿真程序,并且还发展到采用 Visual C++语言来开发面向对象的计算机仿真程序。
仿真程序一般对计算机的硬件要求比较低,一般的计算机只要配置了相应的算法语言程序就可以运行;仿真程序可以针对不同的问题作适当的修改,以满足不同的需要;仿真程序使用比较简单,只需要输入系统模型和系统参数即可,并可选择多种积分算法。但仿真程序在功能上一般比较简单,只适于解决某一特定领域的一些小型仿真问题。国外从20世纪60年代开始开发适用于不同领域、不同对象的仿真语言,我国也在70年代的后期开始了这方面的研究,仿真语言多属于面向专门问题的高级语言,它是在通用的高级语言的基础上,针对专门问题研制的,分为面向方程和面向框图两种类型的仿真语言。它不需要用户掌握复杂的高级语言,而是由机器自动翻译成高级语言或汇编语言,所以速度比较慢,并且研制周期较长,但它面向用户,具有较强的仿真功能。目前,仿真语言的开发已经取得了可喜的成果,开发出了许多的应用仿真程序。如可以处理一般的数学、物理问题的通用仿真语言ACSL,CSSL,TUTSIM,CSMP等,这类语言可以被应用于各个领域(技术的、非技术的、经济的、社会的),但是用户必须对建模与仿真的方法有一个基本了解,另外一点需要强调是通用仿真语言之所以通用是因为它们只能解决一般的问题,而不能解决所有的问题,只适合于解决一些不太复杂的问题;如果要解决特殊的问题就需要专用的仿真语言MATLAB,SPICE,PSPICE等,这些语言要求用户能深入了解建模与仿真问题,但用它们去解决一般性的问题却极不方便。
现代仿真使用的计算机根据仿真的对象的及仿真的目的的不同,可以使用个人计算机,工作站和大型的计算机。
仿真领域的特点主要表现为大量、复杂、高精度、费时的计算和数
- 12 -
据处理,要求使用的计算机具有高速的运算能力、高速的数据交换能力、大容量的数据处理能力以及高速度的图形处理能力。以前这些工作都由大型机和图形工作站来支持完成,然而随着个人计算机技术的突飞猛进的发展,微处理器、存储介质、图形处理设备等都可以适应仿真领域的要求,操作系统、高级语言、工具软件和应用软件也日益成熟、丰富,个人计算机具有菜单式选择功能和图形用户界面,所以个人计算机也可以满足计算机仿真的要求,一般用于仿真教学,规模较小的系统的离线仿真分析。
工作站是以个人计算环境和分布式网络计算环境为基础,性能高于微型计算机的一类多功能计算机。工作站具有高速运算功能,适应多媒体应用的功能和知识处理功能。中央处理器能够进行高速定点、浮点运算以及高速度图形和处理。工作站由于低廉的价格,友好的人机界面及联网能力,得到了十分广泛的应用。SGI、SUN公司的工作站在该领域一直处于领先的地位,得到了广泛的使用。
大型计算机是由其所处时代的先进技术构成的一类高性能、大容量通用计算机,能够代表一个时期计算机技术的先进综合水平。大型计算机的处理系统可以是单处理机、多处理机或多个子系统的复合体。处理机一般采用两级高速缓冲存储器、流水线技术和多级部件以提高性能。存储器一般有高速缓冲存储器、主存储器、磁盘存储器和海量存储器组成,它们构成多层次的存储器系统。输入输出系统由通道和外围设备组成。大型计算机有十分广泛的应用领域,在军事、民用等重要应用系统中发挥着巨大作用。在系统仿真中占主导地位。如:我国的银河Ⅰ型计算机、银河Ⅱ型计算机及银和实时仿真工作站已经在我国的国民经济与国防建设中发挥了重大的作用。 1.2.3计算机仿真的发展历史与现状
早期的系统科学研究是单输入单输出的系统,由于系统比较简单,所以常常可以借助于理论分析来解决问题,后来发展到多输入多输出系统,问题就变得复杂了,再后来发展到大系统、巨系统乃至超巨系统,还包括工程和非工程、宏观与微观、生物与非生物、系统与环境、思维与行为的综合系统,当然问题就变得更加复杂了。这时,单纯依靠理论分析和科学实验已经不可能了。仿真模拟就成为科学研究的途径之一了。事实上,40年代的仿真试验就已经存在了,风洞试验就是空气动力模拟的典型例证。
- 13 -
从40年代开始,随着数字计算机的不断发展,仿真技术也得到了发展。计算机进行算术运算的速度,从每秒小于10000次,发展到现在的每秒可以进行上百亿次,甚至上千亿次。计算机仿真使用的语言从机器内部使用的汇编语言,发展到可以使用高级的程序语言及专用的计算机仿真语言。计算机仿真应用的领域也越来越广泛了。
进入80年代以后,超级计算机的仿真计算数据、卫星发回的地球资源、军事侦察数据、气象数据、海洋和地壳板块及地震监测数据、医学扫描图像数据等海量数据的产生与不能有效的解释这些数据的矛盾日益尖锐。首先,计算机仿真技术可以高效地处理科学数据和解释这些科学数据。其次,计算机仿真技术丰富了信息交流手段,即科学家之间的信息交流不再局限于采用文字和语言,而是可直接采用图形、图像、动画等可视信息。计算机仿真技术提供的参数最优化技术使科学家能够对中间计算结果进行解释,及时发现非正常现象与错误,达到动态调整计算过程的目的。
计算机仿真技术的形成也是推动工业的发展、提高工业界竞争能力的需要。历史已经证明,推动工业发展的原动力是基础科学研究,科学上的新发现将促进示工业界新的革命,而促使基础研究发展的重要手段之一是提供先进的科学计算工具(硬件和软件)。先进的科学计算工具同时也是促进当代工业发展的新动力,例如无图纸设计、虚拟样机技术等对缩短产品设计周期、提高产品质量、降低成本具有十分重要的作用。国外有学者提出,应用计算机仿真要解决六大问题:核反应过程、宇宙起源、生物工程、结构材料、社会经济、未来战争。计算机仿真技术是先进的科学计算工具的重要组成部分,因此,世界各国都十分重视计算机仿真技术的研究。
国际上,仿真技术在高科技中所处的地位日益提高。在1992年度美国提出的22项国家关键技术中,仿真技术被列为第16项;在21项国防关键技术中,被列为第6项。甚至把仿真技术作为今后科技发展战略的关键推动力。北约在1989年制定“欧几里德计划”中,把仿真技术作为11项优先合作的发展项目之一。计算机仿真在国防上应得到了成功的应用,扩展的防空仿真系统(EADSIM)在海湾战争中得到验证,科索沃战争呈现出信息化、智能化、一体化的发展新趋势,进一步表明了计算机仿真的重要性。近年来,美国在总结成功经验的基础上,更加重视仿真,已将发展“合成仿真环境”作为国防科技发展的七大科技推动领域之一。所谓合成仿真环境,就是在广泛采用DIS及相关的计算机技术(如灵境技术)的基础上,创造一种进行武器系统研究和训练的人工合成环
- 14 -
境,在新武器系统研制过程中,用仿真实验(虚拟样机)代替实际样机试验,使新技术、新概念、新方案在虚拟战场条件下反复进行演示验证和分析比较,从而确定最佳方案,选择最佳技术路线。在此过程中,武器研制部门与武器的未来使用部门通过联网加强早期合作,即用户尽早介入“国防发展战略”,使新武器装备更合适军方的要求,并可以提前制定作战使用方案,比原先的实际样机方案更省时、省力,大大节约经费。
据资料,面临着全面禁止核武器试验和全面禁止化学武器试验的形势,美国、俄国等军事强国都花费大量的人力财力从事计算机仿真技术的研究。他们认为,当在实际系统上进行试验比较危险或难以实现时,计算机仿真就成了十分重要、甚至是必不可少的工具。计算机仿真具有经济、灵活、可靠安全、可多次重复使用等优点,已成为许多复杂系统(工程的、非工程的)分析、设计、试验、评估等不可缺少的重要手段。
我国的计算机仿真技术的研究与应用起步较早,而且发展迅速。20世纪50年代开始,在自动控制领域首先开始采用仿真技术,面向方程建模和采用模拟计算机的数据仿真获得较普遍的应用,同时自行研制的三轴模拟转台自动飞行控制系统的半实物仿真试验已经开始应用于飞机、导弹的工程型号的研制中。60年代,在开始连续系统仿真的同时,已开始对离散事件系统(如交通管理、企业管理)的仿真进行研究。70年代,我国的训练仿真器获得迅速的发展,我国自行设计的飞行模拟器、舰艇模拟器、坦克模拟器、火电机组培训仿真系统、化工过程培训仿真系统、机车培训仿真器、汽车模拟器等相继研制成功,并形成一定的市场,在操作人员的培训中起了很大的作用。80年代,我国建设了一批水平高、规模大的半实物仿真系统,如:射频制导导弹半实物仿真系统、红外制导导弹半实物仿真系统、歼击机工程飞行模拟器、歼击机半实物仿真系统、驱逐舰半实物仿真系统等。这些半实物仿真系统在武器型号的研制中发挥了巨大的作用。90年代,我国开始对分布交互式仿真、虚拟现实等先进的仿真技术及其应用进行研究,开展了对较大规模复杂系统的仿真,由对单个武器平台的性能仿真发展为对多个武器平台在作战环境下的对抗仿真等。
目前,计算机仿真技术被广泛应用在众多的领域,主要有以下的领域:声学、航天、航海、农业、食品和营养、空气质量、天文学和天文物理学、自动装置、动力系统、发射学和军事应用、生物学、医学、医药、卫生系统、布朗运动、化工、化学、采矿、制造、密码、气候学、气象学和太阳能利用、通信、计算机装置、计算机网络、结晶学、计量学、电子学、能量、发酵、金融、渔业、灌溉、林业、打猎、放牧管理、
- 15 -
全息照相术、信息理论、保险、发明管理和政策、公共汽车系统、就业、排队、维修、计划与决策、生产与分配制度、人口生态与野生生物管理、社会体制与公共政策、心理研究等等。
1. 3计算机仿真的发展与展望
1.3.1 计算机仿真技术的发展
计算机与数学科学的相互作用促进了计算机仿真技术的发展,在本质上,数学是计算机的灵魂,反之,计算机的发展又使数学的发展产生了革命性的变化。不仅使数学科学应用的范围和能力得到极大的扩大,而且进一步促使了数学科学自身的发展。通过在计算机进行巨量计算,解决了许多困难的数学问题,并猜测和发现了新的事实和定理,促进了离散数学等新的数学理论的诞生,把人类的演绎思维机械化,实现了机器证明,开创了自动推理等新领域。
随着仿真技术发展对计算机仿真应用又有以下的新的需求:1)减少模型的开发时间,即从重视编程转向重视建模,包括研究结构化建模的环境与工具,建立模型库及模型开发的专家系统;2)改进精度,包括改进模型建立的精度和试验的精度,比如研究模型结构特征化的新方法——模式识别法和人工智能法、连续动力学系统的数值解法、随机数产生的方法等。3)改进通信,包括人与人之间的通信及人与计算机之间的通信,如研究模型的统一描述形式,图形输入与动画输出,防震结果的统计、分析等。
针对上述需求,提出了一系列的有意义的技术方案: (1) 改善建模环境
采用模块化、结构化建模技术。根据不同的实际系统的组成,对系统进行分解,抽象出它们的基本成分及组合关系,确定各种基本成分及其连接的描述形式并开发一种非过程编程语言(模型描述语言),根据应用领域的不同建立相应的模型库并使它们与模型试验有机地结合起来。采用这种技术不仅可以使仿真软件直接面向工程师,而且能大大缩短建模的时间。
采用图形建模技术。利用鼠标器在计算机屏幕上将模型库中已有的系统元件拼合成系统的模型;利用数字化仪将系统图形输入到计算机中;利用图形扫描仪将系统图读到计算机中;通过网络将由CAD软件产生的
- 16 -
系统图传给计算机仿真软件(需要有一个共同的图形转换标准)
利用专家系统来确定系统模型的特征(模型的形式、线性、非线性、阶次);开发一个自然语言接口来辅助用户建模;开发一个智能接口通过对话获得有关系统的知识,然后直接产生仿真模型等。
(2) 一体化仿真
根据仿真的基本概念,可以认为仿真是一种基于模型的活动,即建立模型、对模型进行试验(行为产生)、对实验所产生的模型行为进行分析处理、修改模型、再试验、分析„„不断反复的过程。因此,仿真的全过程涉及很多的功能软件,且各个功能软件之间存在着密切的信息联系。为了提高防震效率,必须将它们集成起来,即开发一体化的仿真环境,这是80年代后期仿真软件的一个发展趋势。根据一体化的程度,可以分三个层次:1)不同功能软件通过一个管理软件利用数据转换接口实现一体化;2)重新划分功能块,建立模型库、参数库、试验框架库、然后通过数据库实现一体化;3)在仿真操作系统的的支持下,实现对仿真关联资源的有效管理,并支持这些资源的匹配与运行,实现整个仿真软件系统的高度一体化。
(3) 计算机仿真数据库
计算机仿真数据库是实现一体化的关键技术之一。由于计算机仿真中所涉及的“数据”比较复杂,除一般的结构化数据外,还有大量的非结构化的数据,如:图形(流程图、肖像图、及表达式)、模型、算法、试验框架等。因此现在比较流行的关系型数据库并不十分适合这样的应用环境。通常它只能管理模型目录、算法目录,而模型与算法本身仍另外存放,这就很难保证数据的一致性。另外,关系数据库查询比较慢,也是一个缺点。因此,开发一个面向计算机仿真的数据库管理系统很有意义的。
(4) 动画
图形技术在计算机仿真中越来越显示出它的重要性。图形技术在计算机仿真中的应用主要反映在两个主要方面:辅助建模、显示仿真结果(实验过程中或实验后)。其中动画在实验过程中显示系统的活动及其特征,是非常重要的。动画一般要与图形建模相配合,并保持一致性,另外还要处理好动画与仿真钟的匹配关系。
(5) 实现计算机仿真结果分析到建模的自动反馈
目前,绝大多数计算机仿真软件或仿真器都不能提供这种功能,而是由用户自己根据仿真结果做出决策,并修改建模。少数情况,如连续系统仿真,当系统目标能写成函数形式,修改模型仅限于模型中部分参
- 17 -
数或结果时,已可以自动完成从仿真结果分析到建模的反馈。当前研究的重点是对离散时间系统如何实现自动反馈,专家系统可能是解决这一问题的途径之一。
(6) 基于信息处理的计算机仿真
在传统的计算机仿真软件中,模型最终将用一段程序代码来表示,执行仿真实验则是将这一段程序代码与其它代码(如算法)连接起来,并加以执行。而在基于信息处理的计算机仿真中,模型是以信息链的形式表示,并被存储于计算机仿真数据库中,再进行计算机仿真。首先根据问题的要求选取各种所需要的建模元件,并在主存中从新构造一个数据库的子集,然后跟踪在数据库中定义的信息关系以便控制它们,最后将计算机仿真结果存放回数据库。这是一种十分新颖的结构。
另外,计算机仿真软件的开发环境也在不断的发展,双处理器、4处理器的工作站和PC及已开始投入使用,可以预见,在未来几年内,基于共享存储器的并行计算机将成为普及型机种。在并行软件的开发环境中,并行语言是用户与复杂的并行机之间的重要接口,具有使用方便且运行高效的特点。典型的高性能语言有高性能Fortran(HPF),高性能C++(HPC++)和Tread Mark。由于计算机网络的进步,将Internet和Web转变成为功能强大的计算机系统(Metacomputing System)和工具的条件已经成熟。当前的计算机仿真技术系统采用的显示设备仍以个人使用的CRT光栅扫描显示器为主流,几年来投影式显示器随着虚拟环境技术的发展日益成熟,并越来越引起人们的兴趣。这类投影显示设备通常具有屏幕大和沉浸式的特点,从而允许多人介入,并给以身临其境的感觉。因此,很多高档的计算机仿真应用系统已经采用此类投影式显示设备,已得到更加逼真的效果。 1.3.2 计算机仿真技术的展望
(1)分布式计算机仿真技术
计算机仿真技术的分布式,既是由于数据分布的需要,也是应用分布式计算环境进行并行计算,以达到实时显示的重要手段。这里所指的分布式计算平台由联网的异构机组成,包括高性能的SMP和DSM多处理器、工作站/PC机机群系统,与高性能图形处理机集成在一起构成实时的计算机仿真计算环境。目前的困难在于,缺乏高效的、使用方便的并行软件开发工具和分布式软件开发工具。
(2)协同式计算机仿真技术
- 18 -
随着高速主干网投入使用,采用多媒体技术支持下得CSCW技术可以达到快捷、高效协同工作的目的。事实上,要做到真正、方便地协同工作,还有许多的困难要解决,例如:如果要求在空间上和时间上不同的研究组的成员之间做到应用共享、上下文共享,则要求用户能记录结论及交互操作的历史,并对虚拟表示和行为做出评价等。
(3)沉浸式计算机仿真技术
计算机仿真技术采用传统上为虚拟环境技术所专用的投影式和沉浸式显示设备,标志着这两个研究方向融合的发展趋势。由于沉浸式显示设备能使用户获得临场感,更有利于用户获得对数据的直观感受,有助于结果的分析。传统上,由于沉浸式显示设备特别是CAVE的价格高,对计算机图形绘制性能的要求也高,因而无法普及。随着虚拟环境技术的发展和高性能计算机软硬件平台的发展,人们将越来越愿意采用沉浸式显示设备
(4)基于网络环境的计算机仿真技术
网络为王,网络经济,网络时代,互联网络正在造就有史以来最为奇特的人文景观,信息共享正在把地球变成一个小小的村落。19世纪是铁路时代,20世纪是高速公路时代,21世纪是网络时代。什么是信息社会的未来,那就是虚拟环境和网络。分布式虚拟环境(Distributed Virtual Environment,DVE)就是把这两项技术结合在一起,在一组以网络互连的计算机上同时运行虚拟环境系统技术,在21世纪,基于虚拟环境技术的计算机仿真技术将会得到普及。
(5)计算机仿真理论、仿真技术、仿真对象三者有机地结合在一起 目前从事计算机仿真技术研究的人员主要由三部分组成,一部分是从事自动控制与应用数学的人员,一部分是从事计算机技术的人员,一部分是从事仿真对象(应用专业)的人员。实际上很多科技人员是肩负着三副重担。只有注重这三者的有机结合,相互渗透,才会使应用数学中的相似理论、同态理论更加丰富,计算机仿真的软硬件更加先进,各种各样的仿真对象的仿真模型更加逼真。
(6)计算机科学技术与通信科学技术紧密融合,相互渗透,大大加速人类社会信息化进程
随着世界各国信息基础设施的建立与发展,计算机科学技术与通信科学技术更加紧密融合,相互渗透,全球性的计算机联网促进了信息资源的开发利用。计算机进入千家万户,已经成为人类工作和生活的必需品。计算机科学技术成为人类必须学习的基础知识。特别是计算机网络技术、多媒体技术、虚拟现实技术、面向对象技术、并行处理技术以及
- 19 -
分布式处理与集群式处理技术的有机结合与综合应用,展示出计算机与计算机科学技术的宏伟前景,从而,必将大大加速人类社会的信息化的进程。在这种大的背景下,作为计算机应用一个重要分支的计算机仿真技术将得到快速的发展。
(7)新型元器件的发展,体系结构的发展,以及实现技术的发展,大大提高了计算机仿真系统的性能价格比,促进了计算机仿真技术的发展。
随着纳米微细加工技术趋于成熟,微电子集成器件将得到进一步发展,同时光电子集成器件与生物器件一旦成为现实,计算机的运算速度便可以提高几个数量级。随着非冯.诺伊曼式计算机的研究与发展、新型计算机体系机构的出现、计算机辅助技术和新型工艺的应用,使得计算机的性能价格比大幅度提高,计算机仿真技术将获得长足的发展。
(8)新技术将大大提高计算机仿真软件的功能与性能,解决计算机仿真系统开发中的软件瓶颈问题。
随着对以智能化、集成化、自动化、并行化、开放化以及自然化为标志的计算机仿真软件的深入研究、开发和利用,不仅使仿真软件的功能与性能迅速提高,而且有可能从根本上解决仿真软件生产率低下的问题。结合软件工程实际,探讨软件理论,有可能从理论上弄清软件开发的复杂程度,从而采取有效的措施进行控制,从理论与实践两个方面来解决计算机仿真系统开发中的软件瓶颈问题。
(9)信息安全保密成为计算机仿真技术领域的重大课题
在全球联网的趋势下,为保证信息资源的共享,计算机系统与网络的互操作性、开放性和标准化将受到高度重视。同时由于计算机进入千家万户,成为人人可以利用的设施,使用的简明化、自然化和信息安全保密将成为计算机仿真技术领域的重大课题。计算机仿真技术已经应用于各行各业,但应用于军事部门、军工部门、关键部门更多一些,因此信息安全保密显得更为重要。
(10)计算机仿真技术产业化
计算机仿真技术的研究开发成果只有通过产业的商品转化,进入市场,才能产生价值与经济效益。同时反馈市场需求与资源,促进计算机仿真技术的更大发展。而计算机仿真产业也只有紧密依靠计算机仿真技术提供新思想、新方法、新工艺,以更新产品、拓宽市场、加强竞争力。二者相辅相成,从而构成整个计算机仿真事业发展的良性循环。
计算机是20世纪40年代人类的伟大创造。半个多世纪以来,计算机、计算机科学技术、计算机产业在世界范围内蓬勃发展,规模空前。
- 20 -
它的诞生和发展对人类社会作用巨大,影响深远。计算机仿真技术是计算机应用最活跃的领域之一,计算机仿真技术必将在21世纪异彩纷呈、绚丽夺目。
思考题
1. 1 什么是系统,系统具有什么性质? 1. 2 系统仿真的目的是什么? 1. 3 系统的分类方法有哪些?
1. 4 系统的模型的分类方法有哪些?
1. 5 系统建模的基本原则是什么?建模方法有哪些? 1. 6 系统仿真一般分为哪几类?
1. 7 什么是计算机仿真?计算机仿真的方法有哪些? 1. 8 什么是计算机仿真软件?什么是计算机仿真语言? 1. 9 目前计算机仿真发展到了什么阶段?
1. 10 结合自己的专业谈谈计算机仿真的发展趋势?
参考文献
1 刘藻珍,魏华梁.系统仿真.北京:北京理工大学出版社,1998 2 黄柯棣等.系统仿真技术.长沙:国防科技大学出版社,1998
3 熊光楞,肖田元,张燕云.连续系统仿真与离散事件系统仿真,北京:清华大学出版社,1991
4 何江华.计算机仿真导论.北京:科学出版社,2001
5 姜玉宪.控制系统仿真.北京: 北京航空航天大学出版社,1998 6 何衍庆.过程仿真.北京:中国石化出版社,1996
7 王国玉,肖顺平,汪连栋.电子系统建模仿真与评估.长沙:国防科技大学出版社,1999
8 张晓华.控制系统数字仿真与CAD.北京:机械工业出版社,1999 9 肖田园,张燕云,陈加栋.系统仿真导论.北京: 清华大学出版社,2000
10 康凤举.现代仿真技术与应用.北京:国防工业出版社,2001
11 傅延亮.计算机模拟技术.合肥:中国科学技术大学出版社,2001 12 陆治国.电源的计算机仿真技术.合肥:科学出版社,2001 13 王红卫. 建模与仿真. 北京:科学出版社,2003
- 21 -
14 Averill M. Law, W.David Kelton. Simulation Modeling and Analysis(仿真建模与分析). 北京:清华大学出版社,2000
- 22 -
因篇幅问题不能全部显示,请点此查看更多更全内容