EDEM2019.1新版本功能介绍
时间:2019-06-05 10:19:02  作者:

EDEM 2019.1发行说明

本发行说明文档包含有关EDEM 2019.1的以下信息:

• 增强功能

• Bug 修复

• 已知的问题

1. 改进功能

EDEM 2019.1继续扩展GPU求解器的功能,以实现CPU求解器和GPU求解器之间的完全同等。以下内容是EDEM 2019.1中的改进之处:

1.1 EDEM GPU

更完善的内存管理和更简洁的数据传输

对接触模型链进行了优化改进,减少了传输的数据量,这有助于进一步提升计算性能。同时,减少了内存使用量,使得现有的GPU硬件可以运行比以前规模更大的仿真。

1.2 基于GPU的EDEM API

在早期版本的基础上,此版本将更多潜在的EDEM API功能添加到基于GPU的EDEM API中。以下是一些最新改进的概述:

支持多GPU模拟

EDEM Multi-GPU(mGPU)求解器内核可支持运行 API程序,用户可在更短的时间内运行更大规模的仿真。

EDEM耦合接口兼容性改进

现在可以利用基于GPU的EDEM API耦合接口,实现EDEM与多体动力学(MBD)和计算流体动力学(CFD)之间的耦合模拟。

在附加计算中标记“目标粒子”

对于一些复杂模型,需要在颗粒体力模型和颗粒工厂之间进行传递数据。新版本中,已为这些模型添加了标记功能。该功能可实现在颗粒体力模型中为任何需要进一步处理的颗粒进行指定标记。然后可以返回CPU处理这个较小的标记列表,这样就可以更轻松地与API工厂和自定义属性进行数据交流。这个新的工作流程是实现重新调整颗粒大小、更改颗粒属性或是完全删除颗粒的最有效的方法。

新版本API的更新

新版对基于GPU的EDEM API进行了重新设计,可以更清晰地区别不同版本,并确保即使将来添加其他版本,当前版本的API也能继续使用。此版本已将GPU API移至3_1_0版本中。

1.3 其他改变

运动域的颗粒“冻结”行为

新版本中使用冻结颗粒时,运动域会将所有的速度值设置为零,而不是维持冻结之前的速度值。做此改变的原因是,之前版本保留冻结颗粒的速度值,那么冻结颗粒和非冻结颗粒之间的接触具有某种不稳定性。由于先前的速度值无法恢复,因此在解冻后恢复运动时,颗粒的行为会发生微小差异。

能量损失计算

新版本针对进出系统的能量计算进行了重大改进,可提高能量损失计算的准确性,供用户使用。

数据压缩设置

新版本EDEM安装后,数据压缩的默认设置已更改为“关闭”状态。这将导致产生稍大的数据结果文件,但由于可以不暂停仿真来开启数据压缩工作,这样一来却可以显著提高计算性能。用户可以在此处切换设置:工具>选项>部分选项>模拟器>压缩保存数据

CPUPrime模式已删除

此前版本中,当用户选择使用GPU求解器时,由于GPU求解器并不能够支持所有模型,因而会导致CPUPrime模式启动。在这种情况下,EDEM将使用GPU求解器进行接触检测,但随后又使用CPU进行剩余部分的计算。这便导致了用户的困惑:为何使用GPU求解器时性能却没有得到提升,这是由于求解器之间的数据传输量增加所导致的。通过向GPU求解器添加EDEM API,大大减少了启动CPUPrime模式的情况。因此,为简单起见已禁用该模式。如果后期发现有任何功能与GPU不兼容,将会及时通知用户。

2. Bug修复

EDEM 2019.1针对以下问题进行了修复:

• 更新Hysteretic Spring Model的默认值,以防止颗粒穿过几何。

• 当使用“Set time to zero”选项输出deck文件时,颗粒工厂可以存储已创建的总质量。

• 某些输入框未在小数点和逗号之间作正确调整,此问题已得到解决。

• Selection重命名后,Manual Selection不再突出显示。

• 缺少EDEMCore许可证令牌被错误地提示为已过期的EDEMMaint令牌。

• 从创建树中删除材料会错误地删除掉所有颗粒。

• 防止用户将自定义的粒度分布比例设置为零,默认值设置为1e-5。

• 当不旋转时,几何角速度显示“0”而不是“无数据”。

• 已更新用户定义的粒度分布,以排除颗粒工厂计算中应用到0%比例的情况。

• 不可再以零半径创建颗粒球。

• 改进了位检测到有效bond键的错误消息。

• 更新了热传导模型中的常数值,精度由0.3333提升到1.0/ 3.0。

• 数据导出时缺少Von Mises Stress的数据单位。

• Rayleigh时间步长计算现在可以正确地获取颗粒尺度的变化

• 删除颗粒模板时软件可能会发生崩溃。

• 在GPU求解器上无法正确处理Block Factory的自定义接触属性而导致的颗粒爆炸。

• 合并几何时可能会发生错误的移动。

• 以EnSight格式导出数据时,物理时刻可能出现负值。

• 颗粒在多个GPU域之间移动时软件可能会发生崩溃。

• 如果导入了多个集合,则无法正确分配GEMM交互参数。

• Linux上的非默认安装位置无法正确设置系统路径。

• 在GPU上计算自定义颗粒和几何属性时出现错误。

• 包含多个几何的RecurDyn * .wall文件无法导入。

• 大型Field Data文件导入时间超过20分钟时认为导入超时。

• GPU求解器在运行期间对几何力的求和计算出现错误。

• 在CPU Prime模式下使用GPU求解器,可能会出现颗粒速度计算错误。新版本已禁用此功能。

• 纠正错误消息中的少量拼写错误-。

• 优化编译器使得CPU和NVIDIA GPU之间的结果差异已得到修复。

• 首次在Fluent Coupling和EDEM GPU求解器之间传输数据时,软件可能会发生崩溃。

• 启用自动更新后,几何图例无法更新。

• 使用“Selective Save”选项时,随时间步长的扭矩和功率值中没有数据。

• GPU求解器中的自动时间步长可能导致颗粒工厂创建的颗粒数量不正确。

• 错误地设置了对数正态分布的限制条件。

• 导入Field Data可能导致GPU求解器超出内存限制。

• Dynamic Domain无法正确处理自定义接触属性。

• 基于GPU的EDEM API无法正确加载颗粒体力模型文件。

• Legacy Geometry Rolling Friction模型未在GPU求解器上激活。

• 在软件计算过程中导出结果文件时,因为求解器没有计算完成,会导致导出的数据可能会发生变化。

• 在设置面板仍处于打开状态下移除Moving Plane模型时,软件可能会发生崩溃。

如果对于以上修复内容你有任何的疑虑或问题,请联系EDEM技术团队——support@edemsimulation.com

3. 已知的问题

EDEM 2019.1存在以下已知问题:

3.1 GPU求解器兼容性

当前版本中,EDEM GPU求解器内核对模拟类型有一些限制。限制情况记录在EDEM帮助文件(GPU指南)中,并在下表中进行了总结:

注意:需要将现有EDEM API程序进行转换后才能在GPU求解器上使用。转换过程并不是自动的,我们将提供帮助指南指导用户完成转换。[EDEM文档>编程指南> GPU API用户指南]。在激活GPU求解器之前,需要将模型更新到最新版本的API。其中将代码从C++移动到OpenCL是比较有难度的部分,该部分会涉及到检查不支持的C++函数。EDEM还提供了涵盖大多API常用工具的辅助函数来协助完成转化过程。

3.2 GPU求解器内存不足

NVIDIA驱动程序会导致内存问题,我们推荐的解决方法是将3d配置文件设置为“3d app - visual simulation”。

3.3 不再支持旧版本的耦合接口

由于EDEM使用的第三方库发生变化,导致EDEM 2017+不再支持版本2_2_0及更低版本。用户应升级至2_3_0(最好是4_0_0)及以上的版本,以确保耦合接口能继续与EDEM2019.1版本以及后续版本一起使用。

3.4 Edinburgh Elasto-Plastic Adhesion模型的几何相互作用

Edinburgh Elasto-Plastic Adhesion模型(EEPA)不再适用于几何,它仅适用于颗粒之间的接触模型。

3.5 EDEM 模拟设置(.ess)文件大小限制

.ess文件的大小限制为4.29 GB,将大型或多个域数据文件加载到EDEM时通常会出现此大小限制问题。

3.6 EDEM帮助搜索框无法在Internet Explorer 11中使用

其他浏览器(如Microsoft Edge,Google Chrome和Mozilla Firefox)没有此问题。

3.7 GPU的计算域数量限制

与CPU计算相比,GPU计算有更高的内存需求,因此,GPU运算会有更大的计算域数量方面的限制。