ANSYS中的超单元
更新时间:2024-01-27 01:39:01 阅读量: 教育文库 文档下载
ANSYS 中的超单元
摘自htbbzzg的博客,网易
从 8.0 版开始,ANSYS 中增加了超单元功能,本文通过一些实际例子,探讨了 ANSYS 中超单元的具体使用。
1. 使用超单元进行静力分析
根据 ANSYS 帮助文件,使用超单元的过程可以划分为三个阶段 (称为 Pass):
(1) 生成超单元模型 (Generation Pass) (2) 使用超单元数据 (Use Pass) (3) 扩展模型 (Expansion Pass) 下面以一个例子加以说明:
一块板,尺寸为 20×40×2,材料为钢,一端固支,另一端承受法向载荷。 首先生成原始模型 se_all.db,即按照整个结构进行分析,以便后面与超单元结果进行比较:
首先生成两个矩形,尺寸各为 20×2。 然后定义单元类型 shell63; 定义实常数 1 为: 2 (板厚度)。 材料性能:
弹性模量 E=201000; 波松比 μ=0.3; 密度 ρ=7.8e-9; 单位为 mm-s-N-MPa。 采用边长 1 划分单元;
一端设置位移约束 all,另一端所有 (21 个) 节点各承受 Z 向力 5。 计算模型如下图:
静力分析的计算结果如下:
为了后面比较的方便,分别给出两个 area 上的结果:
超单元部分,按照上述步骤操作如下:
(1) 生成超单元
选择后半段作为超单元,前半段作为非超单元 (主单元)。
按照 ANSYS 使用超单元的要求,超单元与非超单元部分的界面节点必须一致 (重合),且最好分别的节点编号也相同,否则需要分别对各节点对建立耦合方程,操作比较麻烦。
实际上,利用 ANSYS 中提供的 mesh200 单元,对超单元和非超单元的界面实体,按照同一顺序,先于所有其它实体划分单元,很容易满足界面节点编号相同的要求。对于多级超单元的情况,则还要结合其它操作 (如偏移节点号等) 以满足这一要求。
对于本例,采用另一办法,即先建立整个模型,然后再划分超单元和非超单元。即:将上述模型分别存为 se_1.db (超单元部分) 和 se_main.db (非超单元部分) 两个文件,然后分别处理。
对于 se_1.db 模型,按照超单元方式进行处理。由于模型及边界条件已建立,只需删除前半段上的划分,结果就是超单元所需的模型。
然后直接进入创建超单元矩阵的操作,首先说明一下创建超单元矩阵的一般步骤:
A 进入求解模块: 命令:/Solu
GUI:Main menu -> Solution
B 设置分析类型为 “子结构或部件模态综合 “ 命令:ANTYPE
GUI :Main menu -> Solution -> Analysis Type -> New Analysis 选择 Substructuring/CMS (子结构或部件模态综合)
C 设置子结构选项 命令:SEOPT
GUI: Main menu -> Solution -> Analysis Type -> Analysis Options 设置内容有:
方程求解方法 (波前法 – 默认,或稀疏矩阵法 – 推荐);
要求生成的矩阵,可以是:刚度矩阵;刚度和质量矩阵;刚度、质量和阻尼矩阵 (稀疏矩阵法不能生成阻尼矩阵);
要求输出到 output 窗口的矩阵 (矩阵和载荷矢量或仅输出载荷矢量,默认不输出) ;
扩展超单元的方法 (后续操作时,对本超单元扩展时使用的方法),默认是回代法(backsubstitution method),需要存储主自由度的三角矩阵 (波前法为 sebname.tri,稀疏矩阵法为 sename.LNxx);完全求解方法 (Full resolve method 不存储任何三角矩阵)。
随着问题规模加大,三角矩阵可能很大;完全求解方法不需要三角矩阵,但花费时间较长,且不能重启动子结构分析 (对于不同的载荷矢量)。
质量矩阵公式:是否使用集中质量矩阵,推荐用一致质量矩阵。
D 选择主自由度 命令:M
GUI: Main menu -> Solution -> Master DOFs -> User Selected -> Define 主自由度是超单元和其它单元之间的界面,必须确保将超单元与其它单元的界面上的所有节点自由度定义为主自由度。假如模型中除了超单元外没有其它单元,也必须定义主自由度。
在将超单元用于动力分析时,主自由度的动力特性应能代表超单元的动力特性。对于在使用超单元时将被定义为约束或施加载荷的节点,应该定义为主自由度 (如果它们也位于当前的超单元中)。
对于大挠度问题或使用 SETRAN 命令的情况,主节点的 6 个自由度都应作为主自由度。
本例中选择超单元外端面上所有节点的所有自由度作为主自由度。一般情况均推荐选择相应主节点的 All 自由度。
E 在超单元上施加载荷
作为超单元的结构可以施加任意载荷,但要记住:
程序会生成一个载荷矢量,其中包含了施加的所有载荷。对于每个载荷步,在超单元文件中写一个等效的载荷矢量,最多可以写 31 个载荷矢量。
在超单元结构中可以使用非零位移约束,并作为载荷矢量的一部分。求解后对超单元进行结果扩展时,对于有非零位移的载荷步,其数据库必须匹配,否则需再次施加非零位移约束后再进行结果扩展。
可以在使用超单元时再定义载荷和约束,此时应注意将相应节点选为主自由度节点。
同样也可以在使用超单元时再定义惯性力 (加速度或角速度),但在超单元部分要生成质量矩阵。如果在使用超单元时需要对其进行旋转,推荐这样做,因为超单元的载荷矢量是随着超单元一起转动的。
注意:如果生成质量矩阵,推荐在使用超单元时再施加约束,但要注意将约束节点选为主自由度。如果要施加加速度载荷,建议再生成超单元时施加,而不要施加到简缩的质量矩阵上。对于有大转动的问题,推荐在使用超单元时再施加约束。
F 设置载荷步选项
在生成超单元的阶段,唯一有效的载荷步选项是设置阻尼。 以上内容设置完毕,存储模型并求解。 对于本例,首先选择新的求解类型:
设置分析选项:
定义主自由度:
然后将模型存盘并求解。求解后将生成超单元文件 se_1.sub。
(2) 使用超单元
使用超单元的过程是: A 建立新模型
对于本例,将se_1.db 文件存盘,点击File -> Clear & Start New ... 菜单项,修改Jobname 为se_main,,Resume 模型。此时读入的模型仍是个完整的模型,在前处理的 Mesh 下,清除后半段 area 上的网格,只保留前半段area 上的网格 (以及已经施加的节点 Z 向载荷向载荷)。
图 10 非超单元部分的模型
为了使用超单元,除了其它单元类型外,还需要定义单元类型Matrix50 (超单元)。
图 11 定义超单元类型
在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致,否则需要偏移节点编号或在超单元节点和非超单元节点之间建立耦合,或由老的超单元模型创建一个新的超单元模型(SETRAN 命令),其界面节点与非超单元模型相匹配。
对于本例,由于非超单元模型与超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。
B 读入超单元矩阵
首先设置单元属性为Superelement: 命令:命令: Type
GUI: Main menu -> Preprocessor -> Modeling -> Create -> Elements -> Elem Attributes -> Type -> Superelements
图 12 定义单元属性为超单元
然后读入超单元矩阵se_1.sub: 命令:命令: SE
GUI: Main menu -> Preprocessor -> Modeling -> Create -> Elements -> Superelements -> From .SUB File
读入se_1.sub 文件,自动与非超单元部分组装到一起。
可以通过Utility 菜单的 List -> Other -> Superelem Data 列出超单元 se_1 的数据:
现在应该施加超单元载荷,然后将模型存盘并求解 (一般的静力求解)。 求解后存盘,再进行后处理:
(3) 将结果扩展到超单元部分
如果在生成超单元阶段产生的.EMAT、、.ESAV、.SUB、、.TRI、.DB、以
及.SEID 文件,和使用该超单元的模型求解时生成的 .DSUB 文件都是可用的,则可以将结果扩展到超单元部分。
清除当前模型,将Jobname 改为超单元模型文件名(se_1),读入超单元模型,转换为Solution 模块,激活 ExpansionPass:
命令:命令: EXPASS
GUI: Main Menu -> Solution -> Analysis Type -> Expansion Pass 在 EXPASS 表单中,设置: ExpansionPass -> ON
然后读取超单元矩阵 .SUB 、以及非超单元模型求解时,为使用的超单元模型生成的数据文件.DSUB:
命令命令: SEEXP
GUI: Main Menu -> Solution -> Load Step Opts -> Single Expand -> Expand Superelements
然后在SEEXP 表单中分别输入超单元文件的 .sub 文件名和使用该超单元的主结构在求解时生成的.dsub 文件名:
然后进行求解 -> solve,求解完毕,可以到后处理查看计算结果。注意此时并不生成.rst 文件,但可以直接查看计算结果。
对于超单元部分,相应的位移和 Von Mises 应力云图分别见图 18 和图 19。
如果存在完整的结构模型 (例如 se_all.db),则可以显示整个结构的结果,具体操作方法是:
在将 Jobname 改为 se_1 后,不是读取其本身,而是 Resume se_all.db,
然后只选择超单元部分的单元和节点,并按照前面相同的办法对结果进行扩展。结果扩展完成后,显示整个结构的单元和节点,然后进行后处理。
进入 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. 使用超单元进行模态分析
使用超单元进行模态分析的过程同样分为三个阶段:生成超单元模型、使用超单元数据和扩展超单元模型。
使用静力分析的同一模型,约束条件与静力情况相同。首先对整个结构进行分析,相应的模态计算结果如下:
使用超单元,按照上述步骤操作如下:
(1) 生成超单元
操作方法与静力分析相同,先建立整个模型,然后选择后半段作为超单元,前半段作为非超单元,分别存为 se_m1.db (超单元部分) 和 se_m2.db (非超单元部分) 两个文件,然后分别处理。
对于 se_m1.db 模型,按照超单元方式进行处理,现在要做的只需删除前半段 area 上的网格,结果就是建立超单元所需的模型。
然后直接进入创建超单元矩阵的操作,具体步骤如下:
A 进入求解模块: 命令:/Solu
GUI:Main menu -> Solution
B 设置分析类型为 “子结构或部件模态综合 “ 命令:ANTYPE
GUI :Main menu -> Solution -> Analysis Type -> New Analysis 选择 Substructuring/CMS (子结构或部件模态综合)
对于本例,首先选择新的求解类型:由于是设置超单元,故求解类型选择SUbstructuring/CMS。
C 设置子结构的分析选项 命令:SEOPT
GUI: Main menu -> Solution -> Analysis Type -> Analysis Options 设置内容有:
方程求解方法 (波前法 – 默认,或稀疏矩阵法 – 推荐); 要求生成的矩阵:刚度和质量矩阵; 要求输出到 output 窗口的矩阵 (默认不输出) ;
扩展超单元的方法 (后续操作时,对本超单元扩展时使用的方法),采用默认的回代法(backsubstitution method)。
质量矩阵公式:采用推荐的一致质量矩阵。
D 选择主自由度 命令:M
GUI: Main menu -> Solution -> Master DOFs -> User Selected -> Define
选择超单元外端面上所有节点的所有自由度作为主自由度。
E 在超单元上施加载荷 对于模态分析不需施加载荷。
F 设置载荷步选项
对于模态分析,无需载荷步设置。
以上内容设置完毕,存储模型并求解,求解后将生成超单元文件 se_m1.sub。
(2) 使用超单元
使用超单元的过程是: A 建立新模型
对于本例,将 se_m1.db 文件存盘,点击 File -> Clear & Start New ... 菜单项,修改Jobname 为 se_m2,Resume 模型。此时读入的模型仍是个完整的模型,在前处理的Mesh 下,清除后半段上的网格,得到非超单元部分的有限元模型。
为了使用超单元,同样还需要定义单元类型 Matrix50 (超单元)。
在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致。对于本例,由于超单元模型与非超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。
B 读入超单元矩阵
首先设置单元属性为 Superelement: 命令: Type
GUI: Main menu -> Preprocessor -> Modeling -> Create -> Elements -> Elem Attributes -> Type -> Superelements
然后读入超单元矩阵 se_1.sub:命令: SE
GUI: Main menu -> Preprocessor -> Modeling -> Create -> Elements -> Superelements -> From .SUB File
在 Jobname of matrix file 中输入 se_m1,然后 OK:
读入 se_m1.sub 文件,自动与非超单元部分组装到一起。
可以通过 Utility 菜单的 List -> Other -> Superelem Data 列出超单元 se_m1 的数据:
求解后存盘,再进行后处理:
下表列出了整个结构和超单元方法求出的前 20 阶频率:
图 42 最大位移响应,t = 0.026”
图 43 (绝对值) 最大加速度响应,t = 0.051”
图 44 最大 Mises 应力响应,t = 0.026”
图 45 节点 532 位移响应时程曲线
图 46 节点 532 加速度响应时程曲线
图 47 节点 72 Mises 应力响应时程曲线
使用超单元,按照上述步骤操作如下:
(1) 生成超单元
操作方法与静力分析相同,先建立整个模型,然后选择后半段作为超单元,前半段作为非超单元,分别存为 se_r1.db (超单元部分) 和 se_r2.db (非超单元部分) 两个文件,然后分别处理。
对于 se_r1.db 模型,按照超单元方式进行处理,现在要做的只需删除前半段 area 上的网格,结果就是建立超单元所需的模型。
然后直接进入创建超单元矩阵的操作,具体步骤如下:
A 进入求解模块: 命令:/Solu
GUI:Main menu -> Solution
B 设置分析类型为 “子结构或部件模态综合 “ 命令:ANTYPE
GUI :Main menu -> Solution -> Analysis Type -> New Analysis 选择 Substructuring/CMS (子结构或部件模态综合)
对于本例,首先选择新的求解类型:由于是设置超单元,故求解类型选择 SUbstructuring/CMS。
图 48 选择求解类型
C 设置子结构的分析选项 命令:SEOPT
GUI: Main menu -> Solution -> Analysis Type -> Analysis Options 设置内容有:
方程求解方法 (波前法 – 默认,或稀疏矩阵法 – 推荐); 要求生成的矩阵:刚度矩阵,质量矩阵和阻尼矩阵; 要求输出到 output 窗口的矩阵 (默认不输出) ;
扩展超单元的方法 (后续操作时,对本超单元扩展时使用的方法),采用默认的回代法 (backsubstitution method)。
质量矩阵公式:采用推荐的一致质量矩阵。
图 49 SEOPT 命令表单,设置分析选项
D 选择主自由度 命令:M
GUI: 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 模型。此时读入的模型仍是个完整的模型,在前处理的 Mesh 下,清除后半段上的网格,得到非超单元部分的有限元模型。
图 51 非超单元部分的模型
为了使用超单元,同样还需要定义单元类型 Matrix50 (超单元)。
在对非超单元部分建模时,必须确保其界面节点与超单元模型的界面节点精确匹配且最好节点编号也完全一致。对于本例,由于超单元模型与非超单元模型都是由同一个整体模型修改而来,故其界面节点的位置和编号都是完全相同的。
B 读入超单元矩阵
首先设置单元属性为 Superelement:命令: Type
GUI: Main menu -> Preprocessor -> Modeling -> Create ->Elements -> Elem Attributes -> Type -> Superelements
图 52 定义单元属性为超单元
然后读入超单元矩阵 se_1.sub:命令: SE
GUI: 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_r1的数据:
图 54 超单元数据列表
C 施加瞬态激励
在模型端部的节点上施加瞬态激励,与整个结构的情况相同。
图 55 施加瞬态激励力
求解后存盘,再进行后处理,相应的响应计算结果如下:
图 56 最大位移响应,t = 0.026”
图 57 (绝对值) 最大加速度响应,t = 0.051”
图 58 节点 532 位移响应时程曲线
正在阅读:
ANSYS中的超单元01-27
常用中药鉴定术语09-13
小学二年级道德与法治上册第三单元我们在公共场所9《这些是大家的》名师制作精品教学设计新人教版09-02
安利事业魅力解析05-03
六年级学生英语学情分析模板03-18
双人钓鱼船项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案01-28
独家“语文报杯”作文大赛国家级获奖作品展01-19
六年级学生英语学情分析模板03-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 单元
- ANSYS
- 09年重庆市中考数学专题训练 函数的应用
- 初中作文议论文记叙文范文 悄悄的提醒(4)
- 2015事业单位考试文秘专业知识试题及答案
- 九型人格性格特征分析
- 我眼中的无线网络
- 践行高中化学生活化教学模式的理论依据及意义
- 山东大学细胞生物学期末考试题(3)
- 2016年现代电气控制系统安装与调试赛题A题
- 三基题库--单选
- 关于贯彻执行《关于加强药品监督管理促进药品现代物流发展的意见》有关问题的通知国食药监市318号
- 五大联赛派系
- 浓香白酒酿造工艺
- 世界近代史部分名词解释及思考题(参考答案)
- 人教版初一数学上册全册优化教案(广东)教案
- 钢铁是怎样炼成分章练习答案
- 全国中小学教师教育技术水平考试模拟试题(单选题)
- 小学一升二语文集训
- 国务院关于印发国家基本公共服务体系“十二五”规划的通知
- 14.2 液体的压强
- 生物无菌实验室离心管使用SOP