本书对机电系统设计和分析的主要方法进行了广泛、深入、系统的阐述。本书英文版包括50余个有完整解答的设计实例和380余幅插图,便于读者学习和研究机电系统设计的主要概念和方法。本书由Springer出版社2010年出版德文原版,2012年出版英文翻译版,已受到国际学术界的广泛好评。本书是一本关于机电系统设计和分析的**著作,内容全面丰富,其中不少内容基于作者团队的**研究成果,有很强的创新。本书有很高的学术水准,对于许多应用领域的实际机电系统研发而言也是必备参考书。
第3章仿 真 问 题
背景: 对动态系统模型的实验是系统设计的标准任务之一,这种仿真结果为有深远影响的设计决策奠定了基础。如今,(商用)计算机辅助工具一般提供建模与仿真平台,因而经常使用预先存在的模型库。但是,在这个极端重要的设计阶段,计算机化的仿真模型与用户(极端情况下用户可能是很天真的)经常存在危险的理解差距。在不利情况下,这很容易导致有缺陷的仿真结果。因此,尤其在采用现代仿真工具时,胜任的系统工程师必须了解仿真实现与求解方法的特殊性。系统工程师只有具备这些知识,才有可能识别出潜在的问题并采用合适的措施缓解问题,要么是改进模型,要么采用可用仿真器功能的目标选择与参数化: “欣赏但觉察地使用工具”(using the tool with appreciation and awareness)。
本章内容: 本章讨论仿真实验的数学模型实现的特定方面以及关于机电系统模型的特殊问题与求解方法。在此范围内,假设读者已具备数值积分与一般仿真方法的基础知识。在简要讨论数值稳定性、积分步长的重要影响以及不同积分方法的性质之后,本章将介绍多体系统(表现为具有明显特征模态和弱以至无阻尼特征模态的刚性系统结构)仿真的典型问题与求解方法。对于线性高阶多体模型(例如通过有限元方法产生的那些模型),介绍了使用状态转移矩阵的高效并精确的积分步骤。应用基本概念阐明了微分代数方程(DAE)系统的非平凡(non trivial)数值积分与混杂现象的处理。最后,通过一个实例说明DAE系统的闭式(closedform)建模及其仿真实现。
3.1系统工程背景
建模与仿真
系统设计(基于模型的设计)包含两个紧密交织的任务: 建模与对模型的实验(仿真)。从图2.3可以清楚看出,仿真结果的预测能力(即其在多大程度上代表了实际系统的行为)取决于建模误差与仿真误差之和。特定类型模型的选择决定了仿真任务的难度以及最终的仿真误差。与通过面向对象建模获得的高冗余DAE系统相比,采用最小坐标的常微分方程组形式的简洁模型更易实现和计算。所以,总是需要对建模工作量、期望的模型精度以及仿真所需的工作量三者进行折衷考虑。
计算机辅助仿真
与计算机辅助建模一起,现代设计工具使我们能够几乎毫不费力地进行仿真实验。这种便利性当然是用户所期望的。但是,若所考虑的模型具有某些不良性质时,现代设计工具会隐藏巨大的危险性。尽管事实上好的计算机工具有很多内置的主要功能正常性检查(sanity checks),但一个有缺陷的求解算法参数化就可能导致完全错误的仿真结果。在特别有害的情况下(如复杂模型)很难检测出这些错误。计算机辅助工具通常仅检查模型的句法和参数以及实验参数。原则上模型的语义仍未被监测,因而可能是一个潜在的错误来源。
仿真工具的妙用
本章将特别关注常微分方程组与DAE系统数值求解方法的语义,即求解算法(数值积分方法)及其重要参数(步长、阶次等)的意义。这些背景的目的是使我们能够在行地选用在当前的商用计算机工具中实现的那些常用方法。
预备知识
假设读者熟悉数值积分的基本概念(例如,显式与隐式法、单步与多步法、龙格库塔法、基于误差监控的自适应步长等),推荐需要更新或复习有关基础知识的读者参考数值分析领域的有关文献(例如,Faires、Burden 2002)。关于直接适合动态系统仿真的方法,可以参见专著(Cellier、Kofman 2006)。
3.2数值积分的基础
3.2.1微分方程的数值积分
仿真实验
为了进行计算机辅助仿真实验,需要基于内在的数学模型计算感兴趣系统变量的近似解。于是,可以认为“在对数学模型进行仿真”。
为此,首先考虑如下具有单输入u(t)和单输出y(t)的普通非线性状态空间模型(见图3.1)该模型是一个指标为0的DAE系统(参见2.4节)。3.6节将讨论高指标DAE系统的求解。:
x·=f~(x,u,t)(3.1)
y·=g~(x,u,t)(3.2)
图3.1单输入单输出(SISO)动态系统的状态空间模型
当对上述系统进行仿真时,一般关心的是在有限时间区间[t0,tf]内解x(t)或y(t)随时间变化情况。在这种情况下,可以假设输入u(t)在[t0,tf]内的变化情况是已知的。
为了采用式(3.2)计算输出y(t),只需要确定n个一阶微分方程组(3.1)在时间区间[t0,tf]的解x(t)。
给定上述假设条件,可以提出如下微分方程的数值积分这一基本问题: 找到如下常微分方程组的解x(t)的近似x^(t)假设向量场f(·)是光滑的。若f(·)存在不连续性(例如,输入激励函数或状态变量x(t)存在阶跃变化),则须作出特别规定,见3.7节。
x·=f(x,t),x(t0)=x0∈Rn(3.3)
单步法: 显式与隐式
使用微分方程(3.3)的差分近似或相应的积分方程,可获得方程(3.3)的近似解(即有限个值x^(tk))。然后,为了只根据上次计算值x^(tk)来计算新的近似值x^(tk+1),采用“单步法”可得下列的一般递推关系式:
x^(tk+1)=x^(tk)+hφ(x^(tk),x^(tk+1),tk,h)(3.4)
其中,φ(·)为增量函数,h为步长。若增量函数不依赖于x^(tk+1),则称该方法为显式(如欧拉法、龙格库塔法),否则称其为隐式(如梯形法)(Faires、Burden 2002)。
增量函数φ(·)与步长h的不同选择决定了近似精度(图3.2)。
图3.2数值积分: 微分方程的近似解
3.2.2稳定性的概念
定义3.1
局部离散化误差: 在tk+1时刻显式单步法
对于隐式法和多步法等其他方法,LDE也可以类似地定义。的局部离散化误差(LDE)是下面的值:
dk+1∶={x(tk+1)-x(tk)}-h·φ(x(tk),tk,h)
上式右端第一项为真实解的单步变化,第二项为应用积分算法后相对于真实解x(tk)的单步变化。LDEdk+1表示积分方法与真实解在单步上的偏差。因此,LDE衡量方程(3.4)给出的解与真实解x(tk)接近的程度。
定义3.2
全局离散化误差: 在固定时刻tk的全局离散化误差(GDE)是下面的值:
gk∶=x(tk)-x^(tk)
因而,GDEgi表示近似解x^(tk)与真实解x(tk)之间的偏差,而且特别包含所有以前k步(j=0,1,…,(k-1))的累积误差(LDE与GDE)。
定义3.3
一致性: 求解初值问题的数值积分方法被称为一致的,如果在步长趋于0时局部离散化误差之和RLDE也趋于0,即有下面的条件:
limh→01hRLDE=0
定义3.4
收敛性: 求解初值问题的数值积分方法被称为收敛的,如果当步长趋于0时全局离散化误差在整个积分区间上也趋于0,即有下面的条件:
limh→0(x^k-xk)=limh→0gk=0,k, i.e. t∈[t0,tf]
稳定性
需要区分下列类型的稳定性:
系统模型的固有稳定性
所使用的稳定性概念包括输入输出稳定性(如BIBO稳定性)或(渐近)状态稳定性(Ogata 2010)。如果系统模型在上述意义下稳定,则称系统是(固有)稳定的。
积分算法的数值稳定性
求解初值问题的数值积分方法被称为是“数值稳定的”,如果被积值x^k的“微小误差”也只在此后计算x^k+1时产生“微小误差”(即有足够的误差抑制)(Faires,Burden 2002)。
给定以上定义,于是有下面的基本定理:
定理3.1
一个数值积分方法是收敛的,当且仅当其是一致的并是数值稳定的。
所以,收敛性、一致性与数值稳定性紧密联系在一起,这些性质是执行仿真实验的基本性质。尽管商品仿真工具一般将大量具有一致性的积分方法作为内置功能(单单如此甚至也是有意义的!),但是会得到收敛的近似解并非定论(虽然从合理的仿真实验中所期望的一样也不少!)。根据定理3.1,数值稳定性也是必须的,这基本上取决于步长h。若缺乏对h作用与影响的了解,作为一个可自由选择的仿真参数,h也可能被错误地任意设定(见3.2.3节)。
显然,为了获得高精度的近似解,步长h应当选择得尽可能小。另一方面,对于一个固定的积分区间,这会增大计算需求(更多次的递推),为了快速计算而希望取更大可能的步长。所以,在任何具体情况下,选择积分步长h时总需要在精度与计算负荷之间做出折中。
3.2.3数值稳定性
线性测试系统: 初值问题
一个数值积分过程可表达为由一组非线性差分方程组表示的离散时间动态系统。这使得我们能采用熟知的稳定性概念和判据来分析其数值稳定性。
为了讨论,考虑如下的线性(固有稳定的)测试初值问题:
x·=λx,其中x(0)=x0,λ<0(3.5)
对于欧拉法
x^k+1=x^k+h·f(x^k)
并考虑式(3.5),得线性一阶差分方程:
x^k+1=(1+h·λ)x^k(3.6)
方程(3.6)的通解为:
x^k+1=(1+h·λ)k+1x0(3.7)
当k→∞时如果式(3.7)的近似值序列(x^k)=(x0,x^1,x^2,…)收敛到真实解的稳态终值x∞=0,则会有数值稳定性,即数值稳定性条件为:
|1+h·λ|<1(3.8)
式(3.8)的条件对应于我们所熟知的线性差分方程(3.6)的离散时间稳定性判据“特征值的幅度小于1”,参见(Franklin et al. 1998)。
固有稳定系统
在一个固有稳定系统中(λ<0)中,数值稳定性条件式(3.8)满足,当且仅当:
hλ<0 且 h<2-λ=hcrit(3.9)
……