ANSYS的求解组织过程与载荷步概念
载荷步是ANSYS软件的一个重要概念。ANSYS的静力、动力分析(甚至包括特征值问题)的求解过程都是通过载荷步来组织的。本文向读者介绍载荷步的概念、以静力分析为例介绍ANSYS的求解组织过程以及分析“时间”的意义。
1.载荷步的意义
载荷步是ANSYS结构分析中的一个重要概念。所谓一个载荷步,通俗的解释就是一个施加一组特定荷载并求解的过程。一个完整的载荷步定义包括约束条件、载荷以及与载荷步相关的选项设置等内容。
2.ANSYS求解过程的组织
ANSYS中的求解过程通过载荷步组织的,也就是说整个求解过程可以划分为一个或多个载荷步。对于只包含一个载荷步的分析称为单步分析,包含多个载荷步的分析称为多步分析。
对于结构静力分析,可以包含单个载荷步,也可以包含多个载荷步。单个载荷步的分析可以理解为一种单一工况下的静力分析过程。对于多工况分析,在MechanicalAPDL中可以通过多个载荷步逐个分析;在Workbench中,通常通过复制分析系统的方式结合Mechanical应用下的SolutionCombination功能实现各工况分析及工况组合,这时多工况分析的实质是多个单载荷步分析,而不是多步分析。
多步分析的作用是划分不同的加载阶段,载荷步个数的设置通常与载荷的“历程”相关,如下图所示的Pressure荷载,根据其变化情况,设置了4个载荷步。
非线性静力分析和动力分析中,每一个载荷步又可以细分为多个载荷子步。对于线性分析而言,载荷步不需要细分为子步。对于非线性问题,载荷是逐级施加的,采用增量加载,如果要施加的荷载总量作为一个载荷步来求解,则每一级加载就是一个子步,每个子步通常还包含多次的平衡迭代,每一次平衡迭代即相当于一次线性静力求解。
每一个载荷步在静力分析中,载荷步结束的“时间”仅表示加载的次序而没有实际意义。对于非线性的静力分析,载荷步结束的“时间”可以指定为要施加的载荷总量,这样的“时间”可以直观地指示出当前加载所达到的数值;如果非线性分析的载荷步“时间”设为1,则“时间”表示当前增量加载达到目标荷载的百分数。
非线性分析中,如果以表格方式定义整个载荷-“时间”历程数据,那么整个求解过程将仅包含一个载荷步,但是根据求解过程的需要,还是要设置必要数量的载荷子步,一方面是为了准确“捕捉”载荷历程数据,另一方面也是非线性求解过程的需要。
载荷步可以被进一步细分为多个子步,每个子步结束的“时间”按照子步占载荷步的比例来计算。对静态分析尽管“时间”没有实际意义,但“时间”总是单调增加的,就像在瞬态动力分析中的真实时间一样,不能“倒流”。
3.ANSYS Workbench中的载荷步设置
在Workbench的Mechanical应用界面下,通过AnalysisSettings分支完成载荷步的定义及分析选项的设置。除了载荷步控制选项,AnalysisSettings中还涉及到求解器控制、重启动控制、非线性控制、输出控制、分析数据管理等类型的选项设置,非线性选项是与载荷步相关的,即每一个载荷步需要分别进行设置的,其他选项则是与载荷步无关的,即对于所有载荷步来说是相同的。本文只着重介绍分析设置选项中的载荷步控制选项,即AnalysisSettings中的Step Controls选项,如下图所示。
Number Of Steps表示设置的载荷步数,单步分析为1,多步分析可根据需要设置。
Current Step Number表示当前载荷步,设置为k时,表示对第k个载荷步进行其他载荷步相关的选项设置,k为载荷步数。
Step End Time表示当前载荷步(比如,第k步)的结束时间。
Auto Time Stepping表示自动时间步选项,如下图所示,一般用于非线性或瞬态分析中。
当AutoTime Stepping设置为Program Controlled(即程序控制)为缺省选项,程序将基于分析类型来设置载荷步及子步,相关设置列于表1中。
表1 程序控制自动时间步选项缺省值
分析类型 |
初始子步数 (Initial Substeps) |
最小子步数 (Minimum Substeps) |
最大子步数 (Maximum Substeps) |
静力分析(线性) |
1 |
1 |
1 |
静力分析(非线性) |
1 |
1 |
10 |
稳态热分析(线性) |
1 |
1 |
10 |
稳态热分析(非线性) |
1 |
1 |
10 |
瞬态热分析 |
100 |
10 |
1000 |
当AutoTime Stepping设为On时,打开自动时间步。可以基于子步数或基于时间两种不同的方法设置自动时间步选项。
(1)基于子步数
在DefinedBy中选择Substeps时,通过设置初始子步数(InitialSubsteps)、最小子步数(Minimum Substeps)以及最大子步数(MaximumSubsteps)三个值来设置自动时间步长的变化范围,如下图所示。
(2)基于时间
在DefinedBy中选择Time时,通过设置初始时间步(InitialTime Step)、最小时间步(Minimum Time Step)以及最大时间步(MaximumTime Step)三个值来设置自动时间步长的变化范围,如下图所示。
实际上,以上两种方式本质上是一致的,子步数就等于载荷步结束时间除以时间步长值。
当AutoTime Stepping设为Off时,关闭自动时间步,直接为当前载荷步定义固定的子步数或时间步长。