首页/文章/ 详情

Amesim利用DOE进行批处理实现结果汇总

2月前浏览2113

↑ 点击上方Amesim学习与应用关注我们


     

       
1        

       
 引言      

大家好,最近在Amesim微信交流群中答疑的时候,遇到大家咨询的一个新的问题,是一个非常常见的需求,我觉得有必要写出来,供大家知悉这样的方法。

我们来设想一个如下图所示这样的模型场景,已知一段管路进出口压力,想知道不同管路直径d(mm)和不同管路长度L(m)时,流过该管路的水流量Q(L/min)。为了更加直观的演示,我们假设管路直径d的取值分别为10mm、20mm、30mm、40mm、50mm等5组状态,管路长度L的取值分别为1m、2m、3m、4m等4组状态,通过交叉组合,我们希望得到20个组合工况下的水流量。

2        

       
 批处理功能      

对于上述简单的案例,其实我们知道Amesim存在批处理功能,参数或者仿真模式下,选择“研究管理-批处理”功能,我们可以打开批处理工具框。

在批处理功能里面,我们无法实现交叉,只能按照每一个数据组分别设置,例如本例中就需要手动输入20组数据,相当的麻烦。想一想,如果我们有10000组数据,这样一个个去手动输入,岂不是累崩。这种场景又非常常见,例如有参数A、B、C、D四个参数各有10个工况,那交叉组合就是10000个参数组。  

如果此时你还能接受,耐心的一个个输入进去,进行了批处理计算。然后得到的结果就成了如下图这样,需要辨别每一个工况的结果,然后手动一个个读取结果再输入到结果记录表中。如果数据足够多且结果都是曲线,那么花花绿绿的一大片,足以令人崩溃。因此,面对此类场景,显然批处理方法不是最佳方案

3        

       
 DOE批处理功能      

为了更好的获取结果,我们还可以选择“研究管理-新的研究-设计实验”功能,“DOE批处理计算”指的是在设计实验(Design of Experiments, DOE),每个变量都是实验矩阵中的一个条件,所有条件交叉组合形成实验矩阵,然后对实验矩阵进行批量计算,也可以理解为种实验田。一般也是用于对大量的组合工况批量计算,得到最优的参数,也用于分析其内部规律。

在DOE实验视图中,我们分别输入了管路直径d和管路长度L的参数组,每个参数之间用分号隔开,则可以自动生成实验矩阵,例如本例中自动交叉生成20个实验组,然后开始批量计算。

在DOE批量计算过程中,可以看到日志中不断的提示实验矩阵中的工况编号,以及是否完成计算的提示。直至所有实验完成计算后,即可通过“DOE-右键日志文件”查看到所有数据结果。然后只需要将数据结果复 制到excel中简单处理,则可以十分直观的查看,也方便进一步的处理。

DOE日志文件复 制到Excel进行处理后,如下图所示。可以很直观的看到每个工况组合下,管路中的流量值。同时,色阶处理后,也可以明确的观察到“管路直径越大长度越短,则流量越大”这样的规律,可以说相当的直观和方便,比单独的批处理功能强了很多倍。如果大家对这部分内容感兴趣,可以参考我们制作的《第2期 Amesim参数分析与优化专题视频教程》内容。  

4        

       
 脚本批处理功能      

上面介绍了DOE批处理功能,已经足够满足大家的日常批处理计算的需求了。但是,我们都知道,懒是无止境的,懒是创造力的重要源泉。

还有一个方法就是Excel脚本处理功能,简单来说,大致步骤就是:  

a) 工况填写到excel中;  

b) 脚本获得工况参数,调用Amesim计算;  

c) 脚本将Amesim计算结果直接提取到excel中。  

一共就这么几个步骤,一键开始,坐等结果。当然,这也需要一丁点VBA编程技巧就可以实现,如果大家也是有这方面的需求,还可以学习下我们制作的视频教程《第62期Excel脚本操作Amesim专题视频教程》。


5        

       
 总结      

文主要介绍了Amesim在面临多参数交叉组合时候的批量计算方法,更加推荐大家多多尝试DOE工具,更好的解决自己在模型参数分析中遇到的问题。

-----------------------------------





来源:Amesim学习与应用
AMESim
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-11
最近编辑:2月前
batt
本科 微信公众号:Amesim学习与应用
获赞 73粉丝 377文章 198课程 0
点赞
收藏
作者推荐

Amesim在仿真过程中修改任意参数的方法

↑ 点击上方“Amesim学习与应用”关注我们 1 引言 近期在Amesim技术交流群中,看到大家讨论Amesim如何实现在仿真过程中修改任意参数。我们都知道,正常仿真过程中,修改参数都不会起作用,但需求又很明确,就想边仿真边修改参数。实际上也是有方法的,群内一时说不清,特写此文。 例如对于如下模型,输出一个sin函数的信号。需要实现的功能为:前10s设置频率参数为10 Hz,然后修改为1 Hz再运行10s,最终结果都体现在一个曲线图中。2 方法一:连续仿真 本方法,使用的是仿真设置面板中的“继续运行”功能。此方法需要中断仿真调节参数再开始仿真,适用于一些简单的参数调整场景。具体步骤为: 设置终止时间为10s,频率为10Hz;启动仿真,仿真结束后,将仿真终止时间修改为20s,勾选“继续运行”按钮;Sin元件的频率设置为1Hz,再次启动仿真;查看计算结果。3 方法二:脚本控制 对于复杂模型,涉及到众多参数的实时调整,则通过脚本控制可以实现。Amesim提供的一系列脚本,支持对Amesim中的各种对象进行操作,如下演示的动画中使用的是AMESetParameterValue函数实现,效果如下图所示。在如上视频中,先常见一个简单的控件,通过控件实时修改sin元件的频率参数,视频中也可以看到实时生效,计算结果也同步更新,非常连续好用。该方法无任何限制,尤其在一个复杂模型中实时修改参数非常方便,但是使用者需要对脚本调用有一定基础才可以。附上脚本参考资料如下。脚本参考资料:-------------------------------------- 因为每天加人数量受微 信限制,如果加不上,可以在公众 号留言您的微 信,我来加您。我们还制作了相当丰富的Amesim视频课程,欢迎大家到我们的淘 宝店选购。来源:Amesim学习与应用

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈