Abaqus 子结构分析 实例
目 录
- Blog Links
- 一、前言
- 二、子结构的创建与分析
- 2.1 创建几何
- 2.2 属性指定
- 2.3 模型装配
- 2.4 定义分析
- 2.5 网格划分
- 2.6 单元属性
- 2.7 定义边界
- 2.8 提交作业
- 三、主子结构的装配
- 3.1 主结构的创建
- 3.2 子结构的导入
- 3.3 主子结构装配
- 3.4 子结构场输出
- 3.5 主结构分网格
- 3.6 主子结构约束
- 3.7 施加边界条件
- 3.8 提交作业分析
- 四、.odb文件的合并
- 五、尾声
- 六、参考文献
Blog Links
DalNur | 博客总目录
Abaqus 二次开发 基本概念
Abaqus 二次开发 应用实例
Python 语言创建 Abaqus inp 文件
一、前言
本文以参考文献[1]中的四腿方桌为例,来介绍 Abaqus 子结构分析的实现。
子结构简单例子/原文截图
桌腿的长度为 80 mm,其横截面为一正方形,截面尺寸为 20 mm × 20 mm,桌面板为长 160 mm,宽 120 mm 的矩形,厚度为 10 mm。整个桌子由 Q235B 级钢制成,钢材的弹性模量为 200 GPa,泊松比为 0.3,在桌面板形心位置处作用有竖直向下的集中荷载 F=5000 N。采用实体单元建模,网格尺寸为 5 mm × 5 mm × 5 mm。
类别 | 名称 | 几何尺寸 |
---|---|---|
子结构 | 桌腿 | 80 × 20 × 20 |
主结构 | 桌面板 | 160 × 120 × 10 |
二、子结构的创建与分析
2.1 创建几何
Step 1. Module: Part >> 创建桌腿 Part ,命名为 leg,如下图所示。
创建桌腿几何模型
2.2 属性指定
Step 2. Module: Property >> 创建材料 >> 创建截面 >> 为桌腿 Part 赋截面。
材料属性的创建以赋予
2.3 模型装配
Step 3. Module: Assembly
2.4 定义分析
Step 4. Module: Step >> Create Step >> Linear perturbation >>
Substructure generation >> Substructure identifier: Z 中输入 1~9999 之间的任意数字 (本算例输入107,你想输几就输几),作为子结构识别号。
分析步的创建及设置
2.5 网格划分
Step 5. Module: Mesh >> 划分网格。
为桌腿部件划分网格
2.6 单元属性
Step 6. Module: Mesh >> Assign Element Type,设置单元积分类型为完全积分。
Step 7. 为保留自由度的结点创建一个集合,集合名称为 RTNodes 。
结点集合RTNodes的创建
2.7 定义边界
Step 8. Module: Load >> Create Boundary Condition >> Ratined nodal dofs >> 选择 step 6 创建的结点集合 RTNodes 。
设置保留自由度的结点及保留的自由度
2.8 提交作业
Step 9. Module: Job >> 创建名为 leg 的作业并提交计算。
至此,桌腿子结构部分创建完毕,完成分析后,在工作目录中将产生如下图所示的各种文件,其中最重要的文件之一是 leg_Z107.sim 。
三、主子结构的装配
3.1 主结构的创建
Step 1. 启动一个新的 Abaqus/CAE 。
Step 2. 创建桌面板 Part,命名为 slab,并赋截面属性。
桌面板几何模型的创建及材料属性的赋予
3.2 子结构的导入
Step 3. 导入桌腿子结构,File >> Import >> Part >> leg_Z107.sim 。
桌腿子结构部分的导入
3.3 主子结构装配
Step 4. Module: Assembly 完成桌面板(主结构)与桌腿(子结构)的装配。
桌腿子结构与桌面板主结构的装配
3.4 子结构场输出
Step 5. 创建静力通用分析步及设置主子结构的场输出,若不设置子结构的场输出,在后续主子结构的 .odb 文件合后,子结构的结果将得不到有效的显示 (子结构云图为灰色) 。
分析步的创建及主子结构场输出设置
3.5 主结构分网格
静力通用分析步 Step-1 创建完成后,自动生成场输出选项 F-Output-1,该输出选项可用于主结构部分的场输出设置,而子结构部分需要单独创建场输出 F-Output-2,并按如上图所示的方式设置。如果不单独设置子结构部分的场输出,则在主子结构计算结果文件 (.odb文件) 合并后,绘制应力云图等时,子结构部分为灰色,即没有相关数据,故子结构部分场输出的设置十分必要。
Step 6. Module: Mesh >> 划分网格。
桌面板网格的划分(网格尺寸为5mm)
Step 7. 创建结点集合 MNodes、SNodes 和 BCNodes,以方便后续约束的创建及边界条件的指定。
结点集合MNodes (桌面板下表面与桌腿接触部分的各结点)
结点集合FNode (桌面板上表面中点)
结点集合SNodes (桌腿顶部与桌面接触部分各结点)
结点集合BCNodes (桌腿底部与地面接触部分各结点)
3.6 主子结构约束
Step 8. Module: Interation 创建约束等。
桌腿子结构与桌面主结构间的绑定约束
3.7 施加边界条件
Step 8. Module: Load 施加荷载及设置边界条件。
集中荷载的施加
边界条件的指定
3.8 提交作业分析
Step 9. Module: Job >> 创建名为 desk 的作业并提交计算。
忽略提示
分析完毕后得到 5 个 .odb 文件,即包含桌面板计算结果的 desk.odb 文件,4个桌腿子结构的计算结果文件:desk_1537.odb、desk_1538.odb、desk_1539.odb 和 desk_1540.odb 。四个桌腿 .odb 文件后的四位数字为 Abaqus 随机指定,并没有什么规律。
四、.odb文件的合并
分析完成后直接点击 Job Manager 页面内的 Results,只能查看主结构的计算结果,如下图所示。若想将主子结构的计算结果在一个 odb 文件内查看,需要将 4 个桌腿子结构的 odb 文件合并到桌面板主结构 odb 文件内。
按如下方法可将主子结构的计算结果合并到 1 个.odb文件中:
Step 1. 启动 Abaqus Command 。
Step 2. 修改工作目录为上述 5 个 odb 文件所在的路径。
在 CMD 命令行内输入 CD /D 新工作目录 后,按回车键,即可执行工作目录的修改。例如,将工作目录修改为 D盘内的 test 文件夹下,则需要输入 CD /D D:\test 后,按回车键 。
CD /D D:\test
修改工作路径的另一种方法如下图所示。
Step 3. 在命令行中输入 abaqus substructureCombine baseodb=desk.odb copyodb=desk_1537.odb ,然后按回车键,就会执行将 1 个桌腿的计算结果 (desk_1537.odb) 合并到主结构的计算结果 (desk.odb) 中,最终实现 desk_1537.odb 文件中的内容被写入到 desk.odb 文件中。依次再执行 3 遍该合并命令,即可将全部桌腿的计算结果写入到 desk.odb 文件中。
abaqus substructureCombine baseodb=desk.odb copyodb=desk_1537.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1538.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1539.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1540.odb
若在 odb 文件的合并中,提示如下错误: ‘abaqus’ 不是内部命令或外部命令,也不是可运行程序或批处理文件。如下图所示。这说明 abaqus 不是你电脑中安装的 ABAQUS 版本的可执行程序名称,此时,需要将 abaqus 替换成你电脑中安装的 ABAQUS 版本的可执行程序名称,例如: abq691 等。
已安装的 ABAQUS 可执行程序名称可按如下方式查看: Abaqus CAE 快捷方式 图标 >> 右击 >> 属性 >> 目标(T): ,如下图所示。
由上图可以看到,abq6141 即为本电脑中安装的 16.4-1 版本 ABAQUS 的可执行程序名称,将上述各命令中的 abaqus 替换为 abq6141,即可顺利执行。
abq6141 substructureCombine baseodb=desk.odb copyodb=desk_1537.odbabq6141 substructureCombine baseodb=desk.odb copyodb=desk_1538.odbabq6141 substructureCombine baseodb=desk.odb copyodb=desk_1539.odbabq6141 substructureCombine baseodb=desk.odb copyodb=desk_1540.odb
若该方法仍然报错,那么解决措施详见: cmd运行abaqus 出现‘abaqus’不是内部或外部指令的错误提示 。
本文采用,最麻烦的一种方式解决上述报错。首先,将工作目录切换到 abq614 文件所在的目录下,即执行命令 CD /D F:\software\SIMULIA\Abaqus\Commands。
其次,将 5 个 odb 文件复制到该目录下,即复制到 F:\software\SIMULIA\Abaqus\Commands ,如下图所示。
最后,依次执行如下命令,便可实现主子结构的 odb 文件合并。
abaqus substructureCombine baseodb=desk.odb copyodb=desk_1537.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1538.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1539.odbabaqus substructureCombine baseodb=desk.odb copyodb=desk_1540.odb
odb文件合并命令的顺利执行
odb 文件合并完成后,可利用 Abaqus CAE 打开 desk.odb 文件,即可查看主子结构合并后的各种结果数据,如下图所示,为 Mises 应力云图。
特别注意: 在进行主子结构分析时,若想显示子结构的计算结果,就要单独设置子结构的场输出。
子模型
五、尾声
以上,便是 Abaqus 子结构 分析 的简单介绍。
因篇幅有限,某些内容未做详细介绍,如有疑问,欢迎邮件交流。
Email: liyang@alu.hit.edu.cn 。
仅以此文为我有关子结构部分的计算做一个备忘,同时也为有需要的人多一份参考。
本文仅用于个人学习,除此之外,无其他任何用途。
因个人水平有限,文中难免有所疏漏,还请各位大神不吝批评指正。
胸藏文墨怀若谷,腹有诗书气自华,希望各位都能在知识的 pāo 子里快乐徜徉。
欢迎大家点赞、评论及转载,转载请注明出处!
为我打call,不如为我打款!
最后,祝各位攻城狮们,珍爱生命,保护发际线!
六、参考文献
[1]. 子结构简单例子. 仿真科技论坛. jinchengsimu.
[2]. Abaqus 6.14-1 帮助文档.
[3]. Abaqus输出矩阵:输出总体矩阵、单元体矩阵及使用python生成、读取矩阵文件的简易代码. 姜俊涛.
Abaqus 子结构分析 实例相关推荐
- nCodeDL 分析实例(一)高周疲劳
目 录 Blog Links 一.前言 1.1 问题概述 1.2 交变载荷谱 1.3 单位荷载取值 1.4 材料力学解答 1.5 nCode输入文件/分析流程 二.有限元分析 2.1 模型信息 2.2 ...
- hypermesh与abaqus对比_[转载]Hypermesh和Abaqus的接口分析实例
Hypermesh和Abaqus的接口分析实例(三维接触分析) In this tutorial, you will learn how to: ü Load the Abaqus user prof ...
- 【笔记】ABAQUS弹塑性分析
1. 弹塑性分析的主要问题 1.1 elastic-plastic deform behavior abaqus 默认的塑性表现行为是金属材料经典塑性理论,采用mises屈服面定义各向同性屈服. 一般 ...
- JVM指令分析实例四(数组、switch)
本篇为<JVM指令分析实例>的第四篇,相关实例均使用Oracle JDK 1.8编译,并使用javap生成字节码指令清单. 前几篇传送门: JVM指令分析实例一(常量.局部变量.for循环 ...
- 《简明电路分析》——1.6节简单电路分析实例
本节书摘来自华章社区<简明电路分析>一书中的第1章,第1.6节简单电路分析实例,作者钟洪声 吴 涛 孙利佳,更多章节内容可以访问云栖社区"华章社区"公众号查看 1.6 ...
- flac3d命令流实例大全_ANSYS APDL 疲劳分析实例附命令流
图1为一个角型板,边界条件:底端固定,顶端承受0-30kpa的压力,计算指定位置的疲劳寿命,表1给出了材料的S-N数据:图1给出了疲劳分析模型的几何尺寸. 表1 材料的N-S数据 N 100 200 ...
- c语言条件编译的例子,C语言条件编译分析实例
C语言条件编译分析实例 1.利用#ifdef / #endif 将程序功能模块包括进去,以向某用户提供该功能. 在程序首部定义#define HNLD: #ifdef HNLD include&quo ...
- python爬取天气预报源代码_python抓取天气并分析 实例源码
[实例简介] Python代码抓取获取天气预报信息源码讲解.这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单.这段代码可以获取当地的天气和.任意城市的天气预报, ...
- PHP5异常处理,PHP5异常处理分析实例
PHP5异常处理分析实例 导语:PHP 5 添加了类似于其它语言的异常处理模块.下面的是百分网小编为大家搜集的用实例分析PHP5异常处理实例,希望对你能有所帮助. <?php /** * ■㈠P ...
- MPEG2-PS格式分析实例
一. PS 包头格式 1.PS 包头格式 包起始码字段 pack_start_code 值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA) ...
最新文章
- mysql程序语句范文,SQL语句(MySQL)
- oracle中的rowid--伪列-删除表中的重复内容-实用
- DataTables实现rowspan思路
- EtherCAT伺服驱动器-如何选择硬件开发方案
- 静态和动态include
- logback日志pattern_Logback pattern transactionid 中如何自定义灵活的日志过滤规则
- libsvm——参数优化工具grid.py的使用
- linux文件管理命令详解
- Vue+Vant的组件自定义使用阿里图标库图标
- php数组中随机抽取,PHP 数组中随机抽取一些元素_PHP教程
- 四阶龙格库塔法的基本思想_四阶龙格库塔实验报告
- transform: translateY(-50%)实现垂直居中效果
- elasticsearch搜索推荐系列(二)之 java实现中文转化为拼音与简称
- 不能是underfined.xxx
- sqlserver 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test' 中的标识列插入显式值...
- LabVIEW笔记(一)
- 电容式液晶屏可实现多点触控
- QQ引流脚本,QQ扩列引流脚本实操演示
- 「行业/市场分析」简说
- 求2!+4!+6!+ …… +2n!的和