ANSYS高级分析技术指南 子结构 第四章子结构 什么是子结构? 子结构就是将一组单元用矩阵凝聚为一个单元的过程。这个单一的矩阵单 元称为超单元。在 ANSYS分析中,超单元可以象其他单元类型一样使用。唯 的区别就是必须先进行结构生成分析以生成超单元。子结构可以在 ANSYS/ lutiphysics, ANSYS/Mechanical和 ANSYS/ Structural中使用。 使用子结构主要是为了节省机时,并且允许在比较有限的计算机设备资源 的基础上求解超大规模的问题。原因之一如a非线性分析和带有大量重复几何结 构的分析。在非线性分析中,可以将模型线性部分作成子结构,这样这部分的单 元矩阵就不用在非线性迭代过程中重复计算。在有重复几何结构的模型中(如有 四条腿的桌子),可以对于重复的部分生成超单元,然后将它拷贝到不同的位置, 这样做可以节省大量的机时 子结构还用于模型有大转动的情况下。对于这些模型, ANSYS假定每个结 构都是围绕其质心转动的。在三维情况下,子结构有三个转动自由度和三个平动 自由度。在大转动模型中,用户在使用部分之前无须对子结构施加约束,因为每 个子结构都是作为一个单元进行处理,是允许刚体位移的。 另外一个原因b)一个问题就波前大小和需用磁盘空间来说相对于一个计算 机系统太庞大了。这样,用户可以通过子结构将问题分块进行分析,每一块对于 计算机系统来说都是可以计算的 如何使用子结构 子结构分析有以下三个步骤 生成部分 使用部分 扩展部分 生成部分就是将普通的有限元单元凝聚为一个超单元。凝聚是通过定义 组主自由度来实现的。主自由度用于定义超单元与模型中其他单元的边界,提取 模型的动力学特性。图4-1是一个板状构件用接触单元分析的示意。由于接触单 元需要迭代计算,将板状构件形成子结构将显著地节省机时。本例中,主自由度 是板与接触单元相连的自由度 图4-1子结构使用示例 Plate superelement Master DOF Contact elements 使用部分就是将超单元与模型整体相连进行分析的部分。整个模型可以是 个超单元,也可以象上例一样是超单元与非超单元相连的。使用部分的计算只 4
ANSYS 高级分析技术指南 子结构 4-1 第四章 子结构 什么是子结构? 子结构就是将一组单元用矩阵凝聚为一个单元的过程。这个单一的矩阵单 元称为超单元。在 ANSYS 分析中,超单元可以象其他单元类型一样使用。唯一 的 区 别 就 是 必 须 先 进 行 结 构 生 成 分 析 以 生 成 超 单 元 。 子 结 构 可 以 在 ANSYS/Mutiphysics,ANSYS/Mechanical 和 ANSYS/Structural 中使用。 使用子结构主要是为了节省机时,并且允许在比较有限的计算机设备资源 的基础上求解超大规模的问题。原因之一如 a)非线性分析和带有大量重复几何结 构的分析。在非线性分析中,可以将模型线性部分作成子结构,这样这部分的单 元矩阵就不用在非线性迭代过程中重复计算。在有重复几何结构的模型中(如有 四条腿的桌子),可以对于重复的部分生成超单元,然后将它拷贝到不同的位置, 这样做可以节省大量的机时。 子结构还用于模型有大转动的情况下。对于这些模型,ANSYS 假定每个结 构都是围绕其质心转动的。在三维情况下,子结构有三个转动自由度和三个平动 自由度。在大转动模型中,用户在使用部分之前无须对子结构施加约束,因为每 个子结构都是作为一个单元进行处理,是允许刚体位移的。 另外一个原因 b)一个问题就波前大小和需用磁盘空间来说相对于一个计算 机系统太庞大了。这样,用户可以通过子结构将问题分块进行分析,每一块对于 计算机系统来说都是可以计算的。 如何使用子结构 子结构分析有以下三个步骤: ⚫ 生成部分 ⚫ 使用部分 ⚫ 扩展部分 生成部分就是将普通的有限元单元凝聚为一个超单元。凝聚是通过定义一 组主自由度来实现的。主自由度用于定义超单元与模型中其他单元的边界,提取 模型的动力学特性。图 4-1 是一个板状构件用接触单元分析的示意。由于接触单 元需要迭代计算,将板状构件形成子结构将显著地节省机时。本例中,主自由度 是板与接触单元相连的自由度。 图 4-1 子结构使用示例 使用部分就是将超单元与模型整体相连进行分析的部分。整个模型可以是 一个超单元,也可以象上例一样是超单元与非超单元相连的。使用部分的计算只
ANSYS高级分析技术指南 子结构 是超单元的凝聚(自由度计算仅限于主自由度)和非超单元的全部计算。 扩展部分就是从凝聚计算结果开始计算整个超单元中所有的自由度。如果 在使用部分有多个超单元,那么每个超单元都需要有单独的扩展过程 图4-2示出了整个子结构分析的数据流向和所用的文件。三个步骤的详细 解释见以后的叙述。 图4-2典型子结构分析中的数据流向 Generation Pass rex UseaDSUB EMAT ESAY, Use Pass TRL SELD DOF solution Expansion Pass Results file 生成部分:生成超单元 本部分主要有两步 建立模型。 施加边界条件,生成超单元矩阵 第一步:建立模型 在这一步中,指定文件名和分析名称,用PREP7定义单元类型,单元实参, 材料特性和模型几何结构。这些任务在 ANSYS绝大多数分析中都是通用的,在 ANSYS Basic Analysis Procedures Guide有所叙述。在生成部分,需要记住以下几 点 文件名一一在子结构分析中很有用处。有效地使用文件名,在三部分分析 中可以省略很多文件处理操作。 用以下方法指定文件名: Command: / FILENAME GUI: Utility Menu>File>Change Jobname 如:/ FILENAME GEN 将生成过程中所有文件名都定义为GEN。缺省的文件名是FILE(或fe) 或在进入 ANSYS后定义的任意文件名。 单元类型一一 ANSYS提供的绝大多数单元都可以用来生成超单元。唯一的 限制是单元必须是线性的。如果生成超单元时有双线性单元的话, ANSYS将自 动作为线性单元处理。 注意:在直接耦合中带载荷向量的耦合单元是不能做子结构分析的。可以 用同种形状的单元来替代。细节参看 ANSYS Coupled- Field Analysis Guide 4-2
ANSYS 高级分析技术指南 子结构 4-2 是超单元的凝聚(自由度计算仅限于主自由度)和非超单元的全部计算。 扩展部分就是从凝聚计算结果开始计算整个超单元中所有的自由度。如果 在使用部分有多个超单元,那么每个超单元都需要有单独的扩展过程。 图 4-2 示出了整个子结构分析的数据流向和所用的文件。三个步骤的详细 解释见以后的叙述。 图 4-2 典型子结构分析中的数据流向 生成部分:生成超单元 本部分主要有两步: 1. 建立模型。 2. 施加边界条件,生成超单元矩阵。 第一步:建立模型 在这一步中,指定文件名和分析名称,用 PREP7 定义单元类型,单元实参, 材料特性和模型几何结构。这些任务在 ANSYS 绝大多数分析中都是通用的,在 ANSYS Basic Analysis Procedures Guide 有所叙述。在生成部分,需要记住以下几 点: 文件名——在子结构分析中很有用处。有效地使用文件名,在三部分分析 中可以省略很多文件处理操作。 用以下方法指定文件名: Command: /FILENAME GUI: Utility Menu>File>Change Jobname 如:/FILENAME,GEN 将生成过程中所有文件名都定义为 GEN。缺省的文件名是 FILE(或 file) 或在进入 ANSYS 后定义的任意文件名。 单元类型——ANSYS 提供的绝大多数单元都可以用来生成超单元。唯一的 限制是单元必须是线性的。如果生成超单元时有双线性单元的话,ANSYS 将自 动作为线性单元处理。 注意:在直接耦合中带载荷向量的耦合单元是不能做子结构分析的。可以 用同种形状的单元来替代。细节参看 ANSYS Coupled-Field Analysis Guide
ANSYS高级分析技术指南 子结构 材料特性一一定义所有必须的材料特性。例如,如果生成质量矩阵,就必 须定义密度或其他形式的质量:;如果要生成热传导矩阵,就要定义比热。同样, 超单元是线性的,非线性材料将被忽略 模型生成一一在生成部分,主要生成模型的超单元部分。非超单元部分是 在以后的使用部分生成的。但是,在建模的开始就需要对模型的两个部分有所规 划,主要是确定超单元部分和非超单元部分如何连接。为了保证连接正确,应该 保证接触部分结点号一致。(其他可以方便用户的方法在本章“使用部分”一节 还有介绍。) 要生成整体模型应该这样做:将模型存储在数据库文件中,选择子结构部 分进行生成计算。在以后的使用部分, RESUME( Utility Menu>Fle> Resume from) 数据库文件,不选( unselect)子结构,用超单元矩阵代替。 第二步:施加边界条件,生成超单元矩阵。 生成部分的结果包含超单元矩阵。象其他分析一样,用户要定义分析类型 和分析设置,施加边界条件,定义载荷步,开始计算。如何完成这些工作见下面 的叙述: 进入求解器 Command: /SOLU GUI Main menu>solution 2.定义分析类型和分析设置 分析类型一一选择生成超单元使用下列方法: Command: ANTYPE GUI: Main Menu> Solution>-Analysis Type-New Analysis 新的分析或重启动一一如果是开始一个新的分析时,只要指定分析类型(如 上所述)即可。如果是重启动计算,必须在 ANTYPE命令中设定 STATUS=REST ( Main menu> Solution>- Analysis Type-Restart)。如果要另外施加载荷时,可以 用重启动。(重启动时,初始运算后的 Jobname eMat, Jobname sav和 Jobname DB文件要存在。) 超单元矩阵文件名—一指定超单元矩阵文件名( Sename)。程序将自动添加 后缀SUB,因此完整的文件名是 Sename.SUB。缺省是使用工作文件名 FILENAM]定义超单元矩阵文件名,可以使用以下命令 Command: SEOPt GUI: Main Menu> Solution> Analysis Options 要生成的矩阵一一可以指定仅生成刚度矩阵(或传导矩阵,电磁系数矩阵) 生成刚度和质量矩阵(或热传导矩阵等);生成刚度,质量和阻尼矩阵。质量矩 阵用于结构动力学分析和在使用部分有惯性载荷的情况下。在热分析中,只有瞬 态热分析才用到热传导矩阵。对于其他分析和阻尼矩阵也大同小异。用 SEOPT 命令或其GUI路径来定义 输出矩阵——这个选项允许输出超单元矩阵。可以指定输出矩阵和载荷向 量,也可以只输出载荷向量。缺省值是不输出任何矩阵。要输出矩阵,用 SEOPT 命令或其相应的GUI路径 质量矩阵形成一一只在想生成质量矩阵时使用。用户可以选择缺省生成(取 决于所用单元类型)或集中质量近似。对于绝大多数情况,推荐使用缺省生成的 方式。但是,在极薄构件的分析中,如细长杆或极薄壳体,集中质量近似将得到
ANSYS 高级分析技术指南 子结构 4-3 材料特性——定义所有必须的材料特性。例如,如果生成质量矩阵,就必 须定义密度或其他形式的质量;如果要生成热传导矩阵,就要定义比热。同样, 超单元是线性的,非线性材料将被忽略。 模型生成——在生成部分,主要生成模型的超单元部分。非超单元部分是 在以后的使用部分生成的。但是,在建模的开始就需要对模型的两个部分有所规 划,主要是确定超单元部分和非超单元部分如何连接。为了保证连接正确,应该 保证接触部分结点号一致。(其他可以方便用户的方法在本章“使用部分”一节 还有介绍。) 要生成整体模型应该这样做:将模型存储在数据库文件中,选择子结构部 分进行生成计算。在以后的使用部分,RESUME(Utility Menu>File>Resume from) 数据库文件,不选(unselect)子结构,用超单元矩阵代替。 第二步:施加边界条件,生成超单元矩阵。 生成部分的结果包含超单元矩阵。象其他分析一样,用户要定义分析类型 和分析设置,施加边界条件,定义载荷步,开始计算。如何完成这些工作见下面 的叙述: 1. 进入求解器: Command: /SOLU GUI: Main Menu>Solution 2. 定义分析类型和分析设置: 分析类型——选择生成超单元使用下列方法: Command: ANTYPE GUI: Main Menu>Solution>-Analysis Type-New Analysis 新的分析或重启动——如果是开始一个新的分析时,只要指定分析类型(如 上所述)即可。如果是重启动计算,必须在 ANTYPE 命令中设定 STATUS=REST ( Main Menu>Solution>-Analysis Type-Restart)。如果要另外施加载荷时,可以 用重启动。(重启动时,初始运算后的 Jobname.EMAT,Jobname.ESAV 和 Jobname.DB 文件要存在。) 超单元矩阵文件名——指定超单元矩阵文件名(Sename)。程序将自动添加 后缀.SUB,因此 完整 的文件 名是 Sename.SUB。缺省 是使用 工作 文件名 [/FILENAME]定义超单元矩阵文件名,可以使用以下命令: Command: SEOPT GUI: Main Menu>Solution>Analysis Options 要生成的矩阵——可以指定仅生成刚度矩阵(或传导矩阵,电磁系数矩阵); 生成刚度和质量矩阵(或热传导矩阵等);生成刚度,质量和阻尼矩阵。质量矩 阵用于结构动力学分析和在使用部分有惯性载荷的情况下。在热分析中,只有瞬 态热分析才用到热传导矩阵。对于其他分析和阻尼矩阵也大同小异。用 SEOPT 命令或其 GUI 路径来定义。 输出矩阵——这个选项允许输出超单元矩阵。可以指定输出矩阵和载荷向 量,也可以只输出载荷向量。缺省值是不输出任何矩阵。要输出矩阵,用 SEOPT 命令或其相应的 GUI 路径。 质量矩阵形成——只在想生成质量矩阵时使用。用户可以选择缺省生成(取 决于所用单元类型)或集中质量近似。对于绝大多数情况,推荐使用缺省生成的 方式。但是,在极薄构件的分析中,如细长杆或极薄壳体,集中质量近似将得到
ANSYS高级分析技术指南 子结构 更好的结果。用下列方法指定集中质量近似: Command: LUMPM GUI: Main Menu> Solution> Analysis Options 3.用下列方法定义主自由度 Command M GUI: Main Menu>Solution> Master DOFs>Define 在子结构中,主自由度有四种作用: a.它们作为超单元与非超单元的边界。应保证将超单元与非超单元接 触的结点自由度都定义为超单元(在M命令中Lab=ALL),如图4-1所示。当模 型中只有超单元时同样要定义主自由度 b.如果在动力学分析中使用超单元,那么主自由度规定了结果的动力 学特性。在 ANSYS Structural Analysis Guide第三章的“ Matrix Reduction”中有 所说明 如果在使用部分要施加约束D或集中力F时,这些位置结点的自由 度也要定义为主自由度。 在大位移情况下 NLGEOM,ON]( Main mene> Solution> Analysis Options)的使用部分需要主自由度,或者在使用 SETRAN命令(Main Menu> Preprocessor> Create>Elements>- Superelements-By CS Tranfer)时。在这些 时候,所有主自由度的结点都要定义6个方向的自由度(UX,UY,UX,ROTX, ROTY,ROTZ)。 4.施加边界条件。在生成部分可以施加所有的载荷类型,但有以下几 点情况需要注意: ●程序将生成一个包括所有施加的载荷的等效载荷向量。每个载荷步一个 载荷向量将写入超单元矩阵文件中。载荷向量的最大允许值是31个。 ●在生成部分可以使用非零的自由度约束并作为载荷向量的一部分。(在 扩展部分,如果被扩展的载荷步中有非零的自由度约束时,数据库中必须有相应 的自由度数值。如果没有的话,自由度约束就要在扩展部分重新定义。 自由度约束和集中载荷的施加可以推迟到使用部分,但在这些位置的主 自由度一定要先定义好。 ●同样,线或角加速度的施加也可以推迟到使用部分,但只有在生成质量 矩阵时。如果在使用部分要旋转超单元时,推荐使用这种作法,因为此时载荷向 量的方向是“冻结”的,它随着超单元旋转 ● Maxwell力的标志通常用于电磁分析中,用来标记计算哪个单元面上的 电磁力分布。这个标志在电磁子结构分析中无效,因此不要使用。 注一一如果生成质量矩阵,建议在使用部分对主自由度(在生成部分定义) 施加约束。这样就保证所有的质量都包含在子结构中。 5.定义载荷步选项。子结构生成部分只能使用动力选项(阻尼)。 阻尼(动力选项)一一只在生成阻尼矩阵时可用。 指定质量 (alpha)阻尼使用下列方法: Command: ALPHAD GUI: Main Menu> Solution> Time/Frequenc> Damping 指定刚度beta阻尼使用下列方法 Command BETAD GUI: Main Menu> Solution> Time/Frequenc> Damping
ANSYS 高级分析技术指南 子结构 4-4 更好的结果。用下列方法指定集中质量近似: Command: LUMPM GUI: Main Menu>Solution>Analysis Options 3. 用下列方法定义主自由度: Command: M GUI: Main Menu>Solution>Master DOFs>Define 在子结构中,主自由度有四种作用: a. 它们作为超单元与非超单元的边界。应保证将超单元与非超单元接 触的结点自由度都定义为超单元(在 M 命令中 Lab=ALL),如图 4-1 所示。当模 型中只有超单元时同样要定义主自由度。 b. 如果在动力学分析中使用超单元,那么主自由度规定了结果的动力 学特性。在 ANSYS Structural Analysis Guide 第三章的“Matrix Reduction”中有 所说明。 c. 如果在使用部分要施加约束[D]或集中力[F]时,这些位置结点的自由 度也要定义为主自由度。 d. 在大位移情况下[NLGEOM,ON](Main Mene>Solution>Analysis Options)的使 用部 分需要 主自 由度, 或者 在使用 SETRAN 命令(Main Menu>Preprocessor>Create>Elements>-Superelements-By CS Tranfer)时。在这些 时候,所有主自由度的结点都要定义 6 个方向的自由度(UX,UY,UX,ROTX, ROTY,ROTZ)。 4. 施加边界条件。在生成部分可以施加所有的载荷类型,但有以下几 点情况需要注意: ⚫ 程序将生成一个包括所有施加的载荷的等效载荷向量。每个载荷步一个 载荷向量将写入超单元矩阵文件中。载荷向量的最大允许值是 31 个。 ⚫ 在生成部分可以使用非零的自由度约束并作为载荷向量的一部分。(在 扩展部分,如果被扩展的载荷步中有非零的自由度约束时,数据库中必须有相应 的自由度数值。如果没有的话,自由度约束就要在扩展部分重新定义。 ⚫ 自由度约束和集中载荷的施加可以推迟到使用部分,但在这些位置的主 自由度一定要先定义好。 ⚫ 同样,线或角加速度的施加也可以推迟到使用部分,但只有在生成质量 矩阵时。如果在使用部分要旋转超单元时,推荐使用这种作法,因为此时载荷向 量的方向是“冻结”的,它随着超单元旋转。 ⚫ Maxwell 力的标志通常用于电磁分析中,用来标记计算哪个单元面上的 电磁力分布。这个标志在电磁子结构分析中无效,因此不要使用。 注——如果生成质量矩阵,建议在使用部分对主自由度(在生成部分定义) 施加约束。这样就保证所有的质量都包含在子结构中。 5. 定义载荷步选项。子结构生成部分只能使用动力选项(阻尼)。 阻尼(动力选项)——只在生成阻尼矩阵时可用。 指定质量(alpha)阻尼使用下列方法: Command: ALPHAD GUI: Main Menu>Solution>Time/Frequenc>Damping 指定刚度(beta)阻尼使用下列方法: Command: BETAD GUI: Main Menu>Solution>Time/Frequenc>Damping
ANSYS高级分析技术指南 子结构 指定与材料有关的beta阻尼使用下列方法 Command: MP, DAMP GUI: Main Menu> Preprocessor>Material Props>-Constan-Isotropi Main Menu Preprocessor> Material Props> Polynomial 表4-1子结构中可以施加的载荷 Load name oad Category Com m ands* Solid Model Loads Finite Elem ent loads Constraints DK, DKLIST, DKDELE,D, DSYMM, DLIST Temperature DL, DLLIST, DLDELE,DDELE Mac. Potential DA, DALIST, DADELE,DSCALE, DCUM DTRAN Force FK, FKLIST, FKDELE, F, FLIST, FDELE Heat Flow Rate FTRAN FSCALE,FCUM Mag Flux Surface Loads SFL, SFLLIS, SFLDEL,SF, SFLIST, SFDELE, Convection SFA, SFALIS, SFADEL, SFE, SFELIS, SFEDEL Maxwell surface FGRAD,SFTRANSFBEAM,SFGRAD Et SFFUN SFSCALE FCUM Temperature Body Loads BFK, BFKLIS, BF,BF凵sT, BFDELE, Heat Generation Rate BFKDEL E, BFELIS Current Density BFTRAN BFSCALE. BFCUM Gravity, Linear and Inertia Loads ACEL DOMEGA Angular Acceleration 6.存储数据库的备份文件。 注一一这样做的目的是需要在扩展部分使用同样的数据库文件。用下列方法完成 本步操作 Command: SAVE GUI: Utility Menu>File>Save as Jobname db 7.开始计算 Command: SOLvE GUI Main menu> solution >Current ls 计算结果包括超单元矩阵文件, Sename.SUB, Sename是通过 SEOPT指定 的文件名或是工作文件名[ ILENAME]矩阵文件包括根据施加的载荷计算出的 载荷向量。(如果没有施加载荷,载荷向量将为零。) 如有另外的载荷步,重复步骤7来生成其他的载荷向量。载荷向量 的号码是递增的,并添加到同一个超单元矩阵文件内。关于多载荷步的其他方法 JL ANSYS Basic Analysis Procedures Guide 9.退出 SOLUTION Command: FINISH GUI: Main Menu> Finish
ANSYS 高级分析技术指南 子结构 4-5 指定与材料有关的 beta 阻尼使用下列方法: Command: MP,DAMP GUI: Main Menu>Preprocessor>Material Props>-Constan-Isotropic Main Menu>Preprocessor>Material Props>Polynomial 表 4-1 子结构中可以施加的载荷 6. 存储数据库的备份文件。 注——这样做的目的是需要在扩展部分使用同样的数据库文件。用下列方法完成 本步操作: Command: SAVE GUI: Utility Menu>File>Save as Jobname.db 7. 开始计算: Command: SOLVE GUI: Main Menu>Solution>Current LS 计算结果包括超单元矩阵文件,Sename.SUB,Sename 是通过[SEOPT]指定 的文件名或是工作文件名[/FILENAME]。矩阵文件包括根据施加的载荷计算出的 载荷向量。(如果没有施加载荷,载荷向量将为零。) 8. 如有另外的载荷步,重复步骤 7 来生成其他的载荷向量。载荷向量 的号码是递增的,并添加到同一个超单元矩阵文件内。关于多载荷步的其他方法 见 ANSYS Basic Analysis Procedures Guide。 9. 退出 SOLUTION: Command: FINISH GUI: Main Menu>Finish
ANSYS高级分析技术指南 子结构 使用部分:使用超单元 使用部分可以是任何 ANSYS分析类型( FLOTRAN和显式动力分析除外)。 和普通分析的区别就是一个或几个单元是前面生成的超单元。每个单独的分析指 南中都有做不同分析的详细介绍。在这一部分,我们主要介绍如何将超单元变成 模型的一部分。这个过程有以下几个步骤 清除数据库并指定一个新的工作文件名。 2.建立模型 3.施加边界条件并求解。 第一步:清除数据库并指定一个新的工作文件名 使用部分包含新的模型和新的边界条件。因此,第一步是清除现存的数据 库。这与退出并重新进入 ANSYS的效果是一样的。清除数据库用下列方法 Command: /CLEAR GUI: Utility Menu>File>Clear &Start New 缺省情况下,清除数据库就会重新读入 STARTANS文件。(可以改变这个 设置) 注:如果通过命令行输入来清除数据库时,在( CLEAR命令行中不能有其 他的命令。 新定义的文件名要与生成部分使用的文件名不同。这样,生成部分的文件 就不会被覆盖。用下列方式之一定义新的工作文件名: Command: /FILNAME GUI: Utility Menu> File>Change Jobname 第二步:建立模型 本步是在PREP7中实现的。主要完成以下任务: 1.定义 MATRIX50(超单元)为一种单元。用以下方法: Command ET GUI: Main Menu> Preprocessor>Element Type> Add/Edit/Delete 定义其他非超单元的单元类型。非线性可以使用,取决于进行分析 的类型 3.定义非超单元的单元实参和材料特性。非线性可以使用,取决于进 行分析的类型。 定义非超单元的几何形状。在定义与超单元接触部分时应非常注意 其结点位置要精确重合。(见图4-3) 图4-3超单元与非超单元的接触处结点应与主自由度精确重合 共有三种方法保证结点重合: 4-6
ANSYS 高级分析技术指南 子结构 4-6 使用部分:使用超单元 使用部分可以是任何 ANSYS 分析类型(FLOTRAN 和显式动力分析除外)。 和普通分析的区别就是一个或几个单元是前面生成的超单元。每个单独的分析指 南中都有做不同分析的详细介绍。在这一部分,我们主要介绍如何将超单元变成 模型的一部分。这个过程有以下几个步骤: 1. 清除数据库并指定一个新的工作文件名。 2. 建立模型。 3. 施加边界条件并求解。 第一步:清除数据库并指定一个新的工作文件名。 使用部分包含新的模型和新的边界条件。因此,第一步是清除现存的数据 库。这与退出并重新进入 ANSYS 的效果是一样的。清除数据库用下列方法: Command: /CLEAR GUI: Utility Menu>File>Clear&Start New 缺省情况下,清除数据库就会重新读入 START.ANS 文件。(可以改变这个 设置) 注:如果通过命令行输入来清除数据库时,在/CLEAR 命令行中不能有其 他的命令。 新定义的文件名要与生成部分使用的文件名不同。这样,生成部分的文件 就不会被覆盖。用下列方式之一定义新的工作文件名: Command: /FILNAME GUI: Utility Menu>File>Change Jobname 第二步:建立模型 本步是在 PREP7 中实现的。主要完成以下任务: 1. 定义 MATRIX50(超单元)为一种单元。用以下方法: Command: ET GUI: Main Menu>Preprocessor>Element Type>Add/Edit/Delete 2. 定义其他非超单元的单元类型。非线性可以使用,取决于进行分析 的类型。 3. 定义非超单元的单元实参和材料特性。非线性可以使用,取决于进 行分析的类型。 4. 定义非超单元的几何形状。在定义与超单元接触部分时应非常注意。 其结点位置要精确重合。(见图 4-3) 图 4-3 超单元与非超单元的接触处结点应与主自由度精确重合 共有三种方法保证结点重合:
ANSYS高级分析技术指南 子结构 使用与生成部分同样的结点号码 在生成部分的接触部分结点和使用部分的接触结点使用相同的结点 号码增值(或平移)。(使用 SETRAN,在第五步中说明) ●将这两部分结点所有的自由度固连起来。(用CP系列命令)在不能使 用前两种方法时,这种方法是有效的。定义自由度固连可以用下列方法 Command CP GUI: Main Menu Preprocessor>Coupling/Ceqn>Couple dOFs 如果超单元与其他单元不相连时,在使用部分可以不定义任何单元。 5.用正确的单元类型定义超单元,读入超单元矩阵。 选择正确的单元类型 Command TYPE GUI: Main Menu> Preprocessor>-Modeling-Create>Elements> Elem Attributes 用下列方法读入超单元矩阵(可能要先用其他命令修改矩阵,见后): Command: Se GUI: Main Menu>Preprocessor>Create>Elements>-Superlements-From SUB 如果模型中不包含非超单元,或是包含非超单元但接触处的结点号与 主自由度结点号一致,那么可以用SE命令直接读入超单元: TYPE !单元类型号 SE, GEN !从文件 GEN SUB中读入超单元 SE命令的文件名域表示超单元矩阵的文件名。扩展名SUB是给定的,因 此整个文件名就是 Sename SUB( GEN SUB如上例)。超单元就给定下一个可用的 单元号。 b.如果模型中有非超单元存在,并且接触处的结点号与主自由度的结点 号是有一个偏移量的话,就必须先用新的结点号生成一个新的超单元矩阵,然后 读入新的矩阵 用下列方法生成新的超单元矩阵: Command: SETRAN GUI: Main Menu>Preprocessor>Create>Elements-Superelements-By CS Main Menu> Preprocessor>Create>Elements>-Superelements-By Geom Offset 用下列方法读入新的矩阵 Command: SE GUI: Main Menu>Preprocessor>Create>Elements>-Supree lements-From SUB File 例如,给出超单元矩阵文件 GEN SUB和新的结点偏移量为2000,命令如下: SETTRAN GEN,2000GEN2,SUB生成新的超单元GEN2SUB,偏移 量为2000 TYPE !单元类型号 SE GEN2 !读入新的超单元文件GEN2SUB c.如果模型中包含非超单元而且接触处结点与主自由度结点无任何关系 (一般是结点自由生成的情况),那么先看下面的注意事项 注意:生成部分的主自由度的结点号往往会覆盖使用部分的模型结点号。 这样,读入超单元将覆盖使用部分的模型结点。为了避免这种覆盖,在读入超单 4-7
ANSYS 高级分析技术指南 子结构 4-7 ⚫ 使用与生成部分同样的结点号码。 ⚫ 在生成部分的接触部分结点和使用部分的接触结点使用相同的结点 号码增值(或平移)。(使用 SETRAN,在第五步中说明) ⚫ 将这两部分结点所有的自由度固连起来。(用 CP 系列命令)在不能使 用前两种方法时,这种方法是有效的。定义自由度固连可以用下列方法: Command: CP GUI: Main Menu>Preprocessor>Coupling/Ceqn>Couple DOFs 如果超单元与其他单元不相连时,在使用部分可以不定义任何单元。 5. 用正确的单元类型定义超单元,读入超单元矩阵。 选择正确的单元类型: Command: TYPE GUI: Main Menu>Preprocessor>-Modeling-Create>Elements>Elem Attributes 用下列方法读入超单元矩阵(可能要先用其他命令修改矩阵,见后): Command: SE GUI: Main Menu>Preprocessor>Create>Elements>-Superlements->From .SUB File a. 如果模型中不包含非超单元,或是包含非超单元但接触处的结点号与 主自由度结点号一致,那么可以用 SE 命令直接读入超单元: TYPE,… !单元类型号 SE,GEN !从文件 GEN.SUB 中读入超单元 SE 命令的文件名域表示超单元矩阵的文件名。扩展名.SUB 是给定的,因 此整个文件名就是 Sename.SUB(GEN.SUB 如上例)。超单元就给定下一个可用的 单元号。 b. 如果模型中有非超单元存在,并且接触处的结点号与主自由度的结点 号是有一个偏移量的话,就必须先用新的结点号生成一个新的超单元矩阵,然后 读入新的矩阵。 用下列方法生成新的超单元矩阵: Command: SETRAN GUI: Main Menu>Preprocessor>Create>Elements>-Superelements-By CS Transfer Main Menu>Preprocessor>Create>Elements>-Superelements-By Geom Offset 用下列方法读入新的矩阵: Command: SE GUI: Main Menu>Preprocessor>Create>Elements>-Supreelements-From .SUB File 例如,给出超单元矩阵文件 GEN.SUB 和新的结点偏移量为 2000,命令如下: SETTRAN,GEN,,2000,GEN2,SUB !生成新的超单元 GEN2.SUB,偏移 量为 2000 TYPE,… !单元类型号 SE,GEN2 !读入新的超单元文件 GEN2.SUB c. 如果模型中包含非超单元而且接触处结点与主自由度结点无任何关系 (一般是结点自由生成的情况),那么先看下面的注意事项: 注意:生成部分的主自由度的结点号往往会覆盖使用部分的模型结点号。 这样,读入超单元将覆盖使用部分的模型结点。为了避免这种覆盖,在读入超单
ANSYS高级分析技术指南 子结构 元前使用结点号偏移。在这种情况下,在使用SE命令前先存储数据库文件。 因此,应该先存储数据库文件SAVE],再用 SETRAN命令用新的结点偏移 量生成新的超单元矩阵,最后用SE命令读入新的矩阵。用 CRINTF命令(Main Menu> Preprocessor> Coupling/Ceqn> Coincident Nodes)将接触处的结点连接。例 如,给出超单元矩阵文件 GEN SU GETMAXNOD,NODE, NUMMAX MAXNOD=最大结点号 SETRAN GEN, MAXNOD GEN2,SUB!生成新的超单元,结点偏移量为 MAXNOD,文件名为GEN2SUB SE GEN2 !读入新的超单元 NSEL !选择接触处的所有结点 CPINTEALL !固连所有结点的所有自由度 NSELALL d.如果要对超单元进行移动或拷贝到不同的位置,或进行镜向操作,必 须用 SETRAN命令 SESYMM命令( Main menu> Preprocessor>Create>Elements By Reflection),并给出正确的结点偏移量,生成新的超单元矩阵文件,然后用 SE命令读入新的矩阵。连接超单元与非超单元同样用上面的方法一一用相同的 结点号,结点偏移量,或用 CPINTE命令。 注一一如果用 SETRAN命令将超单元传递到不同的坐标系中,缺省是超单 元的主自由度随之旋转。这一点在初始的超单元主自由度发生旋转时很有用,比 如旋转到柱坐标系中。(在这种情况下,传递不影响超单元刚度矩阵。)如果初始 超单元没有结点发生旋转,那么传递的超单元也无须旋转结点。用户可以通过设 定 SETRAN命令的 NOROT域为1来防止结点旋转。(在这种传递中,超单元的 刚度矩阵和载荷向量由程序自动修改)。 用图形显示和列表功能验证超单元的位置是否正确。超单元用轮廓 线表示,数据在生成部分写到矩阵文件中。 要生成图形显示,用下列命令 Command EPLOt GUI: Utility Menu>Plot>Elements 要生成列表,用下列命令: Command: SELIST GUI: Utility Menu>List>Other>Superelem Data 7.存储整个模型文件: Command: SAVE GUI: Utility menu>File>Save as Jobname db 退出PREP7: Command FINISH GUI: Main Menu> Finish 第三步:施加边界条件并求解。 本步在求解器中完成。取得使用部分结果的过程取决于所做的分析类型。 以上提到,可以在绝大多数分析中使用超单元。用户应当有相应的通过生成部分 生成的矩阵。例如,如果要做结构动力学分析,必须有质量矩阵。具体过程如下: 进入SOLU∏ON Command: /SOLU 4-8
ANSYS 高级分析技术指南 子结构 4-8 元前使用结点号偏移。在这种情况下,在使用 SE 命令前先存储数据库文件。 因此,应该先存储数据库文件[SAVE],再用 SETRAN 命令用新的结点偏移 量生成新的超单元矩阵,最后用 SE 命令读入新的矩阵。用 CRINTF 命令(Main Menu>Preprocessor>Coupling/Ceqn>Coincident Nodes)将接触处的结点连接。例 如,给出超单元矩阵文件 GEN.SUB: *GET,MAXNOD,NODE,,NUM,MAX !MAXNOD=最大结点号 SETRAN,GEN,,MAXNOD,GEN2,SUB!生成新的超单元,结点偏移量为 MAXNOD,文件名为 GEN2.SUB SE,GEN2 !读入新的超单元 NSEL,… !选择接触处的所有结点 CPINTF,ALL !固连所有结点的所有自由度 NSEL,ALL d. 如果要对超单元进行移动或拷贝到不同的位置,或进行镜向操作,必 须用 SETRAN 命令 SESYMM 命令(Main Menu>Preprocessor>Create>Elements> By Reflection),并给出正确的结点偏移量,生成新的超单元矩阵文件,然后用 SE 命令读入新的矩阵。连接超单元与非超单元同样用上面的方法——用相同的 结点号,结点偏移量,或用 CPINTF 命令。 注——如果用 SETRAN 命令将超单元传递到不同的坐标系中,缺省是超单 元的主自由度随之旋转。这一点在初始的超单元主自由度发生旋转时很有用,比 如旋转到柱坐标系中。(在这种情况下,传递不影响超单元刚度矩阵。)如果初始 超单元没有结点发生旋转,那么传递的超单元也无须旋转结点。用户可以通过设 定 SETRAN 命令的 NOROT 域为 1 来防止结点旋转。(在这种传递中,超单元的 刚度矩阵和载荷向量由程序自动修改)。 6. 用图形显示和列表功能验证超单元的位置是否正确。超单元用轮廓 线表示,数据在生成部分写到矩阵文件中。 要生成图形显示,用下列命令: Command: EPLOT GUI: Utility Menu>Plot>Elements 要生成列表,用下列命令: Command: SELIST GUI: Utility Menu>List>Other>Superelem Data 7. 存储整个模型文件: Command: SAVE GUI: Utility Menu>File>Save as Jobname.db 退出 PREP7: Command: FINISH GUI: Main Menu>Finish 第三步:施加边界条件并求解。 本步在求解器中完成。取得使用部分结果的过程取决于所做的分析类型。 以上提到,可以在绝大多数分析中使用超单元。用户应当有相应的通过生成部分 生成的矩阵。例如,如果要做结构动力学分析,必须有质量矩阵。具体过程如下: 1. 进入 SOLUTION。 Command: /SOLU
ANSYS高级分析技术指南 子结构 GUI: Main Menu> Solution 2.定义分析类型和分析选项。 对于大转动分析,打开大位移效果 NLGEOM,ON],并正确定义非线性分 析的子步数。 在非超单元上施加边界条件。主要包括自由度约束和对称边界,集 中载荷,平面载荷,体载荷,和惯性载荷。注意惯性载荷只有在通过生成部分生 成了质量矩阵时才生效。 注一一对大转动分析,在本步中要施加正确的约束条件。 4.用以下方法施加超单元载荷向量: Command SFE GUI: Main Menu> Solution>-Loads-Apply>Load Vector> For Superelement 在超单元矩阵文件中,每个载荷步对应一个载荷向量,用参考号来区别 如 SFE,63,1,SELV,,0.75 在63号单元上施加载荷向量,号为1,比例系数为075。因此,ELEM域 代表超单元的单元号,LKEY域代表载荷向量号(缺省为1),Lab是SELV,VALl 代表比例系数(缺省为0)。(参看SFE命令) 注一一载荷向量的方向是固定在超单元上的,因此如果超单元旋转了,载 荷向量就随之旋转。对于自由度方向也是如此(UX,UY,ROTY等),它们同 样随着超单元的旋转而旋转(除非 SETRAN命令中 NOROT=1,此时结点坐标 系不旋转) 5.定义与分析类型相适应的载荷步选项 注一一用 MATRIX50超单元时不要用PCG求解器。 6.开始计算 Command: SOLvE GUI: Main Menu>Solution>Current LS 本步计算包括非超单元的完整解和超单元的凝聚解一一主自由度解。非超 单元的完整解记录在结果文件中( Jobname RStrTh或RMG),可以进行普通的 后处理操作。 凝聚解记录在文件 Jobname dSUB中。可以通过如下方法查看这个文件 Command: SEDLIST GUI: Main Menu>General Postproc>List Results>Superelem DOF Utility Menu>List> Results> Superelem DOF Solu 如果想得到超单元中所有自由度的解,就要用到扩展部分。下面还会说明。 7.退出 SOLUTION。 Command: FINISH GUI: Main Menu> Finish 扩展部分:在超单元中扩展求解结果 扩展部分从使用部分的凝聚解计算出整个超单元的完整解。下面说明扩展 部分的过程。本部分要求生成部分的EMAT,ESAV,SUB,TRI,DB和SELD文件, 使用部分的DSUB文件存在。如果在使用部分中使用了结点偏移,在扩展部分 中将自动计 1.清除数据库。相当于退出并重新进入 ANSYS。用下列方法: 4-9
ANSYS 高级分析技术指南 子结构 4-9 GUI: Main Menu>Solution 2. 定义分析类型和分析选项。 对于大转动分析,打开大位移效果[NLGEOM,ON],并正确定义非线性分 析的子步数。 3. 在非超单元上施加边界条件。主要包括自由度约束和对称边界,集 中载荷,平面载荷,体载荷,和惯性载荷。注意惯性载荷只有在通过生成部分生 成了质量矩阵时才生效。 注——对大转动分析,在本步中要施加正确的约束条件。 4. 用以下方法施加超单元载荷向量: Command: SFE GUI: Main Menu>Solution>-Loads-Apply>Load Vector>For Superelement 在超单元矩阵文件中,每个载荷步对应一个载荷向量,用参考号来区别。 如, SFE,63,1,SELV,,0.75 在 63 号单元上施加载荷向量,号为 1,比例系数为 0.75。因此,ELEM 域 代表超单元的单元号,LKEY 域代表载荷向量号(缺省为 1),Lab 是 SELV,VAL1 代表比例系数(缺省为 0)。(参看 SFE 命令) 注——载荷向量的方向是固定在超单元上的,因此如果超单元旋转了,载 荷向量就随之旋转。对于自由度方向也是如此(UX,UY,ROTY 等),它们同 样随着超单元的旋转而旋转(除非 SETRAN 命令中 NOROT=1,此时结点坐标 系不旋转)。 5. 定义与分析类型相适应的载荷步选项。 注——用 MATRIX50 超单元时不要用 PCG 求解器。 6. 开始计算: Command: SOLVE GUI: Main Menu>Solution>Current LS 本步计算包括非超单元的完整解和超单元的凝聚解——主自由度解。非超 单元的完整解记录在结果文件中(Jobname.RST,RTH 或 RMG),可以进行普通的 后处理操作。 凝聚解记录在文件 Jobname.DSUB 中。可以通过如下方法查看这个文件: Command: SEDLIST GUI: Main Menu>General Postproc>List Results>Superelem DOF Utility Menu>List>Results>Superelem DOF Solu 如果想得到超单元中所有自由度的解,就要用到扩展部分。下面还会说明。 7. 退出 SOLUTION。 Command: FINISH GUI: Main Menu>Finish 扩展部分:在超单元中扩展求解结果 扩展部分从使用部分的凝聚解计算出整个超单元的完整解。 下面说明扩展 部分的过程。本部分要求生成部分的.EMAT,.ESAV,.SUB,.TRI,.DB 和.SELD 文件, 使用部分的.DSUB 文件存在。如果在使用部分中使用了结点偏移,在扩展部分 中将自动计入。 1. 清除数据库。相当于退出并重新进入 ANSYS。用下列方法:
ANSYS高级分析技术指南 子结构 Command: /CLEAR GUI: Utility Menu>File>Clear&Start New 将文件名切换到生成部分的文件名。这样,程序就可以识别扩展部 分所用的文件。用下列方法: Command: /FILENAME GUI: Utility Menu>File>Change Jobname 3.读入生成部分的数据库文件。用下列方法: Command RESUME GUI: Utility Menu>File>Resume Jobname db 进入 SOLUTION。用下列方法 Command: /SOLU GUI: Main menu> solution 5.激活扩展部分及其选项。 扩展部分开关一一选为ON。 Command EXPASS GUI: Main Menu> Solution>Expasion Pass 被扩展的超单元名一一指定 SENAME。 Command SEEXP GUI: Main Menu> Solution>ExpasionPass>Expand Superelem (完整的文件名假定为 Sename SUB 使用部分生成的凝聚解文件。用 SEEXP命令(或其相应的GUI路径)指 定该文件名。完整的文件名假定为 Usefil DSUB。 位移的实部或虚部一一只有在使用部分是谐波分析时使用。用 SEEXP命令 (或其相应的GUI路径)。 被扩展的解—一指定被扩展的使用部分结果。可以通过给出载荷步和子步, 也可以通过给出时间或频率来指定结果。用下列方法 Command: EXPSOL GUI: Main Menu> Solution> Expansion Pass>By Load Step Main Menu Solution> ExpansionPass>By Time/Freq 注一一如果被扩展的载荷步中包含非零自由度约束时,数据库中应该有相 应的自由度数值。如果没有,那么自由度约束必须在扩展部分中重新声明[D] 指定载荷步选项。对于子结构扩展部分,只有输出控制选项是可用 的 输出控制—一这些选项控制打印输出,数据库和结果文件输出和结果的插 如果在打印输出文件( Jobname ou中包含某些内容,使用下列方法 Command: OUTPR GUI: Main Menu> Solution>Output Ctrls>DB/Results File 如果控制结果文件( Jobname RST中的数据,使用下列方法: Command: OUTRES GUI: Main Menu> Solution>Output Ctrls>DB/Results File 如果想用将单元积分点上的数据拷贝到结点的方法代替插值方法(缺省) 时,用下列命令: Command ERESX 4-10
ANSYS 高级分析技术指南 子结构 4-10 Command: /CLEAR GUI: Utility Menu>File>Clear&Start New 2. 将文件名切换到生成部分的文件名。这样,程序就可以识别扩展部 分所用的文件。用下列方法: Command: /FILENAME GUI: Utility Menu>File>Change Jobname 3. 读入生成部分的数据库文件。用下列方法: Command: RESUME GUI: Utility Menu>File>Resume Jobname.db 4. 进入 SOLUTION。用下列方法: Command: /SOLU GUI: Main Menu>Solution 5. 激活扩展部分及其选项。 扩展部分开关——选为 ON。 Command: EXPASS GUI: Main Menu>Solution>ExpasionPass 被扩展的超单元名——指定 SENAME。 Command: SEEXP GUI: Main Menu>Solution>ExpasionPass>Expand Superelem (完整的文件名假定为 Sename.SUB) 使用部分生成的凝聚解文件。用 SEEXP 命令(或其相应的 GUI 路径)指 定该文件名。完整的文件名假定为 Usefil.DSUB。 位移的实部或虚部——只有在使用部分是谐波分析时使用。用 SEEXP 命令 (或其相应的 GUI 路径)。 被扩展的解——指定被扩展的使用部分结果。可以通过给出载荷步和子步, 也可以通过给出时间或频率来指定结果。用下列方法: Command: EXPSOL GUI: Main Menu>Solution>ExpansionPass>By Load Step Main Menu>Solution>ExpansionPass>By Time/Freq 注——如果被扩展的载荷步中包含非零自由度约束时,数据库中应该有相 应的自由度数值。如果没有,那么自由度约束必须在扩展部分中重新声明[D]。 6. 指定载荷步选项。对于子结构扩展部分,只有输出控制选项是可用 的: 输出控制——这些选项控制打印输出,数据库和结果文件输出和结果的插 值。 如果在打印输出文件(Jobname.OUT)中包含某些内容,使用下列方法: Command: OUTPR GUI: Main Menu>Solution>Output Ctrls>DB/Results File 如果控制结果文件(Jobname.RST)中的数据,使用下列方法: Command: OUTRES GUI: Main Menu>Solution>Output Ctrls>DB/Results File 如果想用将单元积分点上的数据拷贝到结点的方法代替插值方法(缺省) 时,用下列命令: Command: ERESX