ANSYS中的超单元_第1页
ANSYS中的超单元_第2页
ANSYS中的超单元_第3页
ANSYS中的超单元_第4页
ANSYS中的超单元_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ANSYS中的超单元摘自htbbzzg的博客,网易从8.0版开始,ANSYS中增加了超单元功能,本文通过一些实际例子,探讨了ANSYS中超单元的具体使用。1. 使用超单元进行静力分析根据ANSYS帮助文件,使用超单元的过程可以划分为三个阶段(称为Pass):(1)生成超单元模型(Generation Pass)(2)使用超单元数据(Use Pass)(3)扩展模型(Expansion Pass)下面以一个例子加以说明:一块板,尺寸为20402,材料为钢,一端固支,另一端承受法向载荷。首先生成原始模型se_all.db,即按照整个结构进行分析,以便后面与超单元结果进行比较:首先生成两个矩形,尺寸

2、各为202。然后定义单元类型shell63;定义实常数1为:2 (板厚度)。材料性能:弹性模量E=201000;波松比 =0.3;密度=7.8e-9;单位为mm-s-N-MPa。采用边长1划分单元;一端设置位移约束all,另一端所有(21个)节点各承受Z向力5。计算模型如下图:静力分析的计算结果如下:为了后面比较的方便,分别给出两个area上的结果:超单元部分,按照上述步骤操作如下:(1)生成超单元选择后半段作为超单元,前半段作为非超单元 (主单元)。按照ANSYS使用超单元的要求,超单元与非超单元部分的界面节点必须一致(重合),且最好分别的节点编号也相同,否则需要分别对各节点对建立耦合方程,

3、操作比较麻烦。实际上,利用ANSYS中提供的mesh200单元,对超单元和非超单元的界面实体,按照同一顺序,先于所有其它实体划分单元,很容易满足界面节点编号相同的要求。对于多级超单元的情况,则还要结合其它操作(如偏移节点号等)以满足这一要求。对于本例,采用另一办法,即先建立整个模型,然后再划分超单元和非超单元。即:将上述模型分别存为se_1.db (超单元部分)和se_main.db (非超单元部分)两个文件,然后分别处理。对于se_1.db模型,按照超单元方式进行处理。由于模型及边界条件已建立,只需删除前半段上的划分,结果就是超单元所需的模型。然后直接进入创建超单元矩阵的操作,首先说明一下创

4、建超单元矩阵的一般步骤:A进入求解模块:命令:/SoluGUI:Main menu - SolutionB设置分析类型为“子结构或部件模态综合“命令:ANTYPEGUI:Main menu - Solution - Analysis Type - New Analysis选择Substructuring/CMS (子结构或部件模态综合)C设置子结构选项命令:SEOPTGUI:Main menu - Solution - Analysis Type - Analysis Options设置内容有:方程求解方法(波前法默认,或稀疏矩阵法推荐);要求生成的矩阵,可以是:刚度矩阵;刚度和质量矩阵;刚度

5、、质量和阻尼矩阵(稀疏矩阵法不能生成阻尼矩阵);要求输出到output窗口的矩阵(矩阵和载荷矢量或仅输出载荷矢量,默认不输出);扩展超单元的方法(后续操作时,对本超单元扩展时使用的方法),默认是回代法(backsubstitution method),需要存储主自由度的三角矩阵(波前法为sebname.tri,稀疏矩阵法为sename.LNxx);完全求解方法(Full resolve method不存储任何三角矩阵)。随着问题规模加大,三角矩阵可能很大;完全求解方法不需要三角矩阵,但花费时间较长,且不能重启动子结构分析(对于不同的载荷矢量)。质量矩阵公式:是否使用集中质量矩阵,推荐用一致质量

6、矩阵。D选择主自由度命令:MGUI:Main menu - Solution - Master DOFs - User Selected- Define主自由度是超单元和其它单元之间的界面,必须确保将超单元与其它单元的界面上的所有节点自由度定义为主自由度。假如模型中除了超单元外没有其它单元,也必须定义主自由度。在将超单元用于动力分析时,主自由度的动力特性应能代表超单元的动力特性。对于在使用超单元时将被定义为约束或施加载荷的节点,应该定义为主自由度(如果它们也位于当前的超单元中)。对于大挠度问题或使用SETRAN命令的情况,主节点的6个自由度都应作为主自由度。本例中选择超单元外端面上所有节点的所

7、有自由度作为主自由度。一般情况均推荐选择相应主节点的All自由度。E在超单元上施加载荷作为超单元的结构可以施加任意载荷,但要记住:程序会生成一个载荷矢量,其中包含了施加的所有载荷。对于每个载荷步,在超单元文件中写一个等效的载荷矢量,最多可以写31个载荷矢量。在超单元结构中可以使用非零位移约束,并作为载荷矢量的一部分。求解后对超单元进行结果扩展时,对于有非零位移的载荷步,其数据库必须匹配,否则需再次施加非零位移约束后再进行结果扩展。可以在使用超单元时再定义载荷和约束,此时应注意将相应节点选为主自由度节点。同样也可以在使用超单元时再定义惯性力(加速度或角速度),但在超单元部分要生成质量矩阵。如果在

8、使用超单元时需要对其进行旋转,推荐这样做,因为超单元的载荷矢量是随着超单元一起转动的。注意:如果生成质量矩阵,推荐在使用超单元时再施加约束,但要注意将约束节点选为主自由度。如果要施加加速度载荷,建议再生成超单元时施加,而不要施加到简缩的质量矩阵上。对于有大转动的问题,推荐在使用超单元时再施加约束。F设置载荷步选项在生成超单元的阶段,唯一有效的载荷步选项是设置阻尼。以上内容设置完毕,存储模型并求解。对于本例,首先选择新的求解类型:设置分析选项:定义主自由度:然后将模型存盘并求解。求解后将生成超单元文件se_1.sub。(2)使用超单元使用超单元的过程是:A建立新模型对于本例,将se_1.db文件

9、存盘,点击File - Clear & Start New .菜单项,修改Jobname为se_main,Resume模型。此时读入的模型仍是个完整的模型,在前处理的Mesh下,清除后半段area上的网格,只保留前半段area上的网格(以及已经施加的节点Z 向载荷向载荷)。 图10非超单元部分的模型为了使用超单元,除了其它单元类型外,还需要定义单元类型Matrix50 (超单元)。图11定义超单元类型在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致,否则需要偏移节点编号或在超单元节点和非超单元节点之间建立耦合,或由老的超单元模型创建一个新的超单元

10、模型(SETRAN命令),其界面节点与非超单元模型相匹配。对于本例,由于非超单元模型与超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。B读入超单元矩阵首先设置单元属性为Superelement:命令:命令: TypeGUI:Main menu - Preprocessor - Modeling - Create -Elements - Elem Attributes - Type - Superelements图12 定义单元属性为超单元然后读入超单元矩阵se_1.sub:命令:命令: SEGUI:Main menu - Preprocessor - Model

11、ing - Create -Elements - Superelements - From .SUB File读入se_1.sub文件,自动与非超单元部分组装到一起。可以通过Utility菜单的List - Other - Superelem Data列出超单元se_1的数据:现在应该施加超单元载荷,然后将模型存盘并求解(一般的静力求解)。求解后存盘,再进行后处理:(3)将结果扩展到超单元部分如果在生成超单元阶段产生的.EMAT、.ESAV、.SUB、.TRI、.DB、以及.SEID文件,和使用该超单元的模型求解时生成的.DSUB文件都是可用的,则可以将结果扩展到超单元部分。清除当前模型,将J

12、obname改为超单元模型文件名(se_1),读入超单元模型,转换为Solution模块,激活ExpansionPass:命令:命令: EXPASSGUI:Main Menu - Solution - Analysis Type - Expansion Pass在EXPASS表单中,设置:ExpansionPass - ON然后读取超单元矩阵.SUB 、以及非超单元模型求解时,为使用的超单元模型生成的数据文件.DSUB:命令命令:SEEXPGUI:Main Menu - Solution - Load Step Opts - Single Expand- Expand Superelement

13、s然后在SEEXP表单中分别输入超单元文件的.sub文件名和使用该超单元的主结构在求解时生成的.dsub文件名:然后进行求解- solve,求解完毕,可以到后处理查看计算结果。注意此时并不生成.rst文件,但可以直接查看计算结果。对于超单元部分,相应的位移和Von Mises应力云图分别见图18和图19。如果存在完整的结构模型(例如se_all.db),则可以显示整个结构的结果,具体操作方法是:在将Jobname改为se_1后,不是读取其本身,而是Resume se_all.db,然后只选择超单元部分的单元和节点,并按照前面相同的办法对结果进行扩展。结果扩展完成后,显示整个结构的单元和节点,然

14、后进行后处理。进入Post1后,首先执行:Data & File Opts - Read Single Result File -选择se_1.rst;再点击Read Result - First,从se_1.rst中读取结果。然后执行:Data & File Opts - Read Single Result File -选择se_2.rst;再点击Read Result - First,从se_2.rst中读取结果。读入这一结果不会删除从se_1.rst中读入的结果。然后可以显示或列表整个模型的结果:2. 使用超单元进行模态分析使用超单元进行模态分析的过程同样分为三个阶段:生成超单元模型、

15、使用超单元数据和扩展超单元模型。使用静力分析的同一模型,约束条件与静力情况相同。首先对整个结构进行分析,相应的模态计算结果如下: 使用超单元,按照上述步骤操作如下:(1)生成超单元操作方法与静力分析相同,先建立整个模型,然后选择后半段作为超单元,前半段作为非超单元,分别存为se_m1.db (超单元部分)和se_m2.db (非超单元部分)两个文件,然后分别处理。对于se_m1.db模型,按照超单元方式进行处理,现在要做的只需删除前半段area上的网格,结果就是建立超单元所需的模型。然后直接进入创建超单元矩阵的操作,具体步骤如下:A进入求解模块:命令:/SoluGUI:Main menu -

16、SolutionB设置分析类型为“子结构或部件模态综合“命令:ANTYPEGUI:Main menu - Solution - Analysis Type - New Analysis选择Substructuring/CMS (子结构或部件模态综合)对于本例,首先选择新的求解类型:由于是设置超单元,故求解类型选择SUbstructuring/CMS。C设置子结构的分析选项命令:SEOPTGUI:Main menu - Solution - Analysis Type - Analysis Options设置内容有:方程求解方法(波前法默认,或稀疏矩阵法推荐);要求生成的矩阵:刚度和质量矩阵;要

17、求输出到output窗口的矩阵(默认不输出);扩展超单元的方法(后续操作时,对本超单元扩展时使用的方法),采用默认的回代法(backsubstitution method)。质量矩阵公式:采用推荐的一致质量矩阵。D选择主自由度命令:MGUI:Main menu - Solution - Master DOFs - User Selected- Define选择超单元外端面上所有节点的所有自由度作为主自由度。E在超单元上施加载荷对于模态分析不需施加载荷。F设置载荷步选项对于模态分析,无需载荷步设置。以上内容设置完毕,存储模型并求解,求解后将生成超单元文件se_m1.sub。(2)使用超单元使用超

18、单元的过程是:A建立新模型对于本例,将se_m1.db文件存盘,点击File - Clear & Start New .菜单项,修改Jobname为se_m2,Resume模型。此时读入的模型仍是个完整的模型,在前处理的Mesh下,清除后半段上的网格,得到非超单元部分的有限元模型。为了使用超单元,同样还需要定义单元类型Matrix50 (超单元)。在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致。对于本例,由于超单元模型与非超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。B读入超单元矩阵首先设置单元属性为Super

19、element:命令:TypeGUI:Main menu - Preprocessor - Modeling - Create -Elements - Elem Attributes - Type - Superelements然后读入超单元矩阵se_1.sub:命令:SEGUI:Main menu - Preprocessor - Modeling - Create -Elements - Superelements -From .SUB File在Jobname of matrix file中输入se_m1,然后OK:读入se_m1.sub文件,自动与非超单元部分组装到一起。可以通过Uti

20、lity菜单的List - Other - Superelem Data列出超单元se_m1的数据:求解后存盘,再进行后处理: 下表列出了整个结构和超单元方法求出的前20阶频率:可以看到,超单元的频率结果比整个结构的计算结果要大,阶数越高,相差越大,即超单元的结果比整个结构要刚硬。这是由于在使用超单元时,质量矩阵的处理误差比较大。(3)将结果扩展到超单元部分如果在生成超单元阶段产生的.EMAT、.ESAV、.SUB、.TRI、.DB以及.SEID文件,和使用该超单元的模型求解时生成的.DSUB文件都是可用的,则可以将结果扩展到超单元部分。清除当前模型,将Jobname改为超单元模型文件名(se

21、_m1),读入超单元模型,转换为Solution模块,激活ExpansionPass:命令:EXPASSGUI:Main Menu - Solution - Analysis Type - Expansion Pass在出现的表单中:ExpansionPass - ON然后读取超单元矩阵.SUB以及非超单元模型求解时,为使用的超单元模型生成的数据文件.DSUB:命令:SEEXPGUI:Main Menu - Solution - Load Step Opts - Single Expand- Expand Superelements然后在SEEXP表单中分别输入超单元文件的.sub文件名和使用

22、该超单元的主结构在求解时生成的.dsub文件名:然后选择要扩展的模态:命令:EXPSOLGUI:Main Menu - Solution - Load Step Opts - Single Expand- By Loadstep然后在EXPSOL表单中分别输入要扩展的模态的载荷步和子步编号(可以在主结构中,后处理中由Results Summary查到),注意每次只能扩展一个模态:然后进行求解,求解完毕,可以到后处理查看计算结果。注意此时并不生成.rst文件,但可以直接查看计算结果。以下是第五阶模态的形状,可以看到,与主结构结果相同,这是一个扭转模态:如果存在完整的结构模型(例如se_m_all

23、.db),可以显示整个结构的模态形状,具体操作方法是:在将Jobname改为se_m1后,不是读取其本身,而是Resume se_m_all.db,然后只选择超单元部分的单元和节点,并按照前面相同的办法对结果进行扩展。结果扩展完成后,显示整个结构的单元和节点,然后进行后处理。进入Post1后,首先执行:Data & File Opts - Read Single Result File -选择se_m1.rst;再点击Read Result - First,从se_m1.rst中读取结果。然后执行:Data & File Opts - Read Single Result File -选择se

24、_m2.rst;再点击Read Result - First,从se_m2.rst中读取结果。读入这一结果不会删除从se_m1.rst中读入的结果。然后可以显示或列表整个模型的模态形状,注意每次只能处理一个模态:3. 使用超单元进行瞬态响应分析使用超单元进行瞬态响应分析的过程同样分为三个阶段:生成超单元模型、使用超单元数据和扩展超单元模型。使用静力分析的同一模型,约束条件与静力情况相同。载荷为另一端各节点上的冲击力100 * sin (360 * 10 * t) (作用时间为0.05”的半正弦波)。相应的激励力时程曲线为:t(s)00.0050.010.0150.020.025F(N)030.

25、958.7880.995.11100t(s)0.030.0350.040.0450.050.2F(N)95.1180.958.7830.900采用瑞利阻尼(相当粘性阻尼= 0.03,频率取10 Hz):alpha = 1.885beta = 0.00048首先对整个结构进行分析,相应的响应计算结果如下:图42最大位移响应,t = 0.026”图43(绝对值)最大加速度响应,t = 0.051”图44最大Mises应力响应,t = 0.026”图45节点532位移响应时程曲线图46节点532加速度响应时程曲线图47节点72Mises应力响应时程曲线使用超单元,按照上述步骤操作如下:(1)生成超单

26、元操作方法与静力分析相同,先建立整个模型,然后选择后半段作为超单元,前半段作为非超单元,分别存为se_r1.db (超单元部分)和se_r2.db (非超单元部分)两个文件,然后分别处理。对于se_r1.db模型,按照超单元方式进行处理,现在要做的只需删除前半段area上的网格,结果就是建立超单元所需的模型。然后直接进入创建超单元矩阵的操作,具体步骤如下:A进入求解模块:命令:/Solu GUI:Main menu - SolutionB设置分析类型为“子结构或部件模态综合“命令:ANTYPEGUI:Main menu - Solution - Analysis Type - New Anal

27、ysis选择Substructuring/CMS (子结构或部件模态综合)对于本例,首先选择新的求解类型:由于是设置超单元,故求解类型选择SUbstructuring/CMS。图48选择求解类型C设置子结构的分析选项命令:SEOPTGUI:Main menu - Solution - Analysis Type - Analysis Options设置内容有:方程求解方法(波前法默认,或稀疏矩阵法推荐);要求生成的矩阵:刚度矩阵,质量矩阵和阻尼矩阵;要求输出到output窗口的矩阵(默认不输出);扩展超单元的方法(后续操作时,对本超单元扩展时使用的方法),采用默认的回代法(backsubsti

28、tution method)。质量矩阵公式:采用推荐的一致质量矩阵。图49SEOPT命令表单,设置分析选项D选择主自由度命令:MGUI:Main menu - Solution - Master DOFs - User Selected- Define选择超单元外端面上所有节点的所有自由度作为主自由度。图50定义主自由度以上内容设置完毕,存储模型并求解,求解后将生成超单元文件se_r1.sub。(2)使用超单元使用超单元的过程是:A建立新模型对于本例,将se_r1.db文件存盘,点击File - Clear & Start New .菜单项,修改Jobname为se_r2,Resume模型。此

29、时读入的模型仍是个完整的模型,在前处理的Mesh下,清除后半段上的网格,得到非超单元部分的有限元模型。图51非超单元部分的模型为了使用超单元,同样还需要定义单元类型Matrix50 (超单元)。在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致。对于本例,由于超单元模型与非超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。B读入超单元矩阵首先设置单元属性为Superelement:命令:TypeGUI:Main menu - Preprocessor - Modeling - Create -Elements - El

30、em Attributes - Type - Superelements图52定义单元属性为超单元然后读入超单元矩阵se_1.sub:命令:SEGUI:Main menu - Preprocessor - Modeling - Create -Elements - Superelements - From .SUB File在Jobname of matrix file中输入se_m1,然后OK:图53读入超单元矩阵se_r1.sub读入se_r1.sub文件,自动与非超单元部分组装到一起。可以通过Utility菜单的List - Other - Superelem Data列出超单元se_r

31、1的数据:图54超单元数据列表C施加瞬态激励在模型端部的节点上施加瞬态激励,与整个结构的情况相同。图55施加瞬态激励力求解后存盘,再进行后处理,相应的响应计算结果如下:图56最大位移响应,t = 0.026”图57(绝对值)最大加速度响应,t = 0.051”图58节点532位移响应时程曲线图59节点532加速度响应时程曲线(3)将结果扩展到超单元部分如果在生成超单元阶段产生的.EMAT、.ESAV、.SUB、.TRI、.DB以及.SEID文件,和使用该超单元的模型求解时生成的.DSUB文件都是可用的,则可以将结果扩展到超单元部分。清除当前模型,将Jobname改为超单元模型文件名(se_r1),读入超单元模型,转换为Solution模块,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论