
ansys子模型的介绍与应用实例.doc
12页第五章 子模型何为子模型?子模型是得到模型部分区域中更加精确解的有限单元技术在有限元分析中往往出现这种情况,即对于用户关心的区域,如应力集中区域,网格太疏不能得到满意的结果,而对于这些区域之外的部分,网格密度已经足够了见图5-1 图5-1 轮毂和轮辐的子模型 a>粗糙模型,b>叠加的子模型要得到这些区域的较精确的解,可以采取两种办法:用较细的网格重新划分并分析整个模型,或只在关心的区域细化网格并对其分析显而易见,方法a太耗费机时,方法b即为子模型技术子模型方法又称为切割边界位移法或特定边界位移法切割边界就是子模型从整个较粗糙的模型分割开的边界整体模型切割边界的计算位移值即为子模型的边界条件子模型基于圣维南原理,即如果实际分布载荷被等效载荷代替以后,应力和应变只在载荷施加的位置附近有改变这说明只有在载荷集中位置才有应力集中效应,如果子模型的位置远离应力集中位置,则子模型内就可以得到较精确的结果ANSYS程序并不限制子模型分析必须为结构〔应力分析子模型也可以有效地应用于其他分析中如在电磁分析中,可以用子模型计算感兴趣区域的电磁力除了能求得模型某部分的精确解以外,子模型技术还有几个优点: 它减少甚至取消了有限元实体模型中所需的复杂的传递区域。
它使得用户可以在感兴趣的区域就不同的设计〔如不同的圆角半径进行分析 它帮助用户证明网格划分是否足够细使用子模型的一些限制如下: 只对体单元和壳单元有效 子模型的原理要求切割边界应远离应力集中区域用户必须验证是否满足这个要求如何作子模型分析子模型分析的过程包括以下步骤:1. 生成并分析较粗糙的模型2. 生成子模型3. 提供切割边界插值4. 分析子模型5. 验证切割边界和应力集中区域的距离应足够远第一步:生成并分析较粗糙的模型第一个步骤是对整体建模并分析〔注-为了方便区分这个原始模型,我们将其称为粗糙模型这并不表示模型的网格划分必须是粗糙的,而是说模型的网格划分相对子模型的网格是较粗糙的分析类型可以是静态或瞬态的,其操作与各分析的步骤相同下面列出了其他的一些要记住的方面文件名——粗糙模型和子模型应该使用不同的文件名这样就可以保证文件不被覆盖而且在切割边界插值时可以方便地指出粗糙模型的文件用下列方法指定文件名:Command: /FILNAMEGUI: Utility Menu>File>Change Jobname单元类型——子模型技术只能使用块单元和壳单元分析模型中可以有其他单元类型〔如梁单元作为加强筋,但切割边界只能经过块和壳单元。
一种特殊的子模型技术,称为壳到体子模型技术,允许用户用壳单元建立粗糙模型而用三维块单元建立子模型本技术在后面还要讨论建模——在很多情况下,粗糙模型不需要包含局部的细节如圆角等,见下图但是,有限元网格必须细化到足以得到较合理的位移解这一点很重要,因为子模型的结果是根据切割边界的位移解插值得到的 图5-2 粗糙模型可以不包括一些细节部分文件——结果文件〔Jobname.RST,Jobname.RMG等和数据库文件〔Jobname.DB,包含几何模型在粗糙模型分析中是需要的在生成子模型前应存储数据库文件用下列方法存储数据库:Command: SAVEGUI: Utility Menu>File>Save as Utility Menu>File>Save as Jobname.db第二步:生成子模型子模型是完全依靠粗糙模型的因此在初始分析后的第一步就是在初始状态清除数据库〔另一种方法是退出并重新进入ANSYS用下列方法清除数据库:Command: /CLEARGUI: Utility Menu>File>Clear&Start New同时,应记住用另外的文件名以防止粗糙模型文件被覆盖。
用下列方法指定文件名:Command: /FILNAMEGUI: Utility Menu>File>Change Jobname然后进入PREP7并建立子模型应该记住下列几点:使用与粗糙模型中同样的单元类型同时应指定相同的单元实参〔如壳厚和材料特性〔另一种子模型技术——壳到体技术——允许从粗糙模型的壳单元转换为体单元,见后子模型的位置〔相对全局坐标原点应与粗糙模型的相应部分相同,见图5-3 图5-3 叠加在粗糙模型上的子模型指定合适的结点旋转位移切割边界结点的旋转角在插值步骤一写入结点文件时不应改变〔见第三步:生成切割边界插值用下列方法指定结点旋转:Command:NROTATGUI: Main Menu>Preprocessor>Create>Nodes>-Rotate Node CS-To Active CS Main Menu>Preprocessor>Move/Modify>-Rotate Node CS-To ACtive CS注意结点旋转角会因为施加结点约束,传递线上约束或面上约束等操作而改变,同样也会为更加明显的操作如[NROTAT和NMODIF]等改变。
粗糙模型中结点旋转角的出现或缺省并不影响子模型子模型的载荷和边界条件将在后面两步中施加第三步:生成切割边界插值本步是子模型的关键步骤用户定义切割边界的结点,ANSYS程序用粗糙模型结果插值方法计算这些点上的自由度数值〔位移等对于子模型切割边界上的所有结点,程序用粗糙模型网格中相应的单元确定自由度数值,然后这些数值用单元形状功能插值到切割边界上在切割边界插值中有下面几步操作:1.指定子模型切割边界的结点并将其写入一个文件〔缺省为Jobname.NODE中可以在PREP7 中选择切割边界的结点,用下列命令将其写入文件:Command: NWRITEGUI: Main Menu>Preprocessor>Create>Nodes>Write Node File下面是一个NWRITE命令的例子:NSEL,... !选择切割边界上的结点NWRITE !将其写入Jobname.NODE 图5-4 子模型切割边界在这里讨论一下温度插值的问题在包含特性随温度变化的材料的分析中,或热-应力耦合分析中,粗糙模型和子模型中的温度分布是相同的。
在这种情况下,必须将粗糙模型的温度插值到子模型中的所有结点上要完成这步操作,要选择子模型中所有结点并写入另外一个文件中,使用NWRITE,Filename,Ext记住必须另外指定一个文件名,否则切割边界结点文件将被覆盖!第7步中说明了关于温度插值的命令2.重新选择所有结点并将数据库存入Jobname.DB中,然后退出PREP7必须将数据库写入文件,因为在后面子模型分析中要使用到用下列命令重新选择所有结点:Command: ALLSELGUI: Utility Menu>Select>Everything用下列命令存储数据库:Command: SAVEGUI: Utility Menu>File>Save as Jobname.db3.要进行切割边界插值〔和温度插值,数据库中必须包含粗糙模型的几何特征因此要用下列一种方法读入粗糙模型数据库:Command: RESUMEGUI: Utility Menu>File>Resume from如,粗糙模型文件名为COARSE,就输入命令RESUME,COARSE,DB4.进入POST1,即通用处理器〔/POST1或Main Menu>General Postproc。
插值只有在POST1中进行5.指向粗糙模型结果文件〔FILE或Main Menu>General Postproc>Data & File Opts6.读入结果文件中相应的数据〔SET或Main Menu>General Postproc>-Read Results-option7.开始切割边界插值用下列方法完成本步操作:Command: CBDOFGUI: Main Menu>General Postproc>Submodeling>Interpolate DOF缺省状态下,CBDOF命令假定切割边界结点在文件Jobname.NODE中ANSYS程序将计算切割边界的DOF数值并用D命令的形式写入文件Jobname.CBDO中用下列方法作温度插值,但要保证文件包含所有子模型结点:Command: BFINTGUI: Main Menu>General Postproc>Submodeling>Interp Body Forc温度插值以BF命令的格式写入文件Jobname.BFIN中注——如果数据包括实部和虚部的话,步骤6和7就要作两遍先用SET 命令读入实部的数据并作插值[CBDOF和/或BFINT],然后用SET命令将域设为1 读入虚部的数据并重新进行插值,但这次将虚部插值写入另一个文件。
8.至此,所有的插值任务完成,退出POST1[FINISH]并读入子模型数据库〔RESUME或Main Menu>File>Resume from第四步:分析子模型在本步中,用户指定分析类型和分析选项,加入插值的DOF数值〔和温度数值,施加其他的载荷和边界条件,指定载荷步选项,并对子模型求解第一步是进入求解器〔/SOLU或Main Menu>Solution然后定义分析类型〔一般为静态和分析选项要施加切割边界自由度约束,用下列命令读入CBDOF命令生成的由D命令组成的文件:Command: /INPUTGUI: Utility Menu>File>Read Input from要施加温度插值,用下列命令读入BFINT命令生成的由BF命令组成的文件:Command: /INPUTGUI: Utility Menu>File>Read Input from如果数据有实部和虚部,先读入实部数据文件,指定自由度约束数值和〔/或结点体载荷是否计算,然后读入虚部数据文件用下列方法指定计算自由度约束数值:Command: DCUM,ADDGUI: Main Menu>Preprocessor>Loads>-Loads-Settings>Contraints Main Menu>Solution>-Loads-Settings>Constraints用下列方法指定计算结点体载荷数值:Command: BFCUM,ADDGUI: Main Menu>Preprocessor>Loads>-Loads-Settings>Nodal Body Ld Main Menu>Solution>-Loads-Settings>Nodal Body Ld注意在执行DCUM和BFCUM命令时要先将其初始状态设为初始值。
重要的一点是要将粗糙模型上所有其他载荷和边界条件复制到子模型上比如对称边界条件,面力,惯性载荷〔如重量,集中力等〔见图5-5 图5-5 子模型的载荷然后指定载荷步选项〔如输出控制并开始计算:Command: SOLVEGUI: Main Menu>Solution>Current LS Main Menu>Solution>Run FLOTRAN在求解完成后,退出SOLUTION[FINISH]子模型的数据流向〔无温度插值见图5-6 图5-6 子模型分析〔无温度插值的数据流向第五步:验证。












