Cruise默认设置,允许cruise_m.exe进程占用约8G内存;
当系统内存不足,或Cruise运行于Win32 Platform下时,仿真过程中,可能会因内存不足,无法分配内存地址而报类似“DM_Realloc - Memory Reallocation failed”这样的错误;
通常情况下,Cruise的大部分仿真任务都可以在Win32 Platform下顺利完成,但当进行联合仿真,或纯电动及混合动力车辆模型进行Cycle Run任务循环工况多次迭代仿真时,可能会因内存超限而导致仿真中途报错失败;
此时建议将Cruise软件切换到Win64 Platform下;
我们在《AVL Cruise前向仿真(Simulation 1~5)算法详解》中也介绍过一些降低内存占用方面的方法;
本文介绍的方法支持在极限内存条件下(甚至256MB内存)完成Cruise仿真计算,但一般情况下不建议使用;
当然,对于有特殊需求的用户,例如,喜欢轻量化的软件环境,不想安装64位编译器,习惯32位Matlab自带的lcc编译器编译dll进行联合仿真的朋友,可以使用本教程中的方法限制cruise_m.exe的内存占用;
此外,对于复杂系统的仿真,也可以使用此方法加大默认的8G内存限制到16G、32G、256G...
AVL Cruise限制内存占用的方法:
您好,我用的2015版本自带的hybrid2 混动模型根据您第二种方法进行最高车速仿真,仍然会出现,error 199就 ...
本教程主要用途:使用32位matlab自带lcc编译器不想另外安装编译器的用户进行联合仿真时防止ring buffer溢出。
你说的内置hybrid2模型进行最高车速仿真,理论上即便使用32位platform也不会内存溢出,切换到64位platform则肯定不会内存溢出。
问题原因大概率还是没完全理解教程配置错误,或者仿真任务设定错误导致非线性仿真组求解不收敛无限循环计算。 autosim 发表于 2022-5-24 22:31
本教程主要用途:使用32位matlab自带lcc编译器不想另外安装编译器的用户进行联合仿真时防止ring buffer溢 ...
您好,我现在已经切换到win64下了,只是代入了车型的基本参数的模型,把步长改到1×10-4次方,然后改为0.1秒输出一个结果,现在进行constant drive任务进行不了了。而且full load acceleration测零百加速也测不出来,请问可以从哪些方面考虑呢 spring2022 发表于 2022-5-24 23:21
您好,我现在已经切换到win64下了,只是代入了车型的基本参数的模型,把步长改到1×10-4次方,然后改为0. ...
步长改为0.01s。
实在需要0.001s步长,按教程设置限制内存是一种方案,报错就继续减小参数阈值。
另外可以尝试增大参数,把默认的8G内存限制,增大到32G,前提是你电脑有足够的内存。 autosim 发表于 2022-5-25 09:23
步长改为0.01s。
实在需要0.001s步长,按教程设置限制内存是一种方案,报错就继续减小参数阈值。
增大内存对仿真计算时间有加速效果吗? xjjay1108 发表于 2022-6-15 14:19
增大内存对仿真计算时间有加速效果吗?
没有加速效果,一般用不到。
迭代仿真的时候循环次数过多,8G内存不够的时候才需要加大。 谢谢分享,按照此方法确实解决了这个问题
页:
[1]