汽车控制臂的拓扑优化

前言

本示例使用优化模块通过减小控制臂的体积同时最大化其刚度来优化汽车控制臂的设计。

本页讨论

  • 前言
  • 应用描述
  • Abaqus建模方法和仿真技术
    • 文件
    • 参考


应用描述

本例说明了汽车控制臂的拓扑优化,在拓扑优化过程中,修改设计区域中单元的材料特性(有效地从Abaqus分析中删除元素或向其添加元素),直到获得最佳解决方案。

  1. 几何形状
    控制臂模型是一个用二次四面体(C3D10)单元进行网格划分的单个孤立网格零件,控制臂关于X–Y平面对称,并且只研究了模型的一半。

  2. 材料
    控制臂由杨氏模量为210GPa、泊松比为0.3的弹性材料制成。

  3. 边界条件和荷载
    模型的中心被约束为关于Y–Z平面对称,控制臂的左上端和右上端在设计区域之外,并且在所有三个平移自由度上都是固定的,下轴承中心也在设计区域之外,其平移沿z方向受到约束。
    下轴承的中心节点承受x方向70000 N和y方向−70000 N的集中力。

  4. 优化特征
    拓扑优化的配置如以下各节所述。

  • 优化任务
    本例创建了一个拓扑优化任务,该任务使用你基于条件的优化算法。

  • 设计区域
    模型的设计区域是在优化过程中要修改的区域,如图1所示。某些区域被排除在设计区域之外,因为它们是固定和施加载荷所必需的。排除在设计区域之外的单元材料属性保持不变。
    图1 设计区域和脱模控制区域

  • 设计响应
    一个设计响应为设计区域中所有单元的应变能总和,第二设计响应为设计区域的体积。

  • 目标函数
    目标函数定义优化的目标,在这个例子中,单个目标函数试图最小化设计区域的应变能之和。由于柔度被定义为应变能的总和,刚度是柔量的倒数,目标函数等效于最大化设计区域的刚度。

  • 约束条件
    优化约束限制了优化过程中对模型的拓扑结构进行更改。约束条件必须允许优化达到既可行又可接受的解决方案。在本例中,创建了一个单独的约束,该约束指定优化模型应包含原始控制臂初始体积的57%。

  • 几何限制
    可以应用几何限制来进一步约束拓扑优化过程,使其仅考虑可以使用普通技术(如铸造或锻造)制造的设计。控制臂是通过锻造制造的,图1中所示的脱模控制几何限制确保了拓扑优化形成的结构可以从锻造模具中脱模,并且不包含底切。该示例还引入了冻结区域几何限制,以限制从结构上臂移除材料,如图2所示。
    图2 冻结区域几何限制

Abaqus建模方法和仿真技术

此示例以孤立网格的形式从输入文件导入模型。输入文件包含单元集合,这些单元集合定义了优化所使用的模型区域,例如设计区域和冻结区域。该示例创建了一个具有17个设计循环的全局停止标准的优化过程。

  • 分析类型
    进行静态应力分析。
  • 约束条件
    中心节点通过运动耦合连接到支撑表面。
  • 运行过程
    包含了一个Python脚本,该脚本使用Abaqus/CAE中的Abaqus脚本接口再现模型。Python脚本(control_arm_topology_optimization.py)导入输入文件(control_arm.inp)并构建优化模型。Python脚本可以交互运行,也可以从命令行运行。脚本和输入文件都必须可以从您的工作目录中获得。
    脚本完成后,您可以使用优化模块来查看在Abaqus/CAE中创建的拓扑优化模型。要运行优化,您可以从作业模块中的优化进程管理器提交优化进程。您可以使用优化进程管理器来监控优化的进展,并在可视化模块中查看拓扑优化的结果。
  • 结果与讨论
    结果可以从优化过程创建的输出数据库文件中获得。分析步包含了与优化进程中14个设计循环相对应的14次优化迭代。图3显示了14个设计循环内应变能和体积设计响应的历史输出图。控制臂被优化,使得在满足指定目标体积的同时实现最大刚度。尽管随着控制臂体积的减小,应变能设计响应增加(总刚度降低),但优化设计实现的拓扑结构仅为初始体积的57%。
    图3 设计响应(应变能和体积)
    图4显示了拓扑优化如何在寻求优化解决方案的同时逐步从控制臂中去除材料。
    图4 拓扑优化的进展

文件

control_arm_topology_optimization.py
Python脚本从输入文件导入孤立网格并创建拓扑优化。
control_arm.inp
创建孤立网格控制臂和优化所使用的单元集合的输入文件。

参考

Bendsøe, M. P., E. Lund, N. Ohloff, and O. Sigmund, “Topology Optimization - Broadening the Areas of Application,” Control and Cybernetics, vol. 34, pp. 7–35, 2005.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第62讲商品搜索动态实现以及性能优化

商品搜索后端动态获取数据 后端动态获取数据&#xff1a; /*** 商品搜索* param q* return*/GetMapping("/search")public R search(String q){List<Product> productList productService.list(new QueryWrapper<Product>().like("name", q)…

四.Linux实用操作 8-11.网络请求和下载.端口进程管理主机状态监控

目录 四.Linux实用操作 8.网络请求和下载 ping命令 wget命令--下载网络文件 curl命令--发送网络请求/下载文件 四.Linux实用操作 9.端口 端口 端口&#xff08;虚拟&#xff09; 端口&#xff08;号&#xff09; 查看端口占用 四.Linux实用操作 10.进程管理 查看进程…

位运算01 插入[C++]

图源&#xff1a;文心一言 上机题目练习整理&#xff0c;位运算&#xff0c;供小伙伴们参考~&#x1f95d;&#x1f95d; 网页版目录在页面的右上角↗~&#x1f95d;&#x1f95d; 第1版&#xff1a;在力扣新手村刷题的记录~&#x1f9e9;&#x1f9e9; 编辑&#xff1a;梅…

C语言特殊指针

1 野指针 概念&#xff1a;指向一块未知区域的指针&#xff0c;被称为野指针。野指针是危险的。 危害&#xff1a; 引用野指针&#xff0c;相当于访问了非法的内存&#xff0c;常常会导致段错误&#xff08;segmentation fault&#xff09;引用野指针&#xff0c;可能会破坏系…

恒流源方案对比

1、双运放恒流源 2、运放三极管放大电路组成的恒流源 5A 3、运放三极管组成的恒流源 200uA 4、运放MOS管组成的恒流源 100mA 5、电源模块并联输出100A恒流

百面嵌入式专栏(面试题)C语言面试题22道

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍C语言相关面试题 。 宏定义是在编译的哪个阶段被处理的?答案:宏定义是在编译预处理阶段被处理的。 解读:编译预处理:头文件包含、宏替换、条件编译、去除注释、添加行号。 写一个“标准”宏MIN,这个…

极限的反问题【高数笔记】

1. 什么是极限反问题&#xff1f; 2. 极限反问题分为几类&#xff1f; 3. 每一类极限反问题的具体做法是什么&#xff1f; 4. 每一类极限反问题具体做法是否有前提条件&#xff1f; 5. 例题&#xff1f;

CDN相关和HTTP代理

CDN相关和HTTP代理 参考&#xff1a; 《透视 HTTP 协议》——chrono 把这两个放在一起是因为容易搞混&#xff0c;我一开始总以为CDN就是HTTP代理&#xff0c;但是看了极客时间里透视HTTP协议的讲解&#xff0c;感觉又不仅于此&#xff0c;于是专门写下来。 先说结论&#xf…

数据结构:双向链表

文章目录 1. 双向带头循环链表的结构2. 相关操作2.1 创建节点2.2 尾插2.3 头插2.4 打印2.5 尾删2.6 头删2.7 查找2.8 指定位置前/后插入2.9 删除指定位置的节点2.10 删除指定位置后的节点2.11 销毁链表 3.顺序表与链表区别 1. 双向带头循环链表的结构 与单链表不同的是&#xf…

javaEE - 24( 20000 字 Servlet 入门 -2 )

一&#xff1a; Servlet API 详解 1.1 HttpServletResponse Servlet 中的 doXXX 方法的目的就是根据请求计算得到相应, 然后把响应的数据设置到HttpServletResponse 对象中. 然后 Tomcat 就会把这个 HttpServletResponse 对象按照 HTTP 协议的格式, 转成一个字符串, 并通过S…

JVS物联网、低代码、规则引擎2.5功能新增说明

物联网更新功能 新增: 1、新增离线存储-页面配置及指令下发对接&#xff1b; 用户可以对平台的页面进行自定义配置&#xff0c;通过平台&#xff0c;可以将指令下发给与之相连的设备或系统&#xff0c;这些指令可以是控制指令、配置指令或其他类型的指令。 2、新增数据压缩-…

diffusers单机多卡推理(全网首发)

起因 博主在部署InstantID项目时&#xff0c;显存不够&#xff0c;想要将模型分散在多张卡上。 翻到这篇发现是分布式推理&#xff0c;博主一直以为这个可以达到我想要的效果&#xff0c;但是效果是多线程并行推理&#xff0c;并不能将一个模型切片在多个GPU上。 Distributed …