随着计算机硬件的更新,特别是内存和内核的增加,计算性能不断提高。随着硬件的更新,仿真分析软件也相继引入了高性能的计算方法,增加了参与仿真分析的计算机内存和内核的数量,从而提高了仿真分析的效率。Adams软件作为多体动力学分析领域的旗舰产品,也不例外。它可以从计算机内存和内核两个方面实现高性能计算。
1 内存设置
Adams的内存预定义模式有stnd、large、ex_large和huge四种。从stnd到huge,允许调用的内存逐步提高。各种内存调用模式可调用的内存数量见下图1。
图1 不同内存调用模式可调用的内存数量
软件缺省情况下内存设置为ex_large模式,可调用内存大约为20GB,可以满足大多数Adams模型的分析需求。如果模型过大可以将内存调用模式改为huge模式。huge模式可以调用的内存数量将近60GB。可以通过“开始菜单>所有软件>MSC.Software>Adams x64 2015(对应软件版本号)>Adams - Settings & License”打开设置窗口来改变内存调用模式,然后在AView/Preference和ASolver/Preference里面分别设置,如下图2所示。
图2 修改内存调用模式到huge
如果遇到极特殊情况,huge模式也不能满足分析需求,可以将内存调用模式改为Custom,获取更大的内存调用权限。memSize的设置选项对应Adams安装目录下win32或win64/uconfg_xx文件夹内的uconfg.dll。常规情况下uconfg_user中并没有uconfg.dll文件,因此只将memSize设置成Custom是无效的,还需要手动生成自定义调用内存的uconfg.dll文件。这需要借助Adams命令以及外部的Fortran/C编译器,编译器与Adams版本有关,比如Adams2011需要Intel Fortran 10.x/11.x(Visual Studio 2005/2008)。
将内存调用模式设置成Custom后按如下流程完成设置:
1) 按照“开始菜单>所有软件>MSC.Software>Adams x64 2015(对应软件版本号)>Adams -Command Prompt”打开DOS窗口,并输入Adams版本号,以Adams2015为例,输入的命令为adams2015_x64。输入后的窗口显示如下图3所示。
图3 Adams命令窗口
2)在Enter your selection code or EXIT后面输入cmm。
3)逐项设置MDSIZ、OSSIZ、CDSIZ等参数,默认值为huge模式的参数,Custom输入参数定义比huge参数大即可。此过程中自动生成 有关设置的*.f文件,并自动编译生成uconfg.dll文件。文件存储在Adams_install_dir/win32 or win64/uconfg_user目录下。
注意:内存设置不需要额外的许可,但要设置成Custom模式必须在电脑上提前安装好对应的编译器软件。
2 多核设置
Adams多核计算设置有两种途径。第一种设置途径是在Adams/View界面下通过“settings>solver>Executable”菜单打开设置窗口,并勾选More选项,在Thread Count位置输入参与计算的线程数,具体如图4所示。
图4 Adams/View界面设置多线程窗口
第二种设置途径是通过“开始菜单>所有软件>MSC.Software>Adams x64 2015(对应软件版本号)>Adams - Settings & License”打开设置窗口,然后在ASolver/Preference的numThreads位置设置参与计算的线程数量,具体如图5所示。
图5 Adams Registry Editor窗口设置多线程
Adams2014(包括2014)之前的版本,最大支持的线程数量为8个,Adams2015版后将最大支持数量提高到了128个,如图6所示。
图6 2014版和2015版支持的最大线程数量
Adams2015版最大支持128个线程,已经能够匹配绝大多数计算机的硬件水平,对提升模型的分析效率有明显帮助。
注意:多核多线程设置需要额外的许可,需要购买SMP模块,否则只能计算时只能使用1个线程。
文章转载自头条号仿真秀!