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