CN116882212B - 整车零件仿真的非因果方程的报错追溯方法、装置及设备 - Google Patents
整车零件仿真的非因果方程的报错追溯方法、装置及设备 Download PDFInfo
- Publication number
- CN116882212B CN116882212B CN202311145760.7A CN202311145760A CN116882212B CN 116882212 B CN116882212 B CN 116882212B CN 202311145760 A CN202311145760 A CN 202311145760A CN 116882212 B CN116882212 B CN 116882212B
- Authority
- CN
- China
- Prior art keywords
- equation
- variable
- causal
- calculation
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000001364 causal effect Effects 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000004088 simulation Methods 0.000 title claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 195
- 239000000446 fuel Substances 0.000 claims abstract description 27
- 238000012986 modification Methods 0.000 claims abstract description 26
- 230000004048 modification Effects 0.000 claims abstract description 26
- 238000004458 analytical method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 46
- 238000013507 mapping Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000013215 result calculation Methods 0.000 claims description 4
- 238000011835 investigation Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012882 sequential analysis Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
Abstract
本申请提供一种整车零件仿真的非因果方程的报错追溯方法、装置及设备,属于仿真计算领域,该方法包括:将燃料电池模型仿真的非因果方程组转化因果方程组;确定所述因果方程组中因果方程的变量的计算顺序;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。本申请通过获取非因果方程转换为因果方程的变量的计算顺序和计算值,直接推导至实际发生错误的变量,有效的降低了仿真计算错误分析和排查的难度。
Description
技术领域
本申请涉及仿真计算领域,尤其涉及一种整车零件仿真的非因果方程的报错追溯方法、装置及设备。
背景技术
Modelica建模语言使用非因果建模,因此模型中形成的原始方程系统为大规模非因果式方程结构,目前行业主流方式是通过对大规模非因果方程系统进行方程排序,将大规模非线性方程转换-为因果顺序的单元方程及局部分块的非因果方程,此方法可以解决大规模迭代求解的收敛性困难的问题,其中因果方程可以直接使用通用的编程语言例如C语言等直接实现,非线性块可以通过迭代算法包求解。
在将Modelica建模应用在新能源汽车整车系统的燃料电池模型的仿真工作中时,排序分块过程会导致模型方程的新组织结构与原始模型非因果方程结构存在较大不同。当遇到模型方程过程中部分变量数值计算不正确,迭代结果不正确时,模型开发人员无法有效的通过对原始模型方程组结构进行分析,来获得计算错误变量的错误原因。
现有的解决方法是,直接通过仿真求解日志,观察类似除0错误、log超限错误等相关的错误信息及相应的方程,对模型进行方程组猜测性修改及不断的调试测试。
但是,由于整车系统的燃料电池模型仿真工作的复杂性,导致模型方程规模非常大,模型的非因果方程与实际求解的因果方程存在较大的结构区别。求解器输出日志仅限于报错的一个方程,但仿真软件内核实际排序的方程关系复杂,无法通过日志信息获取复杂的方程关系,除日志输出的一个方程外,没有所有相关联的方程信息及变量计算结果信息,所以错误分析及排查非常困难。
发明内容
本申请的目的在于克服现有技术中在对新能源汽车整车的燃料电池模型通过Modelica建模仿真时无法通过日志信息获取复杂的方程关系,导致非因果方程的错误分析及排查困难的缺陷,提供一种整车零件仿真的非因果方程的报错追溯方法、装置、设备。
本申请提供一种整车零件仿真的非因果方程的报错追溯方法,包括:
通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;
根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;
在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;
根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;
根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
可选地,所述在所述仿真软件的仿真过程前,还包括:
根据所述因果方程生成可求解执行的dll或exe文件,用于驱动仿真的结果计算。
可选地,识别所述错误信息中计算错误的变量值或者报错的计算方程,包括:
由所述仿真软件的仿真软件内核识别所述计算错误的变量值或者报错的计算方程。
可选地,所述进行错误修改,包括:
根据所述非因果方程在所述仿真软件的建模代码中找到发生错位的代码处,进行错误修改。
可选地,根据报错的计算方程确定待追溯变量之前,还包括:
通过格式解析工具,生成变量与计算方程的映射关系。
可选地,根据所述映射关系,通过输入所述待追溯变量获得计算所述待追溯变量对应的计算方程。
可选地,根据计算错误的变量值确定待追溯变量,包括:
将所述变量的计算值附属到所述计算方程的变量中;
根据附属的所述计算值和所述映射关系,确定待追溯变量。
本申请还提供一种整车零件仿真的非因果方程的报错追溯装置,包括仿真软件内核、追溯元件和修改模块;
所述仿真软件内核,用于将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;
所述追溯元件,用于根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;
所述修改模块,用于根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
本申请还提供一种整车零件仿真的非因果方程的报错追溯设备,包括:
存储器,用于存储上述的整车零件仿真的非因果方程的报错追溯方法的计算机执行程序;
处理器,用于调取所述存储器中存储的所述计算机执行程序,执行:通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
本申请还提供一种计算机可读介质,存储由计算机可执行程序,所述计算机可执行程序用于被处理器调取执行上述的整车零件仿真的非因果方程的报错追溯方法的步骤。
本申请的优点和有益效果:
本申请提供一种整车零件仿真的非因果方程的报错追溯方法,包括:通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。本申请通过获取非因果方程转换为因果方程后变量的计算顺序,根据变量计算顺序将报错信息表示的变量直接推导至实际发生错误的变量,有效的降低了仿真计算错误分析和排查的难度。
附图说明
图1是本申请中整车零件仿真的非因果方程的报错追溯示意图。
图2是本申请中因果方程的报错问题分析示意图。
图3是本申请中方程计算顺序追溯示意图。
图4是本申请中方程顺序分析示意图。
图5是本申请中方程变量数据映射及分析结果输出示意图。
图6是本申请中追溯元件对应的功能界面示意图。
图7是本申请中相关的功能软件、工具、设备等与仿真过程的关系。
图8是本申请中整车零件仿真的非因果方程的报错追溯装置示意图。
具体实施方式
下面结合附图和具体实施例对本申请作进一步说明,以使本领域的技术人员可以更好地理解本申请并能予以实施。
本申请涉及名称的解释:
Modleica模型方程:是基于Modelica建模语言编写的用于对实物进行仿真的仿真模型。
因果方程:能直接通过计算得到相应变量值的方程,例如形如x=y+z的方程,方程右侧为已知量,可以直接由方程右侧计算得到左侧。
非因果方程:不能直接通过计算得到相应变量值的方程,例如形如0=xy+z的方程,需要进行迭代运算进行求解。
计算顺序:为减少模型仿真求解过程中存在的大量迭代过程,通过对方程求解过程进行分析排序,从而将非因果方程组转化为因果方程组,其中所述因果方程组中各个因果方程的变量由在先进行计算的因果方程计算得到的关系是所述计算顺序。
变量:对于因果方程x = y +z,等号左边的为变量x。
计算方程:对于因果方程x = y +z,等号右侧的y+z就是变量x的计算方程。
变量或者计算方程的追溯:根据计算顺序求解方程中,例如x = y +z,x由y和z计算得到。其中y,z由处于此方程之前的方程求解得到。所述变量、计算方程追溯就是基于x=y+z方程,追溯y、z的计算方程,然后再基于相应的计算方程中的变量继续向前追溯。
排序分块方程:非因果方程转化为因果方程后,方程求解顺序与原始模型方程产生较大的不同,此过程产生的因果方程即为排序分块方程,排序指方程需要从上到下依次求解。
本申请属于仿真计算领域,具体涉及在对新能源汽车的燃料电池模型进行仿真时,由于整个燃料电池系统中电堆模型与BOP模型之间存在着复杂的耦合关系,燃料电池模型中的各个零部件的初值或者方程信息都会潜在的影响燃料电池模型方程系统的求解,导致仿真求解失败。因BOP模型中的机理方程与燃料电池模型方程,存在高度的耦合,求解失败方程的定位纯粹依靠Modelica的非因果方程系统进行分析非常困难;因此,提出一种针对燃料电池模型仿真的非因果方程实现报错追溯的技术方案;解决的技术问题是现有技术中无法通过日志信息获取燃料电池模型复杂的方程关系,导致非因果方程的错误分析及排查困难的缺陷;达到的技术效果是对燃料电池仿真时通过获取非因果方程转换为因果方程后变量的计算顺序,根据变量计算顺序将报错信息表示的变量直接推导至实际发生错误的变量,从而有效的降低了仿真计算错误分析和排查的难度。
例如背景技术中提到的Modelica建模语言,其使用非因果建模对燃料电池仿真,因此模型中形成的原始方程系统为大规模非因果式方程结构。其中Modelica仿真软件内核可以通过对大规模非因果方程系统进行方程排序,将大规模非线性方程转换为排序分块方程。本申请基于生成所述排序分块方程的前提,提出一种整车零件仿真的非因果方程的报错追溯方法。
依然例如背景技术中提到的,Modelica仿真软件内核的仿真软件内核本身对模型非因果方程进行转化,由仿真软件内核对非因果方程组进行排序及因果化处理,形成具有因果顺序结构的因果方程,所述仿真软件内核根据基于所述因果方程生成可求解执行的dll或者exe,然后驱动仿真进行结果计算。
在上述过程中,获得对燃料电池仿真的因果方程计算结果及输出所述计算结果对应的计算顺序、变量的计算值和仿真结果的报错信息,并基于此进行报错追溯分析。
图1是本申请中整车零件仿真的非因果方程的报错追溯示意图。
如图1所示,在上述的对燃料电池仿真的非因果方程转化为具有因果顺序结构的因果方程过程中,以及驱动仿真进行结果计算的过程中,分别获取相关用于追溯的信息具体步骤如下:
S101通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件。
其中,所述关系文件包括方程转化信息、因果信息及非因果块信息。将燃料电池模型的非因果方程组转化为因果方程组。这意味着将原始方程组中的所有方程按照因果关系进行重新排列,以便能够按照正确的计算顺序进行求解。
生成因果方程组各个方程变量计算关系的关系文件。这个关系文件记录了因果方程组中各个方程变量之间的计算顺序关系。比如,如果方程A的计算依赖于方程B和方程C的结果,那么这个关系文件会记录方程A依赖于方程B和方程C。通过这个关系文件,可以确定每个方程变量的计算顺序,以确保按照正确的顺序解决方程组。
方程转化信息是指将非因果方程组转化为因果方程组的过程中涉及到的信息。它包括方程的变换、合并、分解或其他操作,以满足因果关系的要求。
因果信息是指因果方程组中各个方程变量之间的因果关系。它描述了方程变量的计算顺序,即哪些方程变量的计算依赖于其他方程变量的结果。
非因果块信息是指在转化过程中被认为是非因果的部分。这些部分可能是因为缺乏必要的输入或者存在无法满足因果关系的问题。需要特别处理这些非因果块,在转化为因果方程组时可能需要引入外部输入或者修改方程结构等方式来解决。本申请主要是针对因果方程进行追溯,而对于非因果块则需要进一步判断,确定是否可以采用本申请提出的方法进行追溯。
S102根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序。
为了确定因果方程组中因果方程的变量的计算顺序,可以分析所述关系文件中记录的因果信息。该信息反映了方程变量之间的依赖关系。
首先,找到没有任何依赖关系的方程变量,也就是没有其他方程变量依赖它们的变量。这些变量可以作为计算的起点。
然后,按照依赖关系的链式形式来确定计算顺序。例如,如果方程A依赖于方程B和C的结果,那么需要先计算方程B和C,然后再计算方程A。这样,按照依赖关系的链条依次解决方程组中的变量。
需要注意的是,对于存在循环依赖的方程组,需要进行额外的处理。常见的处理方法是使用迭代或者数值求解的方式,通过迭代计算逼近方程组的解。
综上所述,根据所述关系文件中的因果信息,可以确定因果方程组中因果方程的变量的计算顺序。
S103在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值。
由所述仿真软件内核基于生成的因果顺序结构信息生成可求解执行的dll或者exe,然后驱动仿真进行结果计算。此过程中,所述仿真软件内核将获取所述变量的计算值。
识别所述错误信息中计算错误的变量值。根据仿真软件内核所提供的信息,获得变量的计算值,包括仿真过程中每个变量的最终结果或者其在不同时间步的值。这些计算值反映了仿真模型在特定条件下计算得到的结果。对于每个变量的计算值,与预期值进行比较,以确定是否存在计算错误。比较可以基于预先设定的准确性标准或者基于其他可用的验证信息。
S104根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和还初始变量对应的初始计算方程。
在此之前,还可以通过格式解析工具,生成变量与计算方程的映射关系。然后可以根据所述映射关系,通过输入所述待追溯变量获得计算所述待追溯变量对应的计算方程。
具体的,可根据变量的所述计算顺序分析,或基于开发的方程信息分析工具对因果方程的关系文件进行扫描,从而获得变量的计算顺序。可通过因果方程求解过程中对求解计算的变量的内存结果进行监控或对求解器计算结果输出接口的监控,获得每一次计算步骤过程中对应的变量计算值。
当因果方程存在的计算错误,所述仿真软件内核会提供求解错误的因果方程的信息。由于所述的报错信息一般形似c=log(a)*b;error=log(0)*sin(0.5)。且所述报错信息只能提供当前错误的计算方程和变量的信息,因此需要进一步追溯错误原因。
具体的,结合上述变量求解过程对应的变量的计算顺序,以及相关的变量计算错误的变量值,通过追溯得到实际发生问题的因果方程及对应变量的数值,从而方便基于计算关系逐步进行变量、计算方程追溯,追溯到实际产生错误的变量、计算方程。
进一步的,可以向前回溯多级单元方程关系。基于相关的信息可以更为准确的定位最初导致错误的计算方程及变量,从而对所述初始变量和初始计算方程对应的非因果方程快速定位及改正。
图2是本申请中排序分块方程的报错问题分析示意图。
如图2所示,对于报错问题分析,在燃料电池模型仿真过程中,通过第一连接201同步仿真软件内核获取的所述因果方程组的关系文件;通过第二连接202同步求解过程中变量的变量计算值信息;再通过第三连接203获取的所述因果方程计算的报错信息。最后,获取的所述关系文件,计算值信息和报错信息,逐步追溯到相应的实际发生错误的初始变量和初始计算方程,并进行反馈。
在所述步骤S104中还包括:当发现变量计算错误时,可以通过仿真软件内核求解器生成报错信息,并根据所述报错信息获得当前报错的变量的计算顺序。根据所述计算顺序进行发生问题的因果方程的追溯。
图3是本申请中方程计算顺序追溯示意图。
如图3所示,可根据所述报错信息获得当前报错的因果方程变量的计算值;然后根据所述变量的计算顺序和所述变量计算值确定仿真过程中实际发生错误的单元方程和变量信息。
例如排序分块方程E报错,即变量e计算错误,错误类型为除0错误。根据变量计算顺序和变量的计算值对排序分块方程E的变量e的分析:其由变量d1和c得到,由此可追溯到变量d1,c。根据变量d1,c进行进一步的追溯,由于变量c由排序分块方程C计算得到的值为0,因此变量c为导致错误的原因。
追溯变量c为由变量a、b得到,因此再向前追溯,发现错误原因是因为变量a为1,c=log(1)*b为0,因此该排序分块方程E计算错误的原因是变量a设置的值错误。
需要说明的是,在本申请中,所述非因果方程组转化为因果方程组是,可能形成具有非因果关系的非因果块,因此所述因果方程组中还可能包含非因果块。
如图3所示,由于变量d1是非因果块中的变量,其是否可以通过本申请提出的方法追溯,需要判断该变量是否具有同所述其他因果方程的因果关系,即该变量的计算方程中的参数是否是由其他因果方程提供。若是,则根据该变量的计算关系进行追溯,反之亦然。
通过所述变量、计算方程追溯的分析,快速直观的获取报错方程实际产生的最原始的问题变量和排序分块方程,可以根据相关信息快速的定位错误原因。
本申请中所述仿真软件内核在将非因果方程组转换为因果方程组,并生成相应的因果方程。进一步的,所述仿真软件内核生成的因果方程中的变量命名具有规律性,其中大部分方程满足a=f(x1,x2...)的形式。可知所述变量的名称实际上该变量的计算方程具有一一对应关系的。
因此可以通过格式解析工具,获取所述因果方程与该变量的映射关系。进一步的,根据所述映射关系,通过输入所述待追溯变量获得计算所述待追溯变量对应的计算方程。
例如通过输入需要分析的变量名称,例如c变量,根据所述映射关系可以获得计算此变量的因果方程c=log(a)*b,然后通过选择该变量对应计算顺序中的需要分析的下一个变量a,就可以输出方程A,a=1。
图4是本申请中方程顺序分析示意图。
如图4所示,基于变量与方程的映射关系,可以快速的实现自动追溯过程,其步骤如下:
S301基于所述变量的计算顺序及变量的名称获取各个计算方程和变量的信息;
S302将S301获取的所述信息拆分为待求解变量和已知变量;
S303形成待求解变量和已知变量与计算方程的映射关系;
S304基于收到的错误信息,根据所述待求解变量和已知变量的计算顺序,进行追溯分析,根据所述映射关系进行方程追溯;
S305循环S301~S304,找到实际发生错误的变量和计算方程。
由于因果方程与求解此变量的方程映射关系,通过输入变量名称快速实现错误方程的信息追溯,简化分析排序分块方程的搜索时间,提高错误方程分析效率。
图5是本申请中方程变量数据映射及分析结果输出示意图。
如图5所示,模型仿真过程中,所述因果方程求解过程是不断迭代进行的,错误可能出现在任意一个计算过程中。因此不同计算过程中,变量值存在不同。
由于求解过程中每一步各个变量都会有对应的数值,因此通过对仿真软件内核求解过程提供过程中变量存储数据的接口,在需要分析变量方程关系时,输出当前所有变量的已知值。所述追溯元件获取到当前各个变量的值,当进行方程错误追溯时,同步将对应的变量的值附属到获取的计算方程下。
例如c=log(a)*b,对应变量值结构error=log(0)*sin(0.5)。
由于log(0)是无法计算的,因此会出现计算错误,错误原因是a变量造成的,然后即可直接追溯a变量的计算原因。
通过求解过程中变量数据接口获取对应的变量数据结果,提高对计算错误方程的分析速度,快速定位导致方程错误的问题变量,然后继续追溯错误原因,从而实现快速准确的错误问题定位。
S105根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
完成所述报错问题追溯后,根据搜索定位到的报错问题原因,包括变量或者计算方程的信息,返回建模代码中找到对应的有问题的代码处,根据实际建模意图对代码进行修改。
最后再次运行仿真软件进行仿真试验,检查问题修改是否完成,或根据新的问题信息再次修改,重复本流程,直到模型可以正常仿真为止。
图6是本申请中追溯元件对应的功能界面示意图。
请参照图6所示,根据仿真软件内核中相关的输出信息,通过初始化实现变量与计算方程关系的映射,输入要分析的变量和计算方程信息,就可以获得对应的追溯信息或者变量值信息。
图7是本申请中相关的功能软件、工具、设备等与仿真过程的关系示意图。
请参照图7所示,本申请所述方法,可以应用于设置的一个追溯元件401中,该追溯元件401通过仿真软件内核的功能接口,与内核402进行信息交互。其中通过获取因果方程变量的计算顺序,并解析为对应的变量和方程映射关系;通过求解变量获取当前分析时刻仿真模型所有变量的数据信息。通过输入信息基于内部的变量、计算方程、变量值的映射关系反馈需要了解的方程及变量的追溯信息,并可以通过日志文件的形式,将所有的查询信息进行记录,方便对方程关系追溯的所有信息的存储及分析。应当清楚,所述追溯元件401并非唯一可执行该方法的元件,还可以是其他可实现该方法的元件、软件或者工具。
由于通过所述追溯元件提供的变量、计算方程和变量值的追溯关系查询方法,以及提供日志记录功能方便记录模型求解错误的全流程信息,可以为提供更为全面的问题分析信息和信息保存手段。
本申请还提供一种整车零件仿真的非因果方程的报错追溯装置,包括仿真软件内核501、追溯元件502和修改模块503。
图8是本申请中整车零件仿真的非因果方程的报错追溯装置示意图。
所述仿真软件内核501:接收燃料电池模型的非因果方程组作为输入,并通过内部的转化算法将其转化为因果方程组。在转化过程中,该模块会分析方程之间的依赖关系和约束条件,确保计算结果的准确性。同时,该模块还生成方程变量计算关系的关系文件,记录了因果方程组中各个方程变量之间的计算关系。
追溯元件502:根据仿真软件内核生成的关系文件,确定因果方程组中因果方程的变量的计算顺序。通过分析关系文件中的依赖关系和约束条件,该模块能够确定一个合变量的计算顺序,确保每个变量的计算都依赖于先前变量的计算结果。
同时,在仿真软件的仿真过程中,接收因果方程组中变量计算的错误信息,并识别出其中的计算错误的变量值。通过对错误信息的解析和分析,确定哪些变量的计算结果与预期不符,由此识别出计算错误的变量值。
找到的计算错误的变量值,该模块确定待追溯的变量。基于错误变量的依赖关系和约束条件,该模块能够确定与计算错误的变量值直接或间接相关的其他变量,即待追溯的变量。
根据追溯元件502确定的因果方程的变量计算顺序,该模块按照计算顺序进行变量的追溯。从计算错误的变量值开始,逐步追溯与之相关的初始变量和对应的初始计算方程。这一过程通过关系文件中的依赖关系和约束条件实现。
修改模块503:根据转化的关系文件,用于查找对应于初始变量和初始计算方程的非因果方程,并进行错误修正。通过分析非因果方程并根据转化的关系,该模块可以进行错误修正,可能包括调整方程的参数,修正方程的表达式或修改初始变量的值。这样,系统能够修正计算错误,从而提高仿真模型的准确性和可靠性。
本申请还提供一种整车零件仿真的非因果方程的报错追溯设备,包括:
存储器,用于存储上述的整车零件仿真的非因果方程的报错追溯方法的计算机执行程序;
处理器,用于调取所述存储器中存储的所述计算机执行程序,执行:通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;根据所述转化的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
本申请还提供一种计算机可读介质,存储由计算机可执行程序,所述计算机可执行程序用于被处理器调取执行上述的整车零件仿真的非因果方程的报错追溯方法的步骤。
本申请中本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,本申请所用术语仅为了描述特定实施例,而非限制本申请范围。如本申请说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
还需说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”等应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
以上所述的实施例及/或实施方式,仅是用以说明实现本发明技术的较佳实施例及/或实施方式,并非对本发明技术的实施方式作任何形式上的限制,任何本领域技术人员,在不脱离本发明内容所公开的技术手段的范围,当可作些许的更动或修改为其它等效的实施例,但仍应视为与本发明实质相同的技术或实施例。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。以上所述仅是本申请的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以作出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其他场合的,均应视为本申请的保护范围。
Claims (10)
1.一种整车零件仿真的非因果方程的报错追溯方法,其特征在于,包括:
通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;
根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;
在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;
根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;
根据所述非因果方程组转化因果方程组的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
2.根据权利要求1所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,所述在所述仿真软件的仿真过程前,还包括:
根据所述因果方程生成可求解执行的dll或exe文件,用于驱动仿真的结果计算。
3.根据权利要求1所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,识别所述错误信息中计算错误的变量值,包括:
由所述仿真软件的仿真软件内核识别所述计算错误的变量值。
4.根据权利要求1所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,所述进行错误修改,包括:
根据所述非因果方程在所述仿真软件的建模代码中找到发生错误的代码处,进行错误修改。
5.根据权利要求1所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,根据所述计算错误的变量值确定待追溯变量之前,还包括:
通过格式解析工具,生成变量与计算方程的映射关系。
6.根据权利要求5所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,根据所述映射关系,通过输入所述待追溯变量获得计算所述待追溯变量对应的计算方程。
7.根据权利要求5所述整车零件仿真的非因果方程的报错追溯方法,其特征在于,根据计算错误的变量值确定待追溯变量,包括:
将所述变量的计算值附属到所述计算方程的变量中;
根据附属的所述计算值和所述映射关系,确定待追溯变量。
8.一种整车零件仿真的非因果方程的报错追溯装置,其特征在于,包括仿真软件内核、追溯元件和修改模块;
所述仿真软件内核,用于将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;
所述追溯元件,用于根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;
所述修改模块,用于根据所述非因果方程组转化因果方程组的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
9.一种整车零件仿真的非因果方程的报错追溯设备,其特征在于,包括:
存储器,用于存储权利要求1~7任一项所述的整车零件仿真的非因果方程的报错追溯方法的计算机执行程序;
处理器,用于调取所述存储器中存储的所述计算机执行程序,执行:通过仿真软件内核,将燃料电池模型仿真的非因果方程组转化因果方程组,并生成所述因果方程组各个方程变量计算关系的关系文件;根据所述关系文件确定所述因果方程组中因果方程的变量的计算顺序;在所述仿真软件的仿真过程中,接收所述因果方程组中变量计算的错误信息,识别所述错误信息中计算错误的变量值;根据所述计算错误的变量值确定待追溯变量,并根据所述待追溯变量的计算顺序追溯发生错误的初始变量和该初始变量对应的初始计算方程;根据所述非因果方程组转化因果方程组的关系查找所述初始变量和初始计算方程对应的非因果方程,并进行错误修改。
10.一种计算机可读介质,其特征在于,存储由计算机可执行程序,所述计算机可执行程序用于被处理器调取执行权利要求1~7任一项所述的整车零件仿真的非因果方程的报错追溯方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145760.7A CN116882212B (zh) | 2023-09-07 | 2023-09-07 | 整车零件仿真的非因果方程的报错追溯方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311145760.7A CN116882212B (zh) | 2023-09-07 | 2023-09-07 | 整车零件仿真的非因果方程的报错追溯方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116882212A CN116882212A (zh) | 2023-10-13 |
CN116882212B true CN116882212B (zh) | 2023-12-01 |
Family
ID=88259071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311145760.7A Active CN116882212B (zh) | 2023-09-07 | 2023-09-07 | 整车零件仿真的非因果方程的报错追溯方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116882212B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2216667A1 (en) * | 1997-09-24 | 1999-03-24 | Curtis Hrischuk | A method of determining causal connections between events recorded during process execution |
CN103810104A (zh) * | 2014-03-04 | 2014-05-21 | 中国人民解放军63863部队 | 一种软件测试用例优化方法及系统 |
CN107341294A (zh) * | 2017-06-15 | 2017-11-10 | 苏州同元软控信息技术有限公司 | 基于Modelica语言的航天器信息系统建模仿真方法 |
CN112883501A (zh) * | 2021-04-06 | 2021-06-01 | 河南科技大学 | 一种用于构建拖拉机数字化研发平台系统架构的方法 |
CN114611296A (zh) * | 2022-03-11 | 2022-06-10 | 成都工元科技有限公司 | 一种磁悬浮转子系统建模仿真方法、设备及介质 |
CN114818394A (zh) * | 2022-06-29 | 2022-07-29 | 中国汽车技术研究中心有限公司 | 针对Modelica模型过程方程的调试方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6807583B2 (en) * | 1997-09-24 | 2004-10-19 | Carleton University | Method of determining causal connections between events recorded during process execution |
-
2023
- 2023-09-07 CN CN202311145760.7A patent/CN116882212B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2216667A1 (en) * | 1997-09-24 | 1999-03-24 | Curtis Hrischuk | A method of determining causal connections between events recorded during process execution |
CN103810104A (zh) * | 2014-03-04 | 2014-05-21 | 中国人民解放军63863部队 | 一种软件测试用例优化方法及系统 |
CN107341294A (zh) * | 2017-06-15 | 2017-11-10 | 苏州同元软控信息技术有限公司 | 基于Modelica语言的航天器信息系统建模仿真方法 |
CN112883501A (zh) * | 2021-04-06 | 2021-06-01 | 河南科技大学 | 一种用于构建拖拉机数字化研发平台系统架构的方法 |
CN114611296A (zh) * | 2022-03-11 | 2022-06-10 | 成都工元科技有限公司 | 一种磁悬浮转子系统建模仿真方法、设备及介质 |
CN114818394A (zh) * | 2022-06-29 | 2022-07-29 | 中国汽车技术研究中心有限公司 | 针对Modelica模型过程方程的调试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116882212A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427802B (zh) | 利用集成学习进行测试用例优先级排序的测试方法和系统 | |
CN111324647A (zh) | 一种生成etl代码的方法及装置 | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
CN108763064B (zh) | 一种基于黑盒函数与机器学习的代码测试生成方法和装置 | |
CN110991036A (zh) | 航天器姿轨控系统故障案例库构建系统及构建方法 | |
CN106933572B (zh) | 一种基于llvm中间表示程序切片的度量模型 | |
CN106844221B (zh) | 一种实现虚拟验证系统覆盖率分析的方法 | |
Spichkova et al. | Towards a human-centred approach in modelling and testing of cyber-physical systems | |
CN111966575B (zh) | 一种航空机载显示软件的图形自动化测试方法 | |
CN116882212B (zh) | 整车零件仿真的非因果方程的报错追溯方法、装置及设备 | |
CN110597718A (zh) | 一种基于ai的自动化测试实现方法和系统 | |
CN104216703A (zh) | 嵌入式软件系统程序的开发方法 | |
CN111444635B (zh) | 一种基于xml语言的系统动力学仿真建模方法及系统 | |
CN112416336B (zh) | 一种面向航天嵌入式系统的软件架构设计方法 | |
CN116955207A (zh) | 识别测试用例完成软硬件的自动化测试方法、系统及介质 | |
Granda et al. | Costest: A tool for validation of requirements at model level | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
CN106095663B (zh) | 基于切片模型的程序回归错误定位方法 | |
CN113505283A (zh) | 一种测试数据的筛选方法及系统 | |
CN111474894B (zh) | 可变目标plc仿真调试方法、存储介质及功能模块 | |
JP7112270B2 (ja) | システム異常操作検出装置、方法およびプログラム | |
WO2021199552A1 (en) | Method for analyzing a programmable logic controller program | |
Li et al. | An automatic generation tool for unit test case based on dynamic symbolic execution | |
CN111078193A (zh) | 一种面向数据分析系统的软件开发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |