ANSYS高级分析-子模型(一)

1 引言
   在有限元分析中往往出现如图1的这种情况,即对于用户关心的区域,如应力集中区域,网格太疏不能得到满意的结果,而对于这些区域之外的部分,网格密度已经足够甚至对本身问题来说已经过细而影响分析的效率。
图1 子模型示意图
要想得到这些区域的较精确的解,在ANSYS平台上可以采取两种办法:
1)用较细的网格重新划分并分析整个模型;

2)只在关心的区域细化网格并对其分析,ANSYS子模型是得到模型部分区域中更加精确解的有限单元技术。显而易见,方法a太耗费机时,而方法b即为本篇提到的子模型技术,它是避开整个模型而只在模型需求部分做特殊处理而得到更加精确解的有限元分析方法。
   在ANSYS平台上,子模型方法又称为切割边界位移法或特定边界位移法。切割边界就是子模型从整个较粗糙的模型分割开的边界,把整体模型切割边界的计算位移值即为子模型的边界条件。
子模型基于圣维南原理的分析方法,即如果实际分布载荷被等效载荷代替以后,应力和应变只在载荷施加的位置附近有改变。这说明只有在载荷集中位置才有应力集中效应,如果子模型的位置远离应力集中位置,则子模型内就可以得到较精确的结果。
在特殊问题的分析或较复杂模型分析应用子模型技术除了能求得模型某部分的精确解以外,还有以下优点:
1)减少甚至取消了有限元实体模型中所需的复杂的传递区域;
2)使得用户可以在感兴趣的区域就不同的设计(如不同的圆角半径)进行分析;
3)帮助用户证明网格划分是否足够细。
目前在使用ANSYS子模型技术时,有以下限制应该注意:
1) 只对体单元和壳单元有效。
2)子模型的原理要求切割边界应远离应力集中区域。用户必须验证是否满足这个要求。
2 子模型技术应用技术
子模型分析的过程包括以下步骤:
1)生成并分析较粗糙的模型;
2)生成子模型;
3)提供切割边界插值;
4)分析子模型;
5)验证切割边界和应力集中区域的距离是否足够。
2.1 生成并分析较粗糙的模型
   生成粗糙模型是指对整体建模并分析。这并不表示模型的网格划分必须是粗糙的,而是说模型的网格划分相对子模型的网格是较粗糙的。
   这个过程通普通ANSYS分析一直,分析类型可以是静态或瞬态的,其操作与各分析的步骤相同。但在子模型技术的应用上应该特别注意以下几个方面:
1)粗糙模型和子模型应该使用不同的文件名。这样就可以保证文件不被覆盖。而且在切割边界插值时可以方便地指出粗糙模型的文件。用下列方法指定文件名:
Command: /FILNAME
GUI: Utility Menu>File>Change Jobname
2)子模型技术只能使用块单元和壳单元。分析模型中可以有其他单元类型(如梁单元作为加强筋),但切割边界只能经过块和壳单元。
3)建模——在很多情况下,粗糙模型不需要包含局部的细节如圆角等,见图2。但是,有限元网格必须细化到足以得到较合理的位移解。这一点很重要,因为子模型的结果是根据切割边界的位移解插值得到的。
图2 粗糙模型可以不包括一些细节部分
4)结果文件(Jobname.RST,Jobname.RMG等)和数据库文件(Jobname.DB,包含几何模型)在粗糙模型分析中是需要的。在生成子模型前应存储数据库文件。用下列方法存储数据库:
Command: SAVE
GUI: Utility Menu>File>Save as
Utility Menu>File>Save as Jobname.db
2.2 生成子模型
子模型是完全依靠第一步粗糙模型的。因此在初始分析后的首先要做的就是初始状态清除数据库(也可以退出并重新进入ANSYS)。可以用下列方法清除数据库:
Command: /CLEAR
GUI: Utility Menu>File>Clear&Start New
同时,应记住用另外的文件名以防止粗糙模型文件被覆盖。用下列方法指定文件名:
Command: /FILNAME
GUI: Utility Menu>File>Change Jobname
然后进入PREP7并建立子模型。应该记住下列几点:
1)使用与粗糙模型中同样的单元类型病同时应指定相同的单元实参(如壳厚)和材料特性。
2)子模型的位置(相对全局坐标原点)应与粗糙模型的相应部分相同,见图3。
图3 叠加在粗糙模型上的子模型
3)指定合适的点旋转位移。切割边界节点的旋转角在插值步骤一写入节点文件时不应改变(见第三步:生成切割边界插值)。用下列方法指定节点旋转:
Command:NROTAT
GUI: Main Menu>Preprocessor>Create>Nodes>-Rotate Node CS-To Active CS
Main Menu>Preprocessor>Move/Modify>-Rotate Node CS-To ACtive CS
4)注意节点旋转角会因为施加节点约束,传递线上约束或面上约束等操作而改变,同样也会为更加明显的操作如[NROTAT和NMODIF]等改变。
2.3 提供切割边界插值
   本步是子模型的关键步骤。用户定义切割边界的节点,ANSYS程序用粗糙模型结果插值方法计算这些点上的自由度数值(位移等)。对于子模型切割边界上的所有节点,程序用粗糙模型网格中相应的单元确定自由度数值,然后这些数值用单元形状功能插值到切割边界上。
在切割边界插值时可参照以下操作:
1)指定子模型切割边界的节点并将其写入一个文件(缺省为Jobname.NODE)中。可以在PREP7 中选择切割边界的节点,用下列命令将其写入文件:
Command: NWRITE
GUI: Main Menu>Preprocessor>Create>Nodes>Write Node File
图4 子模型切割边界
2)重新选择所有节点并将数据库存入Jobname.DB中,然后退出PREP7。 必须将数据库写入文件,因为在后面子模型分析中要使用到。
用下列命令重新选择所有节点:
Command: ALLSEL
GUI: Utility Menu>Select>Everything
用下列命令存储数据库:
Command: SAVE
GUI: Utility Menu>File>Save as Jobname.db
3)要进行切割边界插值(和温度插值),数据库中必须包含粗糙模型的几何特征。因此要用下列一种方法读入粗糙模型数据库:
Command: RESUME
GUI: Utility Menu>File>Resume from
4)进入POST1,即通用处理器(/POST1或Main Menu>General Postproc)。插值只有在POST1中进行。
5)指向粗糙模型结果文件(FILE或Main Menu>General Postproc>Data & File Opts)。
6)读入结果文件中相应的数据(SET或Main Menu>General Postproc>-Read Results-option)。
7)开始切割边界插值。用下列方法完成本步操作:
Command: CBDOF
GUI: Main Menu>General Postproc>Submodeling>Interpolate DOF
缺省状态下,CBDOF命令假定切割边界节点在文件Jobname.NODE中。ANSYS程序将计算切割边界的DOF数值并用D命令的形式写入文件Jobname.CBDO中。
用下列方法作温度插值,但要保证文件包含所有子模型节点:
Command: BFINT
GUI: Main Menu>General Postproc>Submodeling>Interp Body Forc
8)所有的插值任务完成,退出POST1[FINISH]并读入子模型数据库(RESUME或Main Menu>File>Resume from)。
2.4 分析子模型
在本步中,用户指定分析类型和分析选项,加入插值的DOF数值(和温度数值),施加其他的载荷和边界条件,指定载荷步选项,并对子模型求解。重要的一点是要将粗糙模型上所有其他载荷和边界条件复制到子模型上。比如对称边界条件,面力,惯性载荷(如重量),集中力等,如图5所示。
图5 子模型的载荷
2.5 验证切割边界和应力集中区域距离
   最后一步是验证子模型切割边界是否远离应力集中部分。可以通过比较切割边界上的结果(应力,磁通密度等)与粗糙模型相应位置的结果是否一致来验证。如果结果符合得很好,证明切割边界的选取是正确的。如果不符合的话,就要重新定义离感兴趣部分更远一些的切割边界重新生成和计算子模型。
一个比较结果的有效方法是使用云图显示和路径显示,见图6和7。
图6 比较结果时的云图显示
图7 比较结果时的路径显示
3 总结
   ANSYS子模型技术在应用时,相对于其他技术更难上手,原因一是教程和学习资料少,相关可学习的实例和资料就少;二是在进行分析时,对于一般的分析和小模型问题的分析一般都是拿整个模型作为处理对象而不是把模型上一部分作为研究对象,但根据具体的问题用子模型的技术处理能够提升分析的质量,对学习者来说是一种挑战,关于子模型应用实例将在下一篇ANSYS高级分析-子模型(二)介绍。

 

返回Ansys文章专题列表>>>