ANSYS分析指南精华:子结构1.docx

上传人:wj 文档编号:234657 上传时间:2023-04-28 格式:DOCX 页数:59 大小:56.92KB
下载 相关 举报
ANSYS分析指南精华:子结构1.docx_第1页
第1页 / 共59页
ANSYS分析指南精华:子结构1.docx_第2页
第2页 / 共59页
ANSYS分析指南精华:子结构1.docx_第3页
第3页 / 共59页
ANSYS分析指南精华:子结构1.docx_第4页
第4页 / 共59页
ANSYS分析指南精华:子结构1.docx_第5页
第5页 / 共59页
ANSYS分析指南精华:子结构1.docx_第6页
第6页 / 共59页
ANSYS分析指南精华:子结构1.docx_第7页
第7页 / 共59页
ANSYS分析指南精华:子结构1.docx_第8页
第8页 / 共59页
ANSYS分析指南精华:子结构1.docx_第9页
第9页 / 共59页
ANSYS分析指南精华:子结构1.docx_第10页
第10页 / 共59页
ANSYS分析指南精华:子结构1.docx_第11页
第11页 / 共59页
ANSYS分析指南精华:子结构1.docx_第12页
第12页 / 共59页
ANSYS分析指南精华:子结构1.docx_第13页
第13页 / 共59页
ANSYS分析指南精华:子结构1.docx_第14页
第14页 / 共59页
ANSYS分析指南精华:子结构1.docx_第15页
第15页 / 共59页
ANSYS分析指南精华:子结构1.docx_第16页
第16页 / 共59页
ANSYS分析指南精华:子结构1.docx_第17页
第17页 / 共59页
ANSYS分析指南精华:子结构1.docx_第18页
第18页 / 共59页
ANSYS分析指南精华:子结构1.docx_第19页
第19页 / 共59页
ANSYS分析指南精华:子结构1.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ANSYS分析指南精华:子结构1.docx

《ANSYS分析指南精华:子结构1.docx》由会员分享,可在线阅读,更多相关《ANSYS分析指南精华:子结构1.docx(59页珍藏版)》请在冰点文库上搜索。

ANSYS分析指南精华:子结构1.docx

第四章子结构

什么是子结构?

子结构就是将一组单元用矩阵凝聚为一个单元的过程。

这个单一的矩阵单元称为超单元。

在ANSYS分析中,超单元可以象其他单元类型一样使用。

唯一的区别就是必须先进行结构生成分析以生成超单元。

子结构可以在ANSYS/Mutiphysics,ANSYS/Mechanical和ANSYS/Structural中使用。

使用子结构主要是为了节省机时,并且允许在比较有限的计算机设备资源的基础上求解超大规模的问题。

原因之一如a)非线性分析和带有大量重复几何结构的分析。

在非线性分析中,可以将模型线性部分作成子结构,这样这部分的单元矩阵就不用在非线性迭代过程中重复计算。

在有重复几何结构的模型中(如有四条腿的桌子),可以对于重复的部分生成超单元,然后将它拷贝到不同的位置,这样做可以节省大量的机时。

子结构还用于模型有大转动的情况下。

对于这些模型,ANSYS假定每个结构都是围绕其质心转动的。

在三维情况下,子结构有三个转动自由度和三个平动自由度。

在大转动模型中,用户在使用部分之前无须对子结构施加约束,因为每个子结构都是作为一个单元进行处理,是允许刚体位移的。

另外一个原因b)一个问题就波前大小和需用磁盘空间来说相对于一个计算

机系统太庞大了。

这样,用户可以通过子结构将问题分块进行分析,每一块对于计算机系统来说都是可以计算的。

如何使用子结构

子结构分析有以下三个步骤:

l生成部分

l使用部分

l扩展部分

生成部分就是将普通的有限元单元凝聚为一个超单元。

凝聚是通过定义一组主自由度来实现的。

主自由度用于定义超单元与模型中其他单元的边界,提取模型的动力学特性。

图4-1是一个板状构件用接触单元分析的示意。

由于接触单元需要迭代计算,将板状构件形成子结构将显著地节省机时。

本例中,主自由度是板与接触单元相连的自由度。

图4-1子结构使用示例

使用部分就是将超单元与模型整体相连进行分析的部分。

整个模型可以是一个超单元,也可以象上例一样是超单元与非超单元相连的。

使用部分的计算只是超单元的凝聚(自由度计算仅限于主自由度)和非超单元的全部计算。

扩展部分就是从凝聚计算结果开始计算整个超单元中所有的自由度。

如果在使用部分有多个超单元,那么每个超单元都需要有单独的扩展过程。

图4-2示出了整个子结构分析的数据流向和所用的文件。

三个步骤的详细解释见以后的叙述。

图4-2典型子结构分析中的数据流向

划,主要是确定超单元部分和非超单元部分如何连接。

为了保证连接正确,应该保证接触部分结点号一致。

(其他可以方便用户的方法在本章“使用部分”一节还有介绍。

要生成整体模型应该这样做:

将模型存储在数据库文件中,选择子结构部分进行生成计算。

在以后的使用部分,RESUME(UtilityMenu>File>Resumefrom)数据库文件,不选(unselect)子结构,用超单元矩阵代替。

第二步:

施加边界条件,生成超单元矩阵。

生成部分的结果包含超单元矩阵。

象其他分析一样,用户要定义分析类型和分析设置,施加边界条件,定义载荷步,开始计算。

如何完成这些工作见下面的叙述:

1.进入求解器:

Command:

/SOLU

GUI:

MainMenu>Solution

2.定义分析类型和分析设置:

分析类型——选择生成超单元使用下列方法:

Command:

ANTYPE

GUI:

MainMenu>Solution>-AnalysisType-NewAnalysis

新的分析或重启动——如果是开始一个新的分析时,只要指定分析类型(如上所述)即可。

如果是重启动计算,必须在ANTYPE命令中设定STATUS=REST(MainMenu>Solution>-AnalysisType-Restart)。

如果要另外施加载荷时,可以用重启动。

(重启动时,初始运算后的Jobname.EMAT,Jobname.ESAV和Jobname.DB文件要存在。

超单元矩阵文件名——指定超单元矩阵文件名(Sename)。

程序将自动添加后缀.SUB,因此完整的文件名是Sename.SUB。

缺省是使用工作文件名[/FILENAME]定义超单元矩阵文件名,可以使用以下命令:

Command:

SEOPT

GUI:

MainMenu>Solution>AnalysisOptions

要生成的矩阵——可以指定仅生成刚度矩阵(或传导矩阵,电磁系数矩阵);生成刚度和质量矩阵(或热传导矩阵等);生成刚度,质量和阻尼矩阵。

质量矩阵用于结构动力学分析和在使用部分有惯性载荷的情况下。

在热分析中,只有瞬态热分析才用到热传导矩阵。

对于其他分析和阻尼矩阵也大同小异。

用SEOPT命令或其GUI路径来定义。

输出矩阵——这个选项允许输出超单元矩阵。

可以指定输出矩阵和载荷向量,也可以只输出载荷向量。

缺省值是不输出任何矩阵。

要输出矩阵,用SEOPT命令或其相应的GUI路径。

质量矩阵形成——只在想生成质量矩阵时使用。

用户可以选择缺省生成(取决于所用单元类型)或集中质量近似。

对于绝大多数情况,推荐使用缺省生成的方式。

但是,在极薄构件的分析中,如细长杆或极薄壳体,集中质量近似将得到更好的结果。

用下列方法指定集中质量近似:

Command:

LUMPM

GUI:

MainMenu>Solution>AnalysisOptions

3.用下列方法定义主自由度:

Command:

M

GUI:

MainMenu>Solution>MasterDOFs>Define

在子结构中,主自由度有四种作用:

a.它们作为超单元与非超单元的边界。

应保证将超单元与非超单元接触的结点自由度都定义为超单元(在M命令中Lab=ALL),如图4-1所示。

当模型中只有超单元时同样要定义主自由度。

b.如果在动力学分析中使用超单元,那么主自由度规定了结果的动力学特性。

在ANSYSStructuralAnalysisGuide第三章的“MatrixReduction”中有所说明。

c. 如果在使用部分要施加约束[D]或集中力[F]时,这些位置结点的自由

度也要定义为主自由度。

d.在大位移情况下[NLGEOM,ON](MainMene>Solution>AnalysisOptions)的使用部分需要主自由度,或者在使用SETRAN 命 令 ( Main

Menu>Preprocessor>Create>Elements>-Superelements-ByCSTranfer)时。

在这些时候,所有主自由度的结点都要定义6个方向的自由度(UX,UY,UX,ROTX,ROTY,ROTZ)。

4.施加边界条件。

在生成部分可以施加所有的载荷类型,但有以下几点情况需要注意:

l程序将生成一个包括所有施加的载荷的等效载荷向量。

每个载荷步一个载荷向量将写入超单元矩阵文件中。

载荷向量的最大允许值是31个。

l在生成部分可以使用非零的自由度约束并作为载荷向量的一部分。

(在扩展部分,如果被扩展的载荷步中有非零的自由度约束时,数据库中必须有相应的自由度数值。

如果没有的话,自由度约束就要在扩展部分重新定义。

l自由度约束和集中载荷的施加可以推迟到使用部分,但在这些位置的主自由度一定要先定义好。

l同样,线或角加速度的施加也可以推迟到使用部分,但只有在生成质量矩阵时。

如果在使用部分要旋转超单元时,推荐使用这种作法,因为此时载荷向量的方向是“冻结”的,它随着超单元旋转。

lMaxwell力的标志通常用于电磁分析中,用来标记计算哪个单元面上的电磁力分布。

这个标志在电磁子结构分析中无效,因此不要使用。

注——如果生成质量矩阵,建议在使用部分对主自由度(在生成部分定义)施加约束。

这样就保证所有的质量都包含在子结构中。

5.定义载荷步选项。

子结构生成部分只能使用动力选项(阻尼)。

阻尼(动力选项)——只在生成阻尼矩阵时可用。

指定质量(alpha)阻尼使用下列方法:

Command:

ALPHAD

GUI:

MainMenu>Solution>Time/Frequenc>Damping

指定刚度(beta)阻尼使用下列方法:

Command:

BETAD

GUI:

MainMenu>Solution>Time/Frequenc>Damping

指定与材料有关的beta阻尼使用下列方法:

Command:

MP,DAMP

GUI:

MainMenu>Preprocessor>MaterialProps>-Constan-Isotropic

MainMenu>Preprocessor>MaterialProps>Polynomial

表4-1子结构中可以施加的载荷

6.存储数据库的备份文件。

注——这样做的目的是需要在扩展部分使用同样的数据库文件。

用下列方法完成本步操作:

Command:

SAVE

GUI:

UtilityMenu>File>SaveasJobname.db

11

7.开始计算:

Command:

SOLVE

GUI:

MainMenu>Solution>CurrentLS

计算结果包括超单元矩阵文件,Sename.SUB,Sename是通过[SEOPT]指定的文件名或是工作文件名[/FILENAME]。

矩阵文件包括根据施加的载荷计算出的载荷向量。

(如果没有施加载荷,载荷向量将为零。

8.如有另外的载荷步,重复步骤7来生成其他的载荷向量。

载荷向量的号码是递增的,并添加到同一个超单元矩阵文件内。

关于多载荷步的其他方法见ANSYSBasicAnalysisProceduresGuide。

9.退出SOLUTION:

Command:

FINISH

GUI:

MainMenu>Finish

使用部分:

使用超单元

使用部分可以是任何ANSYS分析类型(FLOTRAN和显式动力分析除外)。

和普通分析的区别就是一个或几个单元是前面生成的超单元。

每个单独的分析指南中都有做不同分析的详细介绍。

在这一部分,我们主要介绍如何将超单元变成

12模型的一部分。

这个过程有以下几个步骤:

1. 清除数据库并指定一个新的工作文件名。

2. 建立模型。

3. 施加边界条件并求解。

第一步:

清除数据库并指定一个新的工作文件名。

使用部分包含新的模型和新的边界条件。

因此,第一步是清除现存的数据库。

这与退出并重新进入ANSYS的效果是一样的。

清除数据库用下列方法:

Command:

/CLEAR

GUI:

UtilityMenu>File>Clear&StartNew

缺省情况下,清除数据库就会重新读入START.ANS文件。

(可以改变这个设置)

注:

如果通过命令行输入来清除数据库时,在/CLEAR命令行中不能有其他的命令。

新定义的文件名要与生成部分使用的文件名不同。

这样,生成部分的文件就不会被覆盖。

用下列方式之一定义新的工作文件名:

Command:

/FILNAME

GUI:

UtilityMenu>File>ChangeJobname

第二步:

建立模型

本步是在PREP7中实现的。

主要完成以下任务:

1.定义MATRIX50(超单元)为一种单元。

用以下方法:

Command:

ET

GUI:

MainMenu>Preprocessor>ElementType>Add/Edit/Delete

2.定义其他非超单元的单元类型。

非线性可以使用,取决于进行分析的类型。

3.定义非超单元的单元实参和材料特性。

非线性可以使用,取决于进行分析的类型。

4.定义非超单元的几何形状。

在定义与超单元接触部分时应非常注意。

其结点位置要精确重合。

(见图4-3)

图4-3超单元与非超单元的接触处结点应与主自由度精确重合

共有三种方法保证结点重合:

l使用与生成部分同样的结点号码。

l在生成部分的接触部分结点和使用部分的接触结点使用相同的结点号码增值(或平移)。

(使用SETRAN,在第五步中说明)

l将这两部分结点所有的自由度固连起来。

(用CP系列命令)在不能使用前两种方法时,这种方法是有效的。

定义自由度固连可以用下列方法:

Command:

CP

GUI:

MainMenu>Preprocessor>Coupling/Ceqn>CoupleDOFs

如果超单元与其他单元不相连时,在使用部分可以不定义任何单元。

5.用正确的单元类型定义超单元,读入超单元矩阵。

选择正确的单元类型:

Command:

TYPE

GUI:

MainMenu>Preprocessor>-Modeling-Create>Elements>ElemAttributes

用下列方法读入超单元矩阵(可能要先用其他命令修改矩阵,见后):

Command:

SE

GUI:

Main

Menu>Preprocessor>Create>Elements>-Superlements->From.SUBFile

a.如果模型中不包含非超单元,或是包含非超单元但接触处的结点号与主自由度结点号一致,那么可以用SE命令直接读入超单元:

TYPE,… !

单元类型号

SE,GEN !

从文件GEN.SUB中读入超单元

SE命令的文件名域表示超单元矩阵的文件名。

扩展名.SUB是给定的,因此整个文件名就是Sename.SUB(GEN.SUB如上例)。

超单元就给定下一个可用的单元号。

b.如果模型中有非超单元存在,并且接触处的结点号与主自由度的结点号是有一个偏移量的话,就必须先用新的结点号生成一个新的超单元矩阵,然后读入新的矩阵。

用下列方法生成新的超单元矩阵:

Command:

SETRAN

GUI:

Main

Menu>Preprocessor>Create>Elements>-Superelements-ByCSTransfer

MainMenu>Preprocessor>Create>Elements>-Superelements-ByGeomOffset用下列方法读入新的矩阵:

Command:

SE

GUI:

Main

Menu>Preprocessor>Create>Elements>-Supreelements-From.SUBFile

例如,给出超单元矩阵文件GEN.SUB和新的结点偏移量为2000,命令如下:

SETTRAN,GEN,,2000,GEN2,SUB !

生成新的超单元GEN2.SUB,偏移

量为2000

TYPE,… !

单元类型号

SE,GEN2 !

读入新的超单元文件GEN2.SUB

c.如果模型中包含非超单元而且接触处结点与主自由度结点无任何关系

(一般是结点自由生成的情况),那么先看下面的注意事项:

注意:

生成部分的主自由度的结点号往往会覆盖使用部分的模型结点号。

这样,读入超单元将覆盖使用部分的模型结点。

为了避免这种覆盖,在读入超单元前使用结点号偏移。

在这种情况下,在使用SE命令前先存储数据库文件。

因此,应该先存储数据库文件[SAVE],再用SETRAN命令用新的结点偏移量生成新的超单元矩阵,最后用SE命令读入新的矩阵。

用CRINTF命令(MainMenu>Preprocessor>Coupling/Ceqn>CoincidentNodes)将接触处的结点连接。

例如,给出超单元矩阵文件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

18

Menu>Preprocessor>Create>Elements>

ByReflection),并给出正确的结点偏移量,生成新的超单元矩阵文件,然后用SE命令读入新的矩阵。

连接超单元与非超单元同样用上面的方法——用相同的结点号,结点偏移量,或用CPINTF命令。

注——如果用SETRAN命令将超单元传递到不同的坐标系中,缺省是超单元的主自由度随之旋转。

这一点在初始的超单元主自由度发生旋转时很有用,比如旋转到柱坐标系中。

(在这种情况下,传递不影响超单元刚度矩阵。

)如果初始超单元没有结点发生旋转,那么传递的超单元也无须旋转结点。

用户可以通过设定SETRAN命令的NOROT域为1来防止结点旋转。

(在这种传递中,超单元的刚度矩阵和载荷向量由程序自动修改)。

6.用图形显示和列表功能验证超单元的位置是否正确。

超单元用轮廓线表示,数据在生成部分写到矩阵文件中。

要生成图形显示,用下列命令:

Command:

EPLOT

GUI:

UtilityMenu>Plot>Elements

要生成列表,用下列命令:

Command:

SELIST

GUI:

UtilityMenu>List>Other>SuperelemData

7.存储整个模型文件:

Command:

SAVE

GUI:

UtilityMenu>File>SaveasJobname.db

退出PREP7:

Command:

FINISH

GUI:

MainMenu>Finish

第三步:

施加边界条件并求解。

本步在求解器中完成。

取得使用部分结果的过程取决于所做的分析类型。

以上提到,可以在绝大多数分析中使用超单元。

用户应当有相应的通过生成部分生成的矩阵。

例如,如果要做结构动力学分析,必须有质量矩阵。

具体过程如下:

1. 进入SOLUTION。

Command:

/SOLU

GUI:

MainMenu>Solution

2.定义分析类型和分析选项。

对于大转动分析,打开大位移效果[NLGEOM,ON],并正确定义非线性分析的子步数。

3.在非超单元上施加边界条件。

主要包括自由度约束和对称边界,集中载荷,平面载荷,体载荷,和惯性载荷。

注意惯性载荷只有在通过生成部分生成了质量矩阵时才生效。

注——对大转动分析,在本步中要施加正确的约束条件。

4.用以下方法施加超单元载荷向量:

Command:

SFE

GUI:

MainMenu>Solution>-Loads-Apply>LoadVector>ForSuperelement

在超单元矩阵文件中,每个载荷步对应一个载荷向量,用参考号来区别。

如,

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:

MainMenu>Solution>CurrentLS

本步计算包括非超单元的完整解和超单元的凝聚解——主自由度解。

非超单元的完整解记录在结果文件中(Jobname.RST,RTH或RMG),可以进行普通的后处理操作。

凝聚解记录在文件Jobname.DSUB中。

可以通过如下方法查看这个文件:

Command:

SEDLIST

GUI:

MainMenu>GeneralPostproc>ListResults>SuperelemDOF

UtilityMenu>List>Results>SuperelemDOFSolu

如果想得到超单元中所有自由度的解,就要用到扩展部分。

下面还会说明。

7.退出SOLUTION。

Command:

FINISH

GUI:

MainMenu>Finish

扩展部分:

在超单元中扩展求解结果

扩展部分从使用部分的凝聚解计算出整个超单元的完整解。

下面说明扩展部分的过程。

本部分要求生成部分的.EMAT,.ESAV,.SUB,.TRI,.DB和.SELD文件,使用部分的.DSUB文件存在。

如果在使用部分中使用了结点偏移,在扩展部分中将自动计入。

1. 清除数据库。

相当于退出并重新进入ANSYS。

用下列方法:

Command:

/CLEAR

GUI:

UtilityMenu>File>Clear&StartNew

2.将文件名切换到生成部分的文件名。

这样,程序就可以识别扩展部分所用的文件。

用下列方法:

Command:

/FILENAME

GUI:

UtilityMenu>File>ChangeJobname

3.读入生成部分的数据库文件。

用下列方法:

Command:

RESUME

GUI:

UtilityMenu>File>ResumeJobname.db

4. 进入SOLUTION。

用下列方法:

Command:

/SOLU

GUI:

MainMenu>Solution

5.激活扩展部分及其选项。

扩展部分开关——选为ON。

Command:

EXPASS

GUI:

MainMenu>Solution>ExpasionPass

被扩展的超单元名——指定SENAME。

Command:

SEEXP

GUI:

MainMenu>Solution>ExpasionPass>ExpandSuperelem

(完整的文件名假定为Sename.SUB)

24

使用部分生成的凝聚解文件。

用SEEXP命令(或其相应的GUI路径)指定该文件名。

完整的文件名假定为Usefil.DSUB。

位移的实部或虚部——只有在使用部分是谐波分析时使用。

用SEEXP命令(或其相应的GUI路径)。

被扩展的解——指定被扩展的使用部分结果。

可以通过给出载荷步和子步,也可以通过给出时间或频率来指定结果。

用下列方法:

Command:

EXPSOL

GUI:

MainMenu>Solution>ExpansionPass>ByLoadStep

MainMenu>Solution>ExpansionPass>ByTime/Freq

注——如果被扩展的载荷步中包含非零自由度约束时,数据库中应该有相应的自由度数值。

如果没有,那么自由度约束必须在扩展部分中重新声明[D]。

6.指定载荷步选项。

对于子结构扩展部分,只有输出控制选项是可用的:

输出控制——这些选项控制打印输出,数据库和结果文件输出和结果的插值。

如果在打印输出文件(Jobname.OUT)中包含某些内容,使用下列方法:

Command:

OUTPR

GUI:

MainMenu>Solution>OutputCtrls>DB/ResultsFile

如果控制结果文件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2