应用离散分区技术
通过帮助 > 获取示例菜单获取HydrStatDP.ame系统。运行该系统以便与采用离散分区后的结果(及CPU时间)进行对比。
注意系统会读取特殊数据文件:HydStatDP_.cam。

图3-21. 数据文件
保存系统时该文件将被包含在.ame文件中。当对系统进行分割时,需要确保各从系统能访问此数据。因此需将此文件复制到安全位置并使用通用名称(如pump.cam)。
建议至少完成本练习的前半部分(步骤1至9)。
整个液压系统可通过以下步骤转换为离散分区模式:
步骤1:识别子系统
识别可作为从系统的子系统。每个子系统必须通过建模波动动力学且使用离散液压子模型的液压管路与主系统连接。本例中泵、溢流阀和马达是明显的子系统。按此方式划分后状态变量数量如下:
-
主系统:0
-
泵从系统:20
-
溢流阀从系统:6
-
马达从系统:11
这不是唯一的划分方式,本章将探讨其他划分方案。
步骤2:将离散液压管子模型替换为离散液压元件子模型(HLLWPIPE0、HLLWCNXFLOW0、HLLWCNXEFFORT0)
步骤3:剪切并粘贴泵子系统
-
首先从原系统剪切泵从系统(包含HLLWCNXFLOW0子模型)并粘贴至新系统。
注意:从系统不需要液压属性图标/子模型。这是离散分区的重要原则:
从系统继承自主系统的流体属性。通常无需为从系统添加流体属性。若需添加,必须确保流体属性索引与主系统所用索引不同。
-
接着为从系统添加单端口主控块:
-
可添加RSTAT模块以记录泵从系统的CPU用时。
-
将系统另存为PumpSlave,进入运行模式验证有效性后关闭。
-
返回已移除泵的原系统。
步骤4:修改主系统
-
添加单端口从系统替代被剪切的组件。
图3-22. 添加单端口从系统
此时可进行离散分区运行。原计划使用3个从系统,但现可使用1个从系统运行。
-
通过另存为将系统命名为MasterHydr。
步骤5:检查从系统块参数
-
进入参数模式。
注意主系统有17个状态变量。从系统块参数默认如下:
图3-23. 从系统块参数
注意有2个枚举参数:
-
从系统运行参数:使用主系统/使用本地
-
导出主系统全局参数至从系统:否/是
-
-
可试验这些参数以了解可用选项,但继续前请恢复默认设置。
步骤6:定义凸轮转角-位移函数
在PumpSlave系统中,需为每个凸轮定义提供转角-位移函数的文件。即本示例开始时保存的pump.cam文件。

图3-24. 定义凸轮位置
步骤7:在主系统中定义从系统
现已有主系统和从系统。要通过菜单建模/接口块/从系统设置建立关联。
步骤8:执行运行
-
确保主系统为活动系统,设置运行参数:指定终止时间1秒,通信间隔0.001秒。
-
开始运行。
无需手动启动从系统,主系统会自动完成。
在单工作站运行主系统1秒获得如下结果:
CPU时间统计:
-
主系统:964秒
-
从系统:411秒
总CPU时间1375秒,原系统为2174秒。CPU时间减少37%,即加速比达1.58倍。实际情况更为复杂。
原系统运行的实际耗时至少2176秒。单处理器离散分区运行的实际耗时不低于CPU时间总和(1375秒)。本测试在双处理器机器上完成,若有CPU监控工具可观察运行过程。
经精确测量,原系统实际耗时2176秒,离散分区运行为978秒。特定机器上实际耗时减少55%,加速比达2.22倍。
警告:CPU计时器精度存疑。某些平台实际测量的是实际耗时。本章数据来自具有可靠CPU计时器的平台。其他平台测试可能出现异常:主从系统CPU时间几乎相同(2从系统或3从系统时亦然)。这是因为测得的是实际耗时——主从系统几乎同时启停。若遇此现象,应将数据解读为实际耗时。
注意Windows平台RunStats中显示的CPU时间通常为实际耗时。
-
已获得显著的运行时间优化,接下来需验证结果一致性。
步骤9:与原系统结果对比
可绘制原系统与离散分区系统的泵流量和压力曲线进行对比。

图3-25. 泵流量
步骤10:重复流程创建3从系统
已完成小型系统的3种离散分区案例测试,时间统计如下表:
总CPU时间加速比 |
实际耗时加速比 |
|
---|---|---|
1从系统 |
1.58 |
2.22 |
2从系统 |
2.48 |
3.79 |
3从系统 |
2.56 |
4.26 |
译文质量与官方无关,仅做辅助学习使用,帮助大家更方便高效的掌握工具.文档网址:www.tech-doc.cn;公众号:Amesim学习与应用、译匠工厂