一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

协同仿真计算机系统的制作方法

2023-08-30 09:08:59 来源:中国专利 TAG:


1.本发明涉及计算机实现的仿真。
2.更具体地,本发明涉及至少两个计算机实现的仿真,其并行地仿真任务以促成一个共同的结果。


背景技术:

3.机电仿真的工业应用现在已经达到了这样的程度,其中除了简单的实际方面之外,模块化仿真是必要的。模块化表示将子单元耦合/解耦在一起,分别仿真和验证,然后将它们连接在一起以得到整个体系结构的全数字表示。实际上,与其说是出于性能考虑,不如说是出于设计考虑,协同仿真是一个热门问题,因为运行时间仿真的模型具有相互连接的子单元的模块化结构(具有自己的内部动力学、控制盒等的表示特定物理领域的块)。协同仿真是通过分别仿真每个实体并通过管理它们对其他子单元的信息的相应了解来操作这种模型的仿真的方式,这通常可以被称为通信。这主要是因为不可能将这些子单元分组到一个大的模型中,因为平台不兼容,例如,每个子单元开发的软件不同,或者每个子单元使用的内部解算器不同。因此,我们通常获得协同仿真的结果:
[0004]-由于通信是在离散的时间而不是以连续的方式进行的,所以协同仿真可能不如组装系统的单个仿真精确。交换信号的采样可能导致整个仿真中的数字假象和不稳定性。
[0005]-协同仿真可能需要更多的时间来处理。虽然子单元在变量数量方面可以更小,并且可以使用并行机器架构,但是通信常常产生不连续性,这导致这些子单元中的每一个中的内部解算器的不适时重启。
[0006]
已知处理以下问题的方法:
[0007]-在接口处由信号采样引入的数字假象,
[0008]-在通信之间的信号重构,
[0009]
指向:
[0010]
·
使用高斯-赛德尔而不是雅可比交换,
[0011]
·
通过信号校正的接口处能量节约,
[0012]
·
使用输出历史的输入预测,
[0013]
·
雅可比信息的使用,
[0014]
·
具有回滚的迭代协同仿真。
[0015]
通常,对于数据交换,使用较高的时间步长可以降低协同仿真产生的效率问题。较不频繁的信息交换可能恶化全局解决方案的准确性。尝试改善这种两难的简单方法可以使用数据交换之间的预测。
[0016]
一种已知的工具(由kiastek提供的cosimate,具有dpa(数据预测算法))使用预测来降低通信频率。基本上,基于过去来预测值。
[0017]
另一种方法(martin benedikt:源自avl的model.connect,采用nepce算法:nearly energy preserving coupling element)基于每个子单元之间的能量守恒提供对
通信变量的校正。
[0018]
难以实现使用迭代协同仿真方法的仿真设置,因为由不同创作工具生成的子单元不提供在已经被仿真的时间间隔上执行积分的能力(所谓的“回滚”能力)。
[0019]
本发明的一个目的是提高协同仿真精度。
[0020]
本发明的另一个目的是使协同仿真更有效。
[0021]
本发明的另一个目的是使协同仿真更灵活地应用于宽范围的系统,而不管其能力如何。


技术实现要素:

[0022]
本发明的目的通过独立权利要求来实现。从属权利要求描述了本发明的有利改进和修改。
[0023]
根据本发明,通过具有附加步骤的最初定义的方法提供了上述问题的解决方案:
[0024]
(a)将系统分解为至少两个子单元仿真子系统,
[0025]
(b)通过在相应子系统时间步长期间根据子系统步骤输入逐步重复地生成子系统步骤输出来仿真相应子单元(其可被认为是'操作/仿真该子系统'),
[0026]
其特征在于以下附加步骤:
[0027]
(c)从发送子系统接收连接接口变量,连接接口变量至少包括数字数据、预测子系统-其中数字数据属于发送子系统的子系统步骤输出,包括关于发送子系统的待发送到至少一个接收子系统的至少一个信息的细节,
[0028]
其中发送子系统和接收子系统属于相应的子系统,
[0029]
(d)将接收到的连接接口变量的转发延迟一延迟时间,在该延迟时间期间这些系统仿真时间步长(b),
[0030]
(e)通过在延迟时间内根据系统产生的过去数字数据生成数据预测模型来预测数字数据,以获得由发送子系统提供的数字数据的预测数字数据,
[0031]
(f)开始接收子系统的下一个仿真步骤,根据子系统步骤输入生成下一个子系统步骤输出,其中子系统步骤输入包括预测数字数据。
[0032]
本发明能够实现鲁棒、准确、有效的仿真。
[0033]
根据另一优选实施例,数据预测模型被选择为0、1或2次数的多项式函数。
[0034]
根据另一个优选实施例,该方法可以包括通过埃尔米特插值扩展所获得数据预测模型(dem)的多项式阶数的附加步骤(例如,《计算数学》第71卷,编号239,第1043-1074页,s 0025-5718(02)01446-1,文章于1月17日以电子方式发布,200)。不管子系统步骤输入的给定数据预测的多项式次数(0、1或2)如何,它可以优选地通过埃尔米特插值扩展到3阶。该埃尔米特插值扩展的约束条件可以是:
[0035]-由预测器在当前时刻达到的最后值(数字数据(dta)),
[0036]-由预测器在当前时间步长结束时预测的值(数字数据(dta)),
[0037]-由预测器在当前时间达到的(数字数据(dta)的)最后时间导数,以及
[0038]-在由预测器在当前时间步长结束时预测的(数字数据(dta)的)时间导数。因此,子系统级输入的平滑度在当前通信时间不会被破坏。如果这可以在每个时间步长完成,则所有输入可以保证c1平滑度(连续性和它们导数的连续性)。
[0039]
子系统可被理解为仿真单元,相应的子单元。
[0040]
另一个优选实施例提供了所描述方法中的一种,相应的高级方法包括以下附加步骤:
[0041]-通过从一组预定函数中选择数据预测模型类型来确定数据预测模型,以及
[0042]-将数据预测模型根据当前和先前的1、2、3或更多个步骤的子系统步骤输出的相应发送子系统的数字数据进行校准-这可以优选地生成不同阶数的多项式数据预测模型,
[0043]-通过比较由数据预测模型至少基于最新子系统步骤输出之前的步骤所计算的数字数据与发送子系统的同一时间点的子系统步骤输出的最新数字数据,确定每个数据预测模型的绝对误差,
[0044]-从所选择的数据预测模型类型中选择具有对应于最小绝对误差的阶数的数据预测模型。
[0045]-在数据预测模型类型的所有数据预测模型产生大于给定阈值的误差的情况下,为了安全起见,使用常量预测(0阶)。
[0046]
最优选地,所有数据预测模型是不同阶数的多项式。
[0047]
优选地,数据预测模型类型可以在协同仿真的开始选择,甚至更优选地仅在协同仿真的开始处选择并且在协同仿真期间保持不变(无动态变化),其中协同仿真指的是协同仿真步骤。最优选地,数据预测模型类型的改变可以在开始协同仿真之前完成或仅是可能的。
[0048]
优选地,可以针对至少一个(优选地针对所有数据预测模型)的多项式来进行协同仿真期间的动态变化。
[0049]
在仿真时间的情境中,如果根据该情境,参考与虚拟仿真时间没有明显不同,则参考指虚拟仿真时间。
[0050]
在确定数据预测模型(可以通过从(预)选择的数据预测模型类型中选择具有最小绝对误差的数据预测模型类型)以及可选地计算数据预测模型的阶数(多项式次数)之后,可以完成相关联的多项式函数的系数计算。然后,可以将这些系数传送到连接的输入端,使得后者可以具有它们的时间相关公式或在所属的系统的协同仿真步骤期间注入计算的数字数据。由于仿真可以是异步的,所以数据预测模型(例如多项式函数)可以不必被直接评估,而是可以被发送到接收子系统,该接收子系统可以使用分别发送的数据预测模型来确定数字数据本身。该选项可以替换地实现,并且可以最适合于每个接收/发送子系统组合。
[0051]
这种系数的计算本身可以以两种不同的方式进行:通过外推法或通过约束最小二乘法,即通过强制数据在特定时间达到特定值的最小二乘法拟合。
[0052]
一个优选的实施例提供了“外推”模式,其可以使用从发送子系统提供的最新数字数据来确定数据预测模型的阶数并进行校准。该方法可以减少来自过去太远的任何影响或效果,但是也可以在已经用于确定阶数(如前)的值的集合与用于校准多项式函数的值的集合之间产生小差异,该多项式函数旨在用于接收子系统或作为接收子系统的时间相关输入。
[0053]
作为另替换的优选实施例,“约束最小平方”模式可以拟合数据预测模型,例如当确定的阶数是n时(校准时),从发送子系统提供的n 2个最新数字数据上的n次多项式函数。这确保了被考虑用于确定阶数的所有点也被考虑用于多项式函数校准。而且,这使得当前
和接近的未来值取决于旧值(比外插模式中更旧)。
[0054]
另一个优选实施例提供了将多项式函数转换为较低阶多项式函数的步骤(换句话说:阶段),尤其是对于时间相关数字数据可能不是由足够高阶的数据预测模型多项式函数生成的系统。这可以保持行为接近于最初定义的行为,并且还可以保持在系统的协同仿真步骤结束时应该达到的值。优选地,该步骤(换言之:阶段)可以在优选地每个预测器校准之后执行,作为后处理步骤(它是校准的后处理,但分别是协同仿真步骤的计算的预处理)。这可以将直到该步骤的方法所请求的预测器转换为系统更可行的预测器。
[0055]
先前定义的实施例的另一优选实施例为仅支持1阶或更低阶的系统提供多项式阶数数缩减:当将2阶的多项式函数作为时间相关的输入注入时,可以基于相应宏步骤的开始和结束处的值来使用降阶作为替换,在0阶的情况下,这仅是步骤结束处的值。
[0056]
前面定义的实施例的另一个优选实施例提供了系统的降阶步骤。它可被应用于变换这样的预测器模型:
[0057]
在保持输入的系统的协同仿真步骤结束时所应当达到的值在计算误差的时刻会被保持原样并在时间步长中注入。
[0058]
该转换阶段可以优选地被应用于支持不高于1阶的系统。
[0059]
当根据该方法的2阶多项式函数可以作为时间相关输入被注入时,但是系统支持不高于1阶时,可以使用基于宏步骤开始和结束时的值的仿射函数。
[0060]
当根据该方法的1或2阶多项式函数可作为时间相关输入被注入,但是系统支持不高于0阶时,可以使用基于宏步骤结束时的值的常量函数。
[0061]
在传统的协同仿真中,耦合变量的动态特性可能丢失(例如,当利用零阶预测器模型(常量)保持步长输入时)。为了避免这种情况,可以将输入计算为时间相关变量,优选为多项式函数,优选为0、1、2或更高的阶。通过将我们试图预测最新获得的值所获得的绝对误差与0、1和2阶的预测进行比较,来确定下一步的阶数。该a-后验标准将确定将施加到连接到输出的时间相关输入的阶数,基于该阶数完成先前的计算。该过程可以对每个子系统的每个输出变量单独实现。这意味着同一子系统的不同输出可以具有不同的多项式阶数,并且这对于来自其连接的输出的输入也适用。
[0062]
子系统之间的协同仿真中的交换通常可以以固定的时间间隔执行。用户通常可以选择时间间隔(可以称为宏时间步长),该时间间隔将分别对整体系统仿真的整个仿真的不同部分之间的交换调整节奏。这种方法在工业中普遍采用。困难的可能是定义交换可能发生的最佳宏时间步长。
[0063]
根据本发明的优选实施例,方法可以包括以下附加步骤:
[0064]-通过将由数据预测模型至少基于最新子系统步骤输出之前的步骤计算的数字数据与发送子系统的同一时间点的子系统步骤输出的最新数字数据进行比较来确定误差(优选地:从绝对误差中计算相对误差),
[0065]-根据在相对误差与子系统时间步长变化之间的预定关系来调整发送子系统的子系统时间步长(扩展:增加,或收缩:减少)。
[0066]
这种有利的增强使得能够更好地和动态地近似最佳时间步长。待调整发送子系统的子系统时间步长可被理解为该子系统最后使用的时间步长,或“旧时间步长”。子系统的这个最后使用的时间步长可以动态地变化,并且对于模型来说它可以不是固有的,并且对
于每个子系统来说它可以是不同的(异步性)。
[0067]
根据本发明的优选实施例,误差(优选地:从绝对误差中计算相对误差)与子系统时间步长变化之间的预定关系是连续函数。更优选地,误差与子系统时间步长之间的预定关系是递减函数。
[0068]
根据本发明的优选实施例,误差(erd)与子系统时间步长(smp)之间的预定关系被定义为:
[0069]
经调整的(smp)=先前(smp)*beta*(rtto/erd)∧(n 1)
[0070]
其中:
[0071]
n:数据预测模型(dem)的多项式阶数
[0072]
rtto:相对容差
[0073]
erd:误差(优选使用相对误差,可被称为nerr:归一化绝对误差(erd))
[0074]
beta:安全系数[0.5,1.0],优选为0.9。
[0075]
根据本发明的优选实施例,延迟时间适于延迟发送数字数据,直到接收子系统准备好接收数字数据的预定时间点为止。
[0076]
该“调整子系统时间步长”阶段可被称为时间步进,并且执行该方法的时间步进的系统模块可以被称为“时间步进器”。时间步进器可确定提供子系统步骤输出(简称:“输出”)的子系统上的扩张系数。该扩张系数可乘以最新协同仿真步长大小以获得即将到来的协同仿真步长大小。因此,大于1.0的系数将产生步长的扩展,而小于1的系数将产生步长的收缩。没有输出的子系统将把即将到来的协同仿真步长设置为到达时间与最终时间之间的差距。调度器然后可以根据差距来校正步长,以便控制不同步。在具有至少一个输出的系统的协同仿真步骤结束时,可以检索输出的值。由于数据预测模型(例如多项式函数)是已知的,数据预测模型可以在最近的协同仿真步骤(所谓的“预测器”)结束时被评估,并且可以与通过仿真即将到来的步骤(所谓的“校正器”)获得的值进行比较。如果该数据预测模型(例如多项式函数)具有n次,则误差具有n 1阶,这意味着,在固定的协同仿真步长大小上,误差的对数应当比协同仿真步骤的大小更快地减小n 1次。通过归一化该误差(以便消除数量级的影响)并将该归一化误差(即相对误差)提供给“误差与子系统时间步长变化之间的预定关系”,其可以被称为扩张
‑“
启发式公式”,可以获得扩张系数。扩张启发式公式具有一个参数:“相对容差”。其充当阈值:当相对误差小于相对容差时,扩张系数将大于1,反之亦然。结果是系统在其输出上的误差较小时可能采取越来越大的步长,否则可能采取越来越小的步长。β系数作为安全或稳定性因子。它可被任意地固定为0.9以确保步长大小不会增加太快。
[0077]
误差的归一化可以如下完成:
[0078]
·
关于数量级,
[0079]
·
关于从协同仿真开始时在相关输出上观察的幅度,或
[0080]
·
关于从协同仿真开始时在相关输出上观察到的且我们以一定比率(例如每秒5%)衰减使得大跳变没有永恒影响的幅度。
[0081]
·
关于与上述过程相同的过程并在检测到事件时添加重启(忘记过去的峰值)。这种事件可能是临界点(导数成环(英语:derivative annulation)),由输出上的斜率符号变化检测。
[0082]
·
关于所关注输出的逐渐计算的标准偏差,在逐渐计算的平均值周围。
[0083]
·
关于围绕逐步计算的平均值来逐渐计算的有关输出的平均偏差。
[0084]
·
关于所有先前描述的过程中最安全的过程,也就是说引起最小扩张系数的过程。
[0085]
这种归一化方法的选择基本上是等效的并且可被应用于时间步进的每个输出变量。当扩张系数太小(对于“非常”大的误差可能出现)或太大(对于产生零误差的临时常量输出变量可能出现)时,步长演变应仍在控制之下。为此,作为优选实施例,可以选择该扩张系数的最小值和最大值。当系数小于该边界最小值时,将系数设置为该最小值,并且相应地当系数大于最大值时,分配该系数。
[0086]
另一优选实施例可以提供:如果调度器已经减少了先前(“旧”)步骤,则可以校正扩张比的最小和最大界限,使得新步骤大于原始最小扩张比乘以原始先前步骤(由时间步进器确定,而不校正调度器),并且也小于原始最大扩张比乘以原始先前步长。
[0087]
作为优选实施例,
[0088]-系统可根据由其每个输出所产生的扩张比中的最小扩张比来调整其步长(这是安全的,但通常较慢),或
[0089]-步长大小根据由其每个输出所产生的扩张比的平均值来设定(通常较快,因为步长大小预期较大,但较不安全)。
[0090]
根据优选实施例,方法可以包括限制即将到来的子系统时间步长的附加步骤(或阶段),使得其对应于具有与待被时间步长限制的子系统的输入连接的输出的任意子系统的第一即将到来步骤结束时间。
[0091]
子系统可以将其即将到来的步长限制为使其对应于具有与该子系统的输入相连的输出的任意子系统的第一即将到来步骤结束时间:这是“基于输入的限制”。在每个子系统上这样做(从具有最近的即将到来通信时间的子系统开始)保证没有子系统在相比该预测器被认为关于所施加的相对容差有效的时间更大的时间使用数据预测器。
[0092]
将该步骤(阶段)优选地应用于每个子系统(优选地由具有最小即将到来通信时间的子系统开始)保证了没有子系统在相比该预测器被认为关于所施加的相对容差有效的时间更大的时间使用数据预测器。
[0093]
必须特别注意分析子系统的阶数。实际上,以错误的阶数限制子系统可能导致不是最佳的结果。根据一个优选实施例,该阶数可以根据以下过程进行调整:
[0094]-具有第二最近的下一个通信时间的子系统可以被提供有不同的时间步长和进而改变的通信时间,其中这个新的值将替换旧的值用于剩余的过程。
[0095]-其他子系统可以按照相应下一个最近的通信时间的阶数重复该时间步长调整方法步骤。
[0096]
换句话说,基于输入的限制的阶数可以是根据它们的下一通信时间来排序的子系统,分别根据通信时间来递增地排序。“通信时间”与相应的前一仿真步骤结束且子系统准备在下一仿真步骤开始之前交换数据的时间相等。
[0097]
根据另一优选实施例,可以应用与上述相同的过程,但是应假设每个子系统连接到每个其它子系统(即使不是这种情况)。只要每个子系统支持可变步长,该假设就同步交换时间。即使在不专门由具有可变步长能力的子系统组成的系统中,这种同步也是有用的,
因此该过程引起“更同步的”协同仿真并减少等待其它子系统的空闲子系统的数量。
[0098]
第一基于输入的限制策略可被称为“因果同步”。用户可以选择应用“强制同步”,其以相同的方式进行,但就像每个子系统连接到每个其它子系统。这可以帮助解决当两个子系统具有接近的通信时间时的不安全限制的问题(这可以为它们中的一个产生非常小的步长)。基于输入的限制应当在基于不敏感性的扩展之后发生,否则,后者会打破基于输入的限制所保证的。
[0099]
一些子系统可产生与具有所施加步长的其它子系统的输入相连的输出。这些固定的步长接收子单元会无法在下一个即将到来的通信时间之前继续处理数据。如果给定系统的所有输出都连接到这样的输入(属于固定步长系统),并且如果该系统由于其输入而不受约束(如基于输入的约束),则可以扩展其步长。
[0100]
根据一个优选实施例,称为:“基于输出的扩展”,该方法可以包括以下附加步骤(阶段):
[0101]-选择仅具有与不支持可变子系统时间步长的子系统的子系统步长输入相接的子系统步长输出的子系统,
[0102]-扩展所选择子系统的即将到来的子系统时间步长,直到具有连接到其子系统步长输出的子系统步长输入的子系统的下一个步长结束为止。
[0103]
实际上,这些子系统会无法处理改变时间步长的限制。因此,该时间步长增加将不会改变任何结果,而是将产生加速,这可能经由减少经过时间而使得成本降低。
[0104]
根据方法的优选实施例,子系统不具有输出(子模型步骤输出),时间步长可被设置为直到仿真结束为止的剩余时间。如果这种没有输出的子系统具有子模型步骤输入,则根据权利要求中描述的过程(参见基于输入的限制),即将到来的时间步长将被限制为更合理的时间步长。
[0105]
根据优选实施例,可以在定义了每个子系统的时间步长大小且换言之由此定义了下一个通信时间(换言之:“相会”时间)的时间步进器之后提供附加的方法步骤(阶段),可以提供根据每个子系统的i/o限制来校正时间步长大小的方法步骤(阶段)。
[0106]
因此,调度模块或所谓的调度器可以校正每个系统上的时间步长大小,从而定义活动和空闲子系统/系统。
[0107]
每次协同仿真(可能是协调模块或通信管理器(也可被称为“协调器”))触发子系统执行协同仿真步骤时,一些子系统可能是空闲的(协调器不触发系统做任何事情):这些将是“空闲的”子系统。相反,被触发以进行协同仿真步骤的子系统可以被称为“活动的”系统。
[0108]
一个优选实施例可以将子系统设置为空闲以等待最新的输入值。
[0109]
根据优选实施例,子系统可以根据以下规则根据附加(触发)步骤被设置为活动或空闲:
[0110]-只有当被分配发送它们输出作为第一子系统的输入的所有其他子系统的下一步结束时间严格大于该第一子系统的当前时间时,第一子系统才是活动的。
[0111]
该特征,即所谓的“因果同步”,改进了该方法,使得如果子系统能够接收更近的输入值以开始其下一协同仿真步骤,则不会触发子系统来开始协同仿真步骤,并且不会有来自太长时间前的输入值(优选地不大于发送输入数据的子单元的步长的大小)运行子系统。
简言之:提高了准确度。
[0112]
根据另一个实施例,空闲和活动子系统的选择可以如同每个子系统彼此连接一样来完成。这可以称为“强制同步”。这样,系统可以是空闲的,其中它们将与先前的处理一起被激活,而可能出现的不同步被控制。实际上,即使基于输入的限制实施例降低了异步性,仍可能出现异步性。例如:当存在多个固定步长子系统时,基于输入的限制无法很大地降低异步性。包括触发(活动)和停止(空闲)子系统的实施例就像它们都彼此连接一样避免了将所有输出数据存储在历史中的需求,该历史包含由具有较大当前时间的子系统和具有较小当前时间的子系统产生的输出数据。
[0113]
根据优选实施例,可以根据最小步长大小和最大步长大小来设置子系统的时间步长大小(下一个(计划的)通信时间与当前到达时间之间的差)。这可以优选地在其它方法步骤改变子系统的相应步长大小之后进行,或者优选地在方法的最后步长大小改变步骤(阶段)进行。在步长大小改变方法步骤的至少一个结束时,至少一个、几个或每个子系统可能具有如下重新定义的步长大小:
[0114]-如果步长大小小于最小的,可由最小的代替。
[0115]-如果步长大小大于最大的,可由最大的代替。
[0116]-如果步长大小在最小的与最大的之间,可不做任何事情。
[0117]
这里,最小步长大小小于最大步长大小。为了停用该步长调整,可以定义最小步长为0,并且可以定义最大步长大小为 ∞。具有所施加步长的子系统可以不经过任何(包括)时间步长大小改变步骤(阶段)。
[0118]
另一个优选实施例规定,系统的仿真是非迭代的,使得仿真子系统彼此专门地而非迭代地交互。
[0119]
另一个优选实施例规定,系统的仿真是迭代的,使得仿真子系统中的至少一个迭代地与至少一个其它仿真子系统交互,其中这些子系统是迭代子系统。
[0120]
对于其中至少一个迭代子系统可以被设置为流形模型的系统,至少为包括主模型和至少一个代理模型的双重模型,其中代理模型能够重复至少单个时间步长,优选地能够重复多个时间步长,其中代理模型包括与主模型至少一部分相同的子系统步骤输出参数和子系统步骤输入参数,
[0121]
该方法包括分配给定义的子系统时间步长的附加步骤:
[0122]
a)代理模型接收至少部分地源自至少一个其他输入提供子系统的子系统步骤输入,
[0123]
b)代理模型根据至少部分地源自至少一个子系统的子系统步骤输入计算子系统步骤输出\n,
[0124]
c)至少一个其他输入提供子系统计算子系统步骤输出,包括待被提供给代理模型的下一个迭代循环的输入的至少一部分,
[0125]
d)重复循环步骤a)-c),直到满足输入提供子系统和代理模型的子系统步骤输出的相互收敛标准,
[0126]
e)至少部分地将收敛的子系统步骤输出提供给主模型作为子系统步骤输入的至少一部分,
[0127]
f)主模型根据子系统步骤输入针对定义的子系统时间步长来计算子系统步骤输
出。
[0128]
优选地,代理模型可以是主模型的至少部分线性近似。
[0129]
另一个优选实施例规定,收敛的子系统步骤输出仅覆盖主模型的子系统步骤输入的一部分,其中该方法进一步包括以下附加步骤(阶段):
[0130]-根据权利要求1按照步骤(e)计算主模型的子系统步骤输入的余下部分,其中主模型是接收子系统。
[0131]
本发明还涉及一种用于通过应用根据权利要求1-12中至少一项的计算机实现的方法或根据以上分别描述的方法的优选实施例的计算机实现的方法来仿真系统的计算机系统,包括:
[0132]-用于仿真该系统的子单元的至少两个仿真子系统,其中各个子系统被设计成使得仿真包括根据子系统步骤输入逐步重复地生成子系统步骤输出,
[0133]-通信管理器,
[0134]-连接子系统和的通信管理器的通信信道,
[0135]-其中子系统中的至少一个被设计成作为发送子系统经由通信信道向通信管理器发送连接接口变量,连接接口变量包括以下各项中的至少一项:
[0136]-数字数据,
[0137]-至少数字数据的数据预测模型的参数,
[0138]-被分配给由发送子系统提供的数字数据的数据预测模型,
[0139]-其中数字数据属于发送子系统的子系统步骤输出,包括关于待发送到至少一个接收子系统的发送子系统的至少一个信息的细节,
[0140]-其中通信管理器被设计成将接收到的连接接口变量的转发延迟一延迟时间,其中延迟时间适于延迟发送数字数据直到预定时间点为止,
[0141]-其中通信管理器或接收子系统被设计成通过数据预测模型在延迟时间内预测数字数据,以获得由发送子系统提供的数字数据的预测数字数据,
[0142]-其中接收子系统被设计成启动根据子系统步骤输入生成下一个子系统步骤输出的下一个仿真步骤,其中子系统步骤输入包括预测数字数据,
[0143]-其中发送子系统和接收子系统分别属于子系统,
[0144]-其中计算机系统被准备用于启动接收子系统的下一个仿真步骤,以根据子系统步骤输入生成下一个子系统步骤输出,其中子系统步骤输入包括数字数据。
[0145]
通信管理器可以被设计为向接收子系统提供预测数字数据或数据预测模型。如果是后者,则接收子系统将被设计成通过数据预测模型在延迟时间内预测数字数据,以获得用于下一步骤的预测数字数据。
[0146]
关于被设置为线性近似的代理模型,优选实施例规定,子系统可以被设计成提供内部动态特性的线性近似(所谓的“状态空间表示的矩阵”),并且使用它以针对不同的输入值估计在即将到来的协同仿真步骤结束时的输出值。换言之,在协同仿真步骤结束时关于任何时间相关输入的输出数字数据可以由相应子系统本身提供的代理模型来生成。一旦分别对代理模型的估计方程的迭代方法收敛,则分配给相应代理模型的子系统可以执行协同仿真步骤。
[0147]
根据输入值生成代理模型的输出值可以通过以下方式完成:
[0148]
·
将这些方程注入解算器,或通过
[0149]
·
计算拉普拉斯域中的相关矩阵,并使用算法(例如:gaver-stehfest、傅里叶、欧拉,并且使用所获得的输入和输出之间的关系来计算后者。
[0150]
根据优选实施例,第二选项可以如下进行(参见权利要求17):
[0151]
至少部分地由代理模型表示的相应子系统可以由o.d.e.(常微分方程)系统描述:
[0152][0153][0154][0155][0156]
t∈[t
init
,t
end
[
[0157]
其中:
[0158]
x:状态变量(系统内部)。维度:n
st
[0159]
u:输入变量(系统要求)。维度:n
in
[0160]
y:输出变量(由系统产生)。维度:n
out
[0161]
线性化o.d.e.系统(状态空间表示):
[0162][0163][0164][0165][0166][0167][0168]
控制部分
[0169]
yc=y-(cx du)
[0170][0171]
使得
[0172]
y=y
l
yc[0173]
各个符号
[0174][0175][0176][0177]
控制部分估计
[0178]
(具有灵活阶数的多项式函数重建,如先前所描述)
[0179]
线性部分估计
[0180]
δt
[n]
:=t
[n 1]-t
[n]
[0181]
在向量多项式输入函数u上定义变量变化:
[0182][0183]
[0184][0185]
在以上等式中切换l和k,我们得到的系数的表达式:
[0186][0187][0188][0189]
其中,
[0190]
拉普拉斯变换
[0191][0192][0193][0194][0195]
[0196][0197]
g可以下述方式计算:
[0198]
misra p.和patel r.v.,《线性多变量系统传递函数矩阵的计算》,《automatica》,第23卷,第5号,635-640页,1987。
[0199]
通过考虑n
out
:=n
st
、b:=i(单位矩阵)和d:=0(零矩阵),可以类似地计算p。
[0200]
y=gu px
[n]
[0201][0202][0203]
估计器本身:
[0204][0205]
其中γ是三阶张量:
[0206][0207]
将张量矩阵乘积定义如下:
[0208][0209]
[0210][0211]
这样,迭代没有成本,因为每个新的多维输入信号将只改变ξ矩阵,并且通过拉普拉斯逆变换的线性,新的输出信号可以几乎立即产生,
[0212]
需要单个张量矩阵乘积。
[0213]
协同仿真中的最大问题之一是由于解算器在系统内部重启而导致的长执行时间。这些解算器重启是由于通信时间的输入变量上的不连续性。
[0214]
根据本发明的方法的优选实施例,用于接收子系统的输入可被变换,使得它们是连续的并且具有连续的时间导数。换句话说,子系统接收c1接口。
[0215]
根据优选实施例,这种连续性/平滑性可以通过在即将到来的步骤的开始和结束的时间上的埃尔米特插值来实现。
[0216]
由于多项式输入公式对于每个子系统的每个输入是已知的,所以有可能评估它及其时间导数,以便在即将到来的通信时间获得这些值和导数。对于当前的通信时间,该方法可以重新使用施加的值和前一步骤的时间导数-使得该数据符合c1。
[0217]
在所有子系统都是流形的情况下,迭代求解可以在单个迭代中对每个代理系统立刻进行,其中线性系统由以下方式构建:
[0218]-由代理子系统代表的在所有子系统步骤输入与所有子系统步骤输出之间的线性关系,
[0219]-由多项式数据预测模型表示的在预测数据与即将到来的子系统时间步长的已知值之间的线性关系,对于每个子系统都设置为相同的,因为对于子系统的完整集合进行一次求解,使得它创建完整系统的代理-,
[0220]-剩余部分(不能用代理模型描述)作为常数项(独立于在子系统时间步长结束时预期的下一个子系统步骤输入),以及
[0221]-在所有子系统的子系统步骤输出与这些子系统的子系统步骤输入之间的连接信息,其可以被看作是置换的扩展概念,其允许子系统步骤输出不连接、连接到一个或连接到多个子系统步骤输入,并且这种关系是线性的。
[0222]
本发明的重要优点及其优选实施例是:
[0223]
·
稳健性和灵活性:本发明能够对具有有限知识的模型进行协同仿真:该方法将自动调节通信步长大小并选择使用的阶数。提供缺省参数集。而且,本发明的方法允许任何种类的协同仿真配置(接受具有与可变步骤系统混合的所施加步长的系统)。代理模型方面为没有回滚的系统提供了能够经历迭代过程的变通方案:由于子单元的能力,稳健性还在拒绝没有(或较少)
[0224]
协同仿真配置的意义上。
[0225]
·
性能:由于以下两个方面,当要求时,与固定步长零阶保持非迭代雅各比方法相比,本发明方法可以加速协同仿真:1.定义最小步长大小等于非迭代雅各比(即最基本的协同仿真算法,广泛使用)方法给出可接受结果的步长大小(因此,本发明只能采用更大或相等大小的步长);2.使用具有嵌入解算器的系统的c1接口,由于在每个通信时间之后的这种保证,解算器可以更快地重新启动。
[0226]
·
精度:由于代理模型方面,能够使用已知的解算器,该过程是非常灵活的并且能够实现精确的解答。实际上,迭代方法(已知比非迭代方法更精确)在具有不能回滚的系统的配置上是可能的。此外,时间步进允许该方法在仿真刚性部分周围采取小步长,这有助于增加精度。
[0227]
·
时间步进器在不需要频繁通信时调整步长。上面定义的调度避免了无用但昂贵的通信的情况,接口可以被平滑以避免干扰系统中的解算器。
附图说明
[0228]
现在参照附图仅以示例的方式描述本发明的实施例,其中:
[0229]
图1示出了根据本发明的方法的流程图;
[0230]
图2示出了根据本发明优选实施例的方法步骤(f)选项的流程图;
[0231]
图3示出了用于通过应用计算机实现的方法来仿真系统的计算机系统的简化示意图。
[0232]
附图中的图示是示意性形式。注意,在不同的图中,相似或相同的元件可具有相同的附图标记。
具体实施方式
[0233]
图1示出了说明用于系统sys的数字模块化仿真的计算机实现的方法的简化流程图,包括以下步骤:
[0234]
(a)将系统sys分解成至少两个子单元ssy仿真子系统smn,
[0235]
(b)通过操作n个子系统smn来仿真相应的子单元ssy,其中仿真包括在相应子系统时间步长smp期间根据子系统步骤输入msi(其中子系统smn起到接收子系统smr的作用)逐步重复地生成子系统步骤输出mso(其中子系统smn起到发送子系统sms的作用),
[0236]
其特征在于以下附加步骤:
[0237]
(c)从发送子系统sms接收连接接口变量trd,其包括以下各项中的至少一项:
[0238]-数字数据dta,
[0239]-至少数字数据dta的数据预测模型dem的参数,
[0240]-被分配给数字数据dta的数据预测模型dem,
[0241]
其中数字数据dta属于发送子系统sms的子系统步骤输出mso,包括关于待发送到至少一个接收子系统smr的发送子系统sms的至少一个信息的细节,
[0242]
其中发送子系统sms和接收子系统smr分别是由子系统smn所完成的功能,
[0243]
(d)将接收到的连接接口变量trd的转发延迟一延迟时间dlt,
[0244]
(e)在延迟时间dlt内由数据预测模型dem外推数字数据dta,以获得数字数据dta
的预测数字数据edt,其可以优选地在对应的接收子系统smr中计算,
[0245]
(f)开始子系统smn的下一个仿真步骤,根据子系统步骤输入msi生成下一个子系统步骤输出mso,其中子系统步骤输入msi包括预测的数字数据edt。
[0246]
以上步骤(c)可以包括以下附加步骤:
[0247]
(c1)通过从一组预定函数中选择数据预测模型类型det来确定数据预测模型dem,以及
[0248]
(c2)从先前的1、2、3或更多步骤的子系统步骤输出mso的相应发送子系统的sms数字数据dta来校准数据预测模型dem,包括最新的一个mso
lst

[0249]
以上步骤(f)可以包括以下附加步骤:
[0250]
(f1)通过比较由数据预测模型dem至少基于在最新的子系统步骤输出mso之前的步骤所计算的数字数据dta
prd
(在这种情况下为预测数据edt)与发送子系统sms的同一时间点pit的对应于最新子系统步骤输出mso
lst
的数字数据dta
rel
,确定误差erd,
[0251]
(f2)根据误差erd与子系统时间步长smp之间的预定关系调整发送子系统sms的子系统时间步长smp。误差erd与子系统时间步长smp之间的预定关系可被定义为:
[0252]
调整后的smp将被称为smp
adj
,而先前的smp将被称为smp
prv

[0253]
smp
adj
=smp
prv
*beta*(rtto/erd)∧n 1
[0254]
其中:
[0255]
n:数据预测模型dem的多项式阶数
[0256]
smp
prv
:先前协同仿真步骤的smp
[0257]
rtto:相对容差
[0258]
erd:误差,优选是相对误差
[0259]
beta:安全系数在[0.5,1.0[,优选为0.9
[0260]
将延迟时间dlt设置为smp
adj
的长度可适于延迟发送数字数据dta,直到当接收子系统smr准备好接收数字数据dta时的预定时间点pit为止。
[0261]
以上步骤(e)可以包括以下附加步骤:
[0262]
(e1)从预定函数组(数据预测模型类型)中选择单个数据预测模型类型det
se1
,以及
[0263]
(e2)根据先前1、2、3或更多步骤的子系统步骤输出mso的相应发送子系统sms的数字数据dta(不包括最新的子系统步骤输出mso
1st
),校准所选择数据预测模型类型det的数据预测模型dem1,...,demn,
[0264]
(e3)通过将由数据预测模型demk至少基于最新子系统步骤输出mso
1st
之前的步骤计算的数字数据dtak与发送子系统sms的同一时间点pit的对应于最新子系统步骤输出mso
1st
的最新数字数据dta
re1
进行比较,确定每个数据预测模型demk的误差erd,
[0265]
(e4)从所选择数据预测模型类型det
sel
中选择具有最小绝对误差erd
sm1
的数据预测模型demk。该所选择数据预测模型dem
se1
=demk是现在要使用的数据预测模型。
[0266]
如图2所示,上述步骤(f)可以包括至少一个迭代子系统ism,其被提供为流形模型,至少一个二重模型tmd,其包括主模型mmd和至少一个代理模型smd,其中代理模型smd能够重复至少单个协同仿真步骤,优选地能够重复多个协同仿真步骤,其中代理模型smd包括与主模型mmd至少部分相同的子系统步骤输出mso参数和子系统步骤输入msi参数,
[0267]
方法包括分配给定义的子系统时间步骤smp的附加步骤:
[0268]
a)代理模型smd接收至少部分地源自至少一个其他输入提供子系统smn的子系统步骤输入msi,
[0269]
b)代理模型smd根据子系统步骤输入msi计算子系统步骤输出
[0270]
mso,子系统步骤输入msi至少部分地源自其他输入提供子系统
[0271]
smn中的一个,计算子系统步骤输出mso包括待提供给代理模型
[0272]
smd的下一迭代循环的输入的至少一部分,
[0273]
c)重复循环步骤a)-b),直到满足输入提供子系统smn和代理模型smd的子系统步骤输出mso的相互收敛标准cct为止,
[0274]
d)至少部分地将收敛的子系统步骤输出mso作为子系统步骤输入
[0275]
msi的至少一部分提供给主模型mmd,
[0276]
e)主模型mmd根据子系统步骤输入msi针对定义的子系统时间步长smp计算子系统步骤输出mso。
[0277]
图3示意性地展示了简化的计算机系统cps,其用于通过应用根据本发明的计算机实现的方法且可选地根据所提及的优选实施例的任意组合来仿真系统,该计算机系统包括:
[0278]-用于仿真该系统sys的子单元ssy的至少两个仿真子系统smn,其中子系统smn被设计成使得仿真包括根据子系统步骤输入msi逐步重复地生成子系统步骤输出mso,
[0279]-通信管理器cmm,
[0280]-通信信道cch,其连接子系统smn和通信管理器cmm,
[0281]-其中子系统smn中的至少一个被设计成作为发送子系统sms经由通信信道cch向通信管理器cmm发送连接接口变量trd,该连接接口变量trd包括以下各项中的至少一项:
[0282]-数字数据dta,
[0283]-至少数字数据dta的数据预测模型dem的参数,
[0284]-被分配给由发送子系统sms提供的数字数据dta的数据预测模型dem,
[0285]-其中数字数据dta属于发送子系统sms的子系统步骤输出mso,包括关于待发送到至少一个接收子系统smr的发送子系统sms的至少一个信息的细节,
[0286]-其中通信管理器cmm或接收子系统smr被设计成通过数据预测模型dem预测数字数据dta,以获得由发送子系统sms提供的数字数据dta的预测数字数据edt,
[0287]-其中接收子系统smr被设计成启动下一个仿真步骤,该下一个仿真步骤在延迟时间dlt内根据子系统步骤输入msi生成下一个子系统步骤输出mso,其中子系统步骤输入msi包括预测数字数据edt,
[0288]-其中发送子系统sms和接收子系统smr是由子系统smn所完成的功能,
[0289]-其中计算机系统cps被准备用于启动接收子系统smr的下一个仿真步骤,根据子系统步骤输入msi生成下一个子系统步骤输出mso,其中子系统步骤输入msi包括预测数字数据edt。
[0290]
尽管已经参考优选实施例详细描述了本发明,但是必须理解,本发明不限于所公开的示例,并且本领域技术人员可以在不脱离本发明的范围的情况下对其进行许多附加修改和变化。
[0291]
应当注意,贯穿本技术的“一”或“一个”的使用不排除多个,并且“包括”不排除其他步骤或元件。此外,可以组合结合不同实施例描述的元件。还应当注意,权利要求中的附图标记不应当被解释为限制权利要求的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表