Simcenter 3D Solutions Simcenter 3D Specialist Durability 多核并行计算设置方法

2023-12-14T14:26:10.000-0500
Simcenter 3D

摘要

Simcenter 3D Specialist Durability(以下简称SC 3D SPD)是Simcenter 平台中专业的疲劳耐久仿真模块,可以为用户提供专家级的疲劳耐久仿真解决方案,涵盖常规钣金疲劳问题、焊缝、焊点疲劳仿真等应用场景。为了提高求解效率SC 3D SPD具有多核并行求解功能,可以将一个求解任务划分为多个小任务,以CPU多进程方式进行并行求解,显著提升求解效率。 在针对大型模型、大量工况组合、通道非常多的应用场景时,如白车身疲劳仿真问题,是非常必要且有效的计算手段。 在Simcenter 3D 2206版本以前,当用户只定义多核参数(Computation Setup),而没有明确定义任务划分参数(Computation Decomposition)时,会出现软件顺利完成模型求解但无结果文件输出的问题。同时,到本文撰写时的最新Simcenter 2312版本为止,用户对Computation Decomposition参数的设置是多核并行计算效率的决定因素,若设置不当会造成效率的显著下降,本文从两个方面对SC 3D SPD求解器的运行机制进行了描述,为用户合理设定Computation Decomposition参数提供指导,并给出了一些推荐设置方法。 1. SC 3D SPD多核并行的计算过程工作机制 2. SC 3D SPD多核并行的任务划分工作机制


详细信息

本文以一个白车身的疲劳仿真为分析对象进行说明,模型的背景信息描述如下。
  • 模型单元规模:大约4.3M单元,主要为壳单元,无3D实体单元
  • 应力计算方法:采用准静态叠加法计算应力,包含两个op2文件的准静态模态结果,分别对应半载车身和满载车身,每个结果包含114Subcase、存储文件15G
  • 目标设定方法:半载和满载各包含13个路面工况,因此共26个路面工况,进行疲劳目标的组合
  • 疲劳求解设定:根据部件的材料不同,在疲劳工况中通过Local definition定义了13个局部区域,分别采用设置疲劳材料属性
本文描述按以下章节进行。
  1. SC 3D SPD多核并行设置过程
  2. SC 3D SPD多核并行计算的工作机制
  3. SC 3D SPD中多核并行的设置建议
(一)SC 3D SPD多核并行设置过程
SC 3D SPD多核并行计算设置是通过Solver Profile求解总体参数来完成的,Solver Profile由两种类型的求解器参数Solver Parameters组成,Computation SetupComputation Decomposition
Computation Setup设置界面如下。
 
Computation Setup
其中,Hostname参数行代表了求解主机名和希望使用的核数。
    1. remote”,冒号前面字符代表要使用计算的主机名,可以为本电脑或者为网络内的一个HPC的节点名。
    2. 24”,冒号后面数字代表要使用的CPU核数,同时也决定了能并行执行计算的最多任务数。
通过设置核数参数来控制并行计算时疲劳求解器最多能使用的CPU核数,Computation Setup类型的Solver Parameters是疲劳求解必须要定义的求解器参数,即Solver Profile必须包含至少一个Computation Setup类型的求解器参数才能启动求解进行疲劳运算。默认情况下,Computation Setup中的Hostnamelocalhost:1,即采用本机单核运算。
Computation Decomposition设置界面如下。
Computation Decomposition
Computation Decomposition由两个参数组成——Over-Decomposition FactorMinimum Number of Locations per Block,下面分别描述其作用。
    1. Over-Decomposition Factor参数用于控制计算任务被划分的个数,即最终用于求解计算的子任务的个数,假设此参数为X,则最终子任务的个数为XComputation Setup参数中设定的核数n的乘积。
    2. Minimum Number of Locations per Block参数代表一个任务划分的前提条件,假设此参数值为Y,当模型一个任务的计算单元数小于Y时,则此任务不会被再被进行拆分。
Computation Decomposition参数为可选定义参数,当用户使用单核求解时,不需要设定此类型的求解参数;若用户在Computation Setup中设置了多核计算,此类型参数用户可以选择性的定义,并不是必需定义,但求解器后台处理会有区别,本文后面会有详细说明。
(二)SC 3D SPD多核并行计算的工作机制
下面对SC 3D SPD的多核并行计算工作过程进行描述,可以从几条基本原则进行说明。
  1. SC 3D SPD并行求解第一条原则
疲劳求解器并行计算是将整个分析任务按照模型单元进行区域划分,每个区域内的单元可以分别独立的进行疲劳损伤的求解,因此每个小的区域任务将被指派给一个CPU内核,最终所有子区域任务计算完成后,求解器再将所有子任务合并为最后的整体输出结果,而每个子任务的计算时间由区域的计算单元数量决定。
  1. SC 3D SPD并行求解第二条原则
当模型被分解的区域任务数小于设定的CPU核数时,多余的CPU内核处于闲置状态,计算资源未被充分利用。相反当任务数大于设定CPU核数时,多出的任务处于待计算状态,只要有CPU内核计算完成并空闲时,待计算的任务会被立即分配给空闲CPU内核,如此直至所有任务计算完成后,求解再进行整体结果合并。因此,模型求解时间是由最后一个计算完成的子任务决定的。从此条原则出发,被划分的所有子任务最好能具有相差不大的计算时间,而且最好能让划分的任务数为使用CPU核数的整数倍。
  1. SC 3D SPD并行求解第三条原则
模型任务划分的原则和Computation Decomposition的使用。
当用户在SC 3D SPD中定义了疲劳求解工况中的Local Definition时,每一个Local Definition中所定义的区域自动会被求解器作为一个独立的子任务进行计算,因此模型的初始在子任务数等于Local Definition个数。
当用户没有明确定义Computation Decomposition求解参数时,模型不会再进一步被分解,求解器将使用Local Definition中定义的区域作为任务划分方式进行多核计算。在Simcenter 3D 2212版本以前,有时会出现计算顺利完成但无结果输出的问题,但开发团队在2212版本以后对此bug进行了修复,即用户没有明确Computation Decomposition定义时也能正常输出结果。对于仍在使用2212以前版本的用户,解决方案为明确定义一个Computation Decomposition即可。但如果此时任务数小于指定核数,则计算没有被充分利用,因此无论用户使用什么版本软件,只要使用了软件的多核并行求解功能时,建议务必明确的定义Computation Decomposition参数。
对于Over-Decomposition Factor=X,和Minimum Number of Locations per Block=Y的情况,目标任务数=n(核数)* (分解因子),同时Y值限定了对于计算单元数量小于Y值的任务区域,将不会再被进行分解。因此,最终模型实际被分解为的任务数小于等于目标任务数n(核数)* (分解因子)。
  1. SC 3D SPD并行求解第四条原则
模型任务分解方式与计算效率的关系。
首先,分解后的任务将被求解器独立地进行求解,会被顺序地指派给CPU内核,因此计算时间由最后一个计算完成的任务决定。单从此角度考虑,任务计算单元越平均,所使用的核数越多(决定出划分的总任务数),计算越省时间。
其次,模型在对模型进行任务划分时,需要估算计算单元数并给每个新的小任务添加计算头文件,最后才能把所有小任务的结果合并成一个输出文件,这个过程会占用求解时间,因此并不是任务分的越多计算越快。单从此角度考虑,任务数越少越省时间。
再次,如果考虑疲劳求解器的节点消除技术,只有独立任务具有一定计算单元数量时,节点消除技术带来的效率提升才会更显著。因此单从此角度考虑,让每个独立任务具有一定数量时,才能更好的利用节点消除带来的效率提升。
  1. SC 3D SPD并行求解第五条原则
关于局部区域任务的计算单元数确定。
任务计算单元数量并不是直接的有限元模型的单元个数,而是实际进行疲劳累加计算的单元数量。如疲劳求解参数“Computation location”为“On Surface”时,对于3D实体单元来说,实际单元数将远远大于参与疲劳计算的单元数,因为大量但与属于“内部”单元并不参与疲劳计算。但这种设置属于疲劳计算中很常见且合理的情况,因此在进行估算计算单元时用户应加以考虑。
以上即为Simcenter 3D Specialist Durability求解器在并行计算时关键的工作机制,也是用户设置并行计算参数时所要重点考虑的因素。
(三)SC 3D SPD并行计算的参数设置建议
下面以本文开头所描述的白车身疲劳仿真问题为分析对象,给出用户在进行多核计算时的设置流程和参数值指导
  1. 第一条件原则
用户如果要使用多核并行计算功能,一定要明确的定义Computation Decomposition求解器参数。
  1. 多核计算参数设置的一般流程
首先,大概分析模型中Local Definition中每个局部区域的计算单元数,估算单元数时考虑实际的物理单元个数和参与疲劳计算的单元数量。以当前分析对象,13个区域的总计算单元数大概为4.2M,如果其中3个区域的计算单元数明显大于另外10个区域,则我们希望对很大的三个区域进行细分,而不要再对明显很小的10个区域再进行划分。
其次,如果可用的计算资源核数为24的情况,设置Hostname =hostname:24Over-Decomposition Factor=1,即最多划分的任务数不超过24。估算以下10个较小区域中最大的区域所包含的单元数,设置Minimum Number of Locations per Block大于此数值,这样保证只对3个最大的区域进行划分,而另外10个区域直接进行求解而不再进行划分。选择一个时间最短的载荷历程对应的Load event作为计算输入,提交计算来获取计算时间。
其次,分别设置X=23提交计算,获取每次的计算时间,选择最快的一次设置作为最终的并行设置参数,并进行所有目标路况的完成计算。
最后,对于不好估计计算单元数的情况,用户和可以使用Computation Decomposition参数为,Over-Decomposition Factor = 1Minimum Number of Locations per Block = 10000,代表最大分解任务数为用户设定的并行核数n,最小允许分解的任务区域包含计算单元数为10000
以上,即为在使用Simcenter 3D Specialist Durability进行疲劳仿真时,采用多核并行计算的参数设置的基本原则和推荐值。

 

知识库文章 ID# KB000128603_ZH_CN

内容

摘要详细信息

关联组件

Acoustics Additive Manufacturing Assembly FEM Correlation and Updating Durability Electromagnetics (High Frequency) Electromagnetics (Low Frequency) Flexible Pipe Laminate Composites Margin of Safety Motion Multiphysics NX Open Nonlinear Optimization Pre/Post Response Dynamics Rotor Dynamics Samcef Environment Simulation Process Management Thermal / Flow