1.3 联合仿真技术
1.3.1 联合仿真技术的产生及其内涵
在计算机数值仿真领域,随着计算机仿真技术及其应用的进一步深入,研究对象的规模和复杂程度也在迅速增加,如汽车、航天飞行器、武器系统等,通常是机械、控制、液压等不同学科领域子系统的组合,多学科交叉耦合作用问题日益突出,以往采用单一机械、控制、液压等软件的分析方法已经难以适应研究对象发展的需要,多学科和多软件平台协同建模和仿真分析技术,成为影响产品性能进一步提高的关键技术之一。
某飞行器是集机械、液压、电子于一体的非线性复杂系统,如图1.10所示,其动力学特性涉及机械、液压、控制、流体、多体动力学等多个不同学科、多个不同领域,要想对该复杂系统进行完整、准确的分析,单靠机械、液压或控制等单个领域的仿真软件是难以实现的。
目前,基本上各个专业都具备了CAE的分析手段,但是涉及多个相关学科领域的产品性能整体优化仍是难点之一。从20世纪90年代中后期到现在,利用多学科设计优化技术促进产品性能,实现各仿真工具之间的无缝集成和数据交换,进而实现子系统在不同学科领域的集成仿真,促进整体的设计水平提高已成为计算机仿真技术的发展趋势之一。
事实上,现代产品的研发流程是多学科领域的协同设计过程。在产品开发过程中,无论是系统级的方案原理设计,还是部件级的详细参数规格设计,都可能涉及多个不同的子系统和相关学科领域,这些子系统都有自己特定的功能和独特的设计方法,而各子系统之间则具有交互耦合作用,共同组成完整的功能系统,在以往的仿真分析中,这类耦合作用是很难考虑的,多软件联合仿真技术可以将不同领域的仿真模型零件组装为仿真模型,为这类问题的解决提供了一种手段。
不同仿真软件之间建立连接后,其中某一仿真软件所包含的模型可以将自己计算的结果作为系统输入信号传递给另一仿真软件所建立的模型,这种指令包括力、力矩、驱动等典型信号,后者的模型在该信号的作用下产生相关响应量,如位移、速度、加速度等,这些响应量又可以反馈给前者的模型,这样仿真数据就可以在不同的仿真分析软件之间双向传递。多体动力学与控制系统仿真(如车辆控制系统仿真)是联合仿真技术最为典型的应用。
图1.10 某飞行器性能仿真涉及的领域
1.3.2 联合仿真的主要方式
多学科联合仿真最理想的方式是在一个软件中建立一个系统模型,这样就可以考虑系统的机械、液压、动力学、控制等不同领域的性能,但由于上述每一系统性能的计算均较为复杂,因此,目前还没有哪一个商用软件能成熟地求解上述所有问题。
目前,多学科联合仿真主要有两种方法,一种是基于接口的方法,另一种则是基于统一语言的建模方法。基于接口的方法,充分发挥了各领域商用软件的优点,用户在不同的软件中完成不同部分的建模工作,然后利用不同商用软件之间的接口实现联合仿真;基于统一语言的建模方法采用BOND图等实现多领域建模,目前相关商用软件较少。
这里主要用实例讲解图1.11所示的几种典型软件的功能特点及其接口技术,实现多种软件的联合仿真及其集成优化。
基于接口的联合仿真主要有以下几种方式。
1.模型转换方式
模型转换方式的原理如图1.12所示,其主要原理是将其中一个工具的模型转化为特定格式的包含模型信息的数据文件,供另一个工具中的模型调用,从而实现信息交互。典型的数据格式有用于刚弹耦合分析的模态中性文件(mnf),在该文件中包含采用质量矩阵、刚度矩阵、位移矩阵和振型矩阵表示弹性体信息。
模型转换方式的典型应用有:控制、电液与机构一体化仿真(如飞机操纵面),有限元与多体机构(如刚弹耦合机械系统)等。这种方式的特点在于求解速度快,对系统资源占用较少,稳定性好,并且模型建立后便于重复使用,而局限是需要定义特定数据格式的文件,通用性稍差。
图1.11 典型仿真软件的联合仿真
图1.12 模型转换方式的基本原理
2.共仿真方式(Co-Simulation)
共仿真方式是目前较为通用,也是使用最多的一种数据交换方式,其数据交换原理如图1.13所示,两个不同仿真工具使用各自的求解器求解,在特定的时间步上交换数据,工具软件之间通过TCP/IP等方式实现数据交换和调用。
联合仿真方式的典型应用:多体动力学与控制系统(如车辆控制)、结构与气动载荷(如飞行动力学分析)等。这是一种最为容易建立和实现的集成仿真方式,具有很强的普适性,但局限是难以处理刚性系统,对系统资源占用较多,某些情况可能速度较慢。
图1.13 共仿真方式的基本原理
3.求解器集成式(Solver Convergence)
求解器集成式的基本原理是实现两个不同工具之间的求解器代码集成,从而实现在其中一个仿真环境中对另一个仿真工具的求解器调用,如图1.14所示。
图1.14 求解器集成式的基本原理
求解器集成式的典型应用有:带有屈曲等材料非线性问题的大型结构模型,带有流固耦合、冲击等几何非线性问题的大型结构问题等。这种方式的优势在于可以方便有效地运用多种学科领域的求解技术,便于用户直接使用现有模型,而局限在于模型中的某些因素(如单元类型、函数形式等)在某些情况下需要重新定义,同时软件的开发和升级周期较长。