设计仿真 | MSC Nastran高性能求解计算(三)
MSC Nastran是一款功能强大的有限元分析(FEA)软件,是工程仿真的基础。MSC Nastran已经被结构分析专家使用和验证了半个世纪,以其稳健性、准确性和能够解决工程中的挑战而闻名。
本期摘要内容
了解MSC Nastran如何利用高性能计算(HPC)策略提高您的仿真和分析性能。
•探索适用于所有分析类型(包括静力学、特征值、动力学和非线性)的可用求解器,以便您可以根据特定的仿真需求选择最合适的求解器。
•从其他MSC Nastran用户和海克斯康专家的经验中汲取见解,以实现最佳的并行性能,同时最大限度地降低读取和写入磁盘的成本。
•将HPC专业知识与对MSC Nastran求解器的全面了解相结合,以显著加快仿真速度、最大限度地降低成本并提高不同类型分析的效率。
点击MSC Nastran高性能求解计算(一)、MSC Nastran高性能求解计算(二),查看前两期内容,有关MSC Nastran中高性能计算选项的更多详细信息,请参阅MSC Nastran 2024.1 HPC用户指南。
01求解器说明
01
MUMPS
MUMPS求解器(Multifrontal Massively Parallel sparse direct Solver)是一种高性能数值计算工具,用于求解大型线性方程组。它通过采用利用并行计算技术的多波前算法(multifrontal)能够高效的求解稀疏、对称且正定的线性系统。MUMPS 将问题分解为较小的子问题,对稀疏矩阵进行分解,并同时求解未知数以得出解决方案。目前,MUMPS 可用于线性静力学(SOL101)以及正则模态计算(SOL 103)和屈曲分析(SOL 105)。要激活MUMPS,请将以下内容添加到“执行控制”部分:
SPARSESOLVER DCMP(FACTMETH=MUMPS)
02
MSCLDL
MSCLDL求解器起源于1990年代后期为MSC Nastran 69版本开发的稀疏求解器技术。从那时起,MSCLDL求解器不断改进,如今能够高效地解决密集矩阵、非对称矩阵和复杂矩阵的高效求解问题。该求解器最初专为在有限的内存设置下运行而开发的,因此重点在于out-of-core求解,它也导致并行可扩展性有限。然而,它仍然是一个非常强大可靠的求解器,当可用内存不足模型采用in core方式计算时,可以采用此求解器进行求解,需要添加SPARSESOLVER 卡片:
SPARSESOLVER DCMP(FACTMETH=MSCLDL)
03
Pardiso
Pardiso求解器(并行直接稀疏求解器)是一种高性能数值计算工具,用于求解大型线性方程组。该求解器采用直接方法有效地求解稀疏、对称且正定的线性系统。它利用并行计算技术将计算任务分布在多个处理器或内核之间,从而缩短复杂工程问题的求解时间。根据模型类型的不同,Pardiso 求解器比MSCLDL 消耗更多的内存,但在SMP和DMP并行设置下,它可以表现出更高的性能。要激活Pardiso求解器,需要添加 SPARSESOLVER 卡片:SPARSESOLVER DCMP(FACTMETH=PRDLDL)
04
CASI
CASI 求解器是一种迭代求解器,与直接求解器相比,它对内存的依赖性较低。针对实体主导模型,即实体单元数大于单元总数的80%且荷载工况很少的模型(工况数量<64),CASI迭代方法可以显著缩短求解时间。如果模型中的实体单元数量或者载荷工况的数量达不到上述要求,那么迭代方法的吸引力就会变低,而直接求解器通常会有更好的性能表现。通过在“Case Control”部分添加以下卡片来激活CASI求解器:SMETHOD=element
表2展示一组SMP推荐使用准则。首先,对小型、中型、大型和超大型模型的一般定义如表1所示:
表1 不同规模模型定义
表2 针对不同规模模型和求解器的推荐SMP值
05
Lanczos
Lanczos方法以匈牙利数学家Cornelius Lanczos的名字命名,是一种迭代数值算法,用于逼近大型稀疏对称矩阵的特征值和特征向量。它使用以法国数学家雅克·查尔斯·弗朗索瓦·斯特姆(Jacques Charles François Sturm)命名的Sturm序列逻辑,以确保在请求的范围内找到所有模态。当需要提取相对较少的特征值时,Lanczos 的大部分计算时间都花在对称因式分解上。这种因式分解在计算效率提高方面需要考虑的因素和线性静力学求解是一致的,因此可以使用两个直接稀疏矩阵求解器MSCLDL或MUMPS(包括 MUMPSBLR)中的任何一个。
当寻求很少的根(特征值)或模型规模很小时,通常建议使用Lanczos方法。当模型规模较大或模态阶次较多时,建议使用自动部件模态综合法(ACMS)来求解特征值问题。ACMS求解策略是使用Lanczos方法来求解一系列规模较小的子问题。
特征值求解的 Lanczos 方法首先在 MSC Nastran 输入文件中定义一个 EIGRL 卡片,其中V1和V2可以定义提取模式的频段范围。或者,可以在ND字段中定义要提取的模态数量。
06
ACMS
ACMS是自动部件模态综合法(Automated Component Mode Synthesis)的首字母缩写,是解决大型特征值求解问题的首选方法。ACMS(分析部件模态综合法)生成的特征值是通过缩减的刚度矩阵和质量矩阵计算得出的。与任何部件模态综合法一样,由于模态截断,它存在一定程度的近似。在很大程度上,采用残余向量可以减少这种误差,并且该方法生成的模态解可与经典模态解以相同方式用于后续操作。ACMS的优势在于,它能以快得多的方式生成最终的模态解,且在处理不同问题规模时扩展性良好。随着问题规模的增大,与Lanczos方法相比,耗时的比例越来越优,图7中的例子显示,ACMS的计算效率要比Lanczos高两个数量级。要激活 ACMS,请使用executive control命令:DOMAINSOLVER ACMS
图 7:Lanczos和ACMS的性能比较(有关模型的更多详细信息,请参阅 HPC 用户指南 - 第 6 章)
影响 ACMS 的参数
有几个参数会影响ACMS的精度和性能。下面介绍最重要的几个。
01模态提取的频率范围
对于结构分析,通常倾向于求解系统的最低阶模态。这通常是因为结构的有效质量使得在较高频率下难以引起显著响应,因此低频特性主导了总响应。然而,由于阻尼的存在而导致的动态放大效应意味着较高频率的响应仍然会产生累积效应,所以一般来说,特征值的计算频率范围需要高于最高激励频率。动态放大曲线的形式清晰地表明,在激励频率与最低模态频率之比小于三分之一时,系统的响应趋于静态响应。计算特征值的频率上限可以在输入文件的EIGRL条目的V2字段中进行定义。
为了减少求解耗时,您可能倾向于定义较小的V2值来牺牲一定的精度。然而,MSC Nastran中的求解方法,尤其是ACMS,求解效率非常高,为保证可靠精度而多计算一些特征值在时间成本上并不会高得离谱。
只有在需要求解数千个高频特征值(例如50000个或更多特征值)的情况下,不遵循这一准则或许才是明智之举。
• PARAM, RMRBE3RT,1
激活此参数可以从任何RBE3的REFC字段中删除旋转自由度,这些 RBE3的参考点(REFG)仅由实体单元使用,并且REFC具有旋转自由度。
• UPFACT
ACMS使用部件模态合成(CMS)的自动化方法。正如模态综合法的名称所描述的一样,该方法针对模型中的部件进行模态分析,对部件进行模态分析过程中一般采用固定边界条件,这里的固定并不代表任何物理上的连接关系或者固定关系,而是计算方法的一部分,这就不可避免的引入了误差。在模态综合阶段,可以使用更大频段范围内的模态结果来减少这个误差;这个比值(通过UPFACT参数定义)取决于模型,但经验表明,在模态频率范围内计算频率最小是最终模态频率范围的两倍。研究还表明,增加此频率范围可以提高精度,而部件模态的特征值求解成本几乎没有增加,并且高于UPFACT值4或5时,收益递减。因此,您可以使用 UPFACT参数来增加自动部件模态合成的频率范围,这是在 DOMAINSOLVER执行控制条目上设置的。UPFACT参数越高,ACMS的精度越高,但计算时间会稍长。
为求全面,这里简要提及一些对ACMS求解器有用的其他参数。ACMS 有两种不同的机制可自动解决无质量机构问题(MECHFIX和 PARAM, MMETH BETA)。此外,ACMS支持SPCD方法,而非存在诸多限制的过时大质量方法。还支持使用残余矢量来考虑模态截断效应。此外,MSC Nastran还引入了一项新功能:当计算因数值奇异性而失败时,会自动输出一个名为singularities.bdf的文件,供用户进一步查看。同时,还可使用SLDSKIN命令支持自动将壳单元转换为膜单元的选项,以避免因薄壳单元弯曲刚度低而导致的奇异性。
02FastFR
线性频率响应问题是指假设施加的激励和计算的响应都是谐波的问题。频率响应运动方程的公式是质量、阻尼和刚度相加,并按激励频率的幂进行适当的缩放,再考虑到阻尼引起的虚部算子,最终形成一个动力学刚度矩阵。当一个或者多个外部激励加载时,需要对动力学刚度矩阵在每个频率点进行分解。
求解过程类似于一系列静态分析求解,只是现在静态刚度被动态刚度所取代,并且问题在每个激励频率下都以复数算术计算。在一些特定情况下,在频响分析问题中对于刚度矩阵的分解可能与传统方法并不一样。例如在计算模型文件中的多个卡片的GE域中来定义随着区域而变化的结构阻尼,那么这个模型所表征的阻尼特性非常贴近于实际的物理模型,但是可能就需要引入近似。
在MSC Nastran中,FASTFR方法在求解模态频率响应问题时速度可能会快得多,并且在特定情况下会自动选择该方法。例如,如果模态数量较少,与默认的直接分解解法相比,FASTFR 选项不太可能带来太多优势,因此,最小问题规模设定了一个阈值;可以使用 PARAM,FFRHMAX 指令对此进行调整。此外,关于区域结构阻尼矩阵K4,FastFR方法是否可行需要从两个方面评估。首先,如果K4矩阵的秩较大,FastFR需要解决的等效问题的规模也会随之增大,而当达到一定程度时,解决该问题的益处就微乎其微了。其次,必须将K4阻尼矩阵分解成特定形式,以便使用FastFR方法。如果模型中许多不同区域的结构阻尼系数值存在显著差异,则推导FastFR方法所需的形式可能具有挑战性。目前,会对 K4 矩阵中的耦合情况进行评估,若耦合程度过高, FastFR方法将被停用。很多情况下耦合程度较低,在这些情形下,FastFR方法能够显著缩短计算耗时。
从用户的角度来看,您可以决定强制使用 FastFR方法来评估结构阻尼矩阵中的耦合。如果通过PARAM,G定义全局结构阻尼或GE阻尼条目来定义一个或多个离散区域材料,则K4中产生的耦合可能足够低,FastFR可以提供一些增益;FastFR方法也可用于对称和非对称求解,并且可以通过在输入文件中定义 PARAM,FASTFR,YES 来强制使用。
总之,默认参数为PARAM,FASTFR,AUTO,设置自动选择是否使用 FastFR方法。如果要强制使用FastFR方法,请定义PARAM,FASTFR,YES。当设置PARAM,FASTFR,AUTO时,阈值通过PARAM,FFRHMAX(默认值 = 2500)进行控制,即模态阶数达到或超过此值时,才会启用FastFR方法。
02Solve=auto
正如我们所见,要为任何给定问题选择一种有效的求解方法,涉及诸多方面,从求解器的选择到内存设置以及并行计算的具体细节,这颇具挑战性。不过,解决办法近在咫尺。在运行配置文件中或命令行里指定SOLVE=AUTO是一种能自动为作业选择最优设置的简便方式。这些设置是通过Pardiso求解器运用机器学习进行内存预测,以及借鉴MSC性能测试中的大量经验法则得出的。SOLVE=AUTO过程会按以下步骤来确定最优设置:
•确定模型特征(SOL、dofs、主导、元素类型)
•确定最佳求解器(MUMPS、Pardiso、CASI、ACMS 等)。设置CASI=NO 禁用 CASI 求解器,ACMS=YES可启用 ACMS 求解器,ACMS=NO 禁用ACMS 求解器作为选项
•确定(静态求解器的)内存要求
•检查硬件可用性(内存/CPU)
•选择求解器
•选择内存和BPOOL
•选择如何对内核进行分区(SMP/DMP)
•选择NORUN=YES选项,在而不运行计算的情况下输出最佳设置参数
通过决策树来定义用于确定良好设置的逻辑规则,您可以在《HPC用户指南》的第8章中找到该决策树。有关详细信息,请参阅“自动求解器选择”。
solve=auto norun=yes
如果在群集环境中运行MSC Nastran,有时评估运行特定分析所需的资源很有用,但这通常意味着要运行整个计算。在命令行上使用组合 solve=auto norun=yes 来提交MSC Nastran计算,会在问题分析阶段之前停止计算。在此过程生成的输出文件包含特定仿真计算所需的命令行。通过这种方式,solve=auto 逻辑可用于确定作业的理想设置,然后这些设置可用于运行第二个作业(此时 “norun=no”,即采用默认设置)。
通过估计最佳设置,solve=auto使用户能够在更大的计算机配置上提交作业,避免因内存不足或求解器选择不当而可能导致的崩溃。该选项使你无需执行完整分析就能确定最优设置,从而在提交作业时进行个性化设置。
有关更多信息,请访问MSC Nastran HPC用户指南或我们的web网站。
(海克斯康工业软件)
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈