上一期专题我们为大家简单介绍了OptiStruct 具有解决三大隐式非线性问题的功能,但是在处理这些非线性问题前,我们需要了解如何设置相应的非线性参数,这样才能灵活运用OptiStruct快速、准确的求解。
我们已经知道在解决非线性问题过程中,OptiStruct采取的策略是施加增量载荷,迭代求解直至残差Rn小至给定范围内,更新方程然后施加下一个增量载荷代。
OptiStruct主要是基于位移 、载荷 、以及功 这三种准则来判断非线性方程是否已经满足收敛,我们可以在求解完成后的输出文件(.out文件)中查看每一个增量步的收敛过程,分别对应 EUI、EPI、EWI。
目前OptiStruct主要支持非线性静力分析(NLSTAT),非线性动力分析(NLTRAN),非线性热力学分析(NLHEAT),接下来就为大家介绍在这些非线性分析中我们需要设置的卡片,以及其参数的意义。
首先在load collector中创建NLPARM卡片,卡片中每个非线性参数的意义如图所示,主要用于控制初始时间步长,每个增量步最大迭代次数,以及收敛准则等。
如图所示,NINC=20表示初始时间步为0.05(由1/20所得),或者直接设置DT=0.05。对于一般非线性问题可以用NINC或者DT设置初始步为0.2,对于强烈非线性问题,初始步可设为0.001。而MAXITER设定单个增量步中的最大允许迭代数,如果超过迭代数而不收敛,增量步会自动减小。
在load collector中创建NLADAPT卡片,DTMAX和DTMIN分别用来设置最大和最小增量步,使用DIRECT来选择是否使用固定增量步。
此外,我们通过设置NUCUTS来控制在给定迭代次数内不收敛后以减小增量步的次数,我们称之为cutback次数,在给定cutback次数内不收敛则直接退出。
同样在load collector中创建NLOUT卡片以控制非线性求解的输出,其中NINT中间结果输出次数,以NINT=10为例,时间每间隔0.1输出一次结果。SVNONCNV则代表如果计算最终不收敛,是否输出最后一步不收敛的结果。
我们在load collector中创建NLMON卡片,如图所示在ITEM中选择DISP以控制输出的每个增量步INT或者每个迭代步ITER的结果。
以上创建的NLPARM,NLADAPT,NLOUT,NLMON均为非线性分析通用卡片,任意一类非线性分析都可能用到,因此我们最后在创建的Loadstep中设置Analysis type为所需的非线性分析类型并选择这些卡片完成非线性分析设置。也可以在创建的.fem文件中查看NLPARM,NLADAPT,NLOUT,NLMON等卡片被SUBCASE的引用状况。