汽车控制臂的拓扑优化

前言

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

本页讨论

  • 前言
  • 应用描述
  • 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.mzph.cn/news/673901.shtml

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

相关文章

双非本科准备秋招(20.1)—— 并发编程之生产者消费者

生产者消费者 与保护性暂停中的不同,不需要产生结果和消费结果的线程一一对应。 生产者仅负责产生结果数据,不关心数据该如何处理,而消费者专心处理结果数据 JDK 中各种阻塞队列,采用的就是这种模式 代码实现: 首先…

【开源】基于JAVA+Vue+SpringBoot的新能源电池回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户档案模块2.2 电池品类模块2.3 回收机构模块2.4 电池订单模块2.5 客服咨询模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 E-R 图设计 四、系统展示五、核心代码5.1 增改电池类型5.2 查询电池品类5.3 查询电池回…

Excel——合并计算

1.表格的合并计算(单张表格/多个表格) Q:请统计两个表格中各商品的总销量和总销售额,将结果放置在下方任意位置。 A:选择一个需要将合并计算数据放置区域的空白单元格 选择【数据】——【合并计算】,【函…

秘塔科技推出AI搜索产品「秘塔AI搜索」

近日,国内一家人工智能科技公司(秘塔科技)推出了一款AI搜索产品——秘塔AI搜索,能够大幅提升搜索效率,解决日常生活、工作学习等场景中遇到的各类搜索需求。 秘塔AI搜索官网:https://metaso.cn/ 相较于传统…

前端文件下载的多种方式

前端文件下载的多种方式。 前言a标签下载a标签常用属性介绍- target,href,download。 window.location.href下载window.open下载iframe 下载动态生成a标签下载文件url下载文件流下载blob文件流转换常用类型 使用 streamSaver 看实时下载进度 前言 如果我…

B站UP主实时信息获取展示php源码

B站UP主实时数据展示系统 - PHP源码分享 想要实时追踪你心仪的B站UP主的最新动态吗?现在,你可以轻松获取并展示B站UP主的实时数据,包括粉丝数、作品数、头像、播放量等关键信息。 功能亮点: 实时更新:系统通过B站AP…

航芯ACM32G103开发板评测 08 ADC Timer外设测试

航芯ACM32G103开发板评测 08 ADC Timer外设测试 1. 软硬件平台 ACM32G103 Board开发板MDK-ARM Keil 2. 定时器Timer 在一般的MCU芯片中,定时器这个外设资源是非常重要的,一般可以分为SysTick定时器(系统滴答定时器)、常规定时…

CTF秀 ctfshow WEB入门 web1-10 wp精讲

目录 web1_查看源码 web3_抓包 web4-9_目录文件 web10_cookie web1_查看源码 ctrlu 查看源码 web3_抓包 查看源码,无果 抓包,找到flag web4-9_目录文件 GitHub - maurosoria/dirsearch: Web path scanner 下载dirsearch工具扫一下就都出来了 web4-…

以“防方视角”观JS文件信息泄露

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 案例概述02 攻击路径03 防方思路 01 案例概述 这篇文章来自微信公众号“黑白之道”,记录的某师傅从js文件泄露接口信息,未授权获取大量敏感信息以及通过逻辑漏洞登录管理员账…

Vue中路由守卫的详细应用

作为一名web前端开发者,我们肯定经常使用Vue框架来构建我们的项目。而在Vue中,路由是非常重要的一部分,它能够实现页面的跳转和导航,提供更好的用户体验。然而,有时我们需要在路由跳转前或跳转后执行一些特定的逻辑&am…

go语言进阶篇——面向对象(一)

什么是面向对象 在我们设计代码时,比如写一个算法题或者写一个问题结局办法时,我们常常会使用面向过程的方式来书写代码,面向过程主要指的是以解决问题为中心,按照一步步具体的步骤来编写代码或者调用函数,他在问题规…

优化 IT 支出和消除浪费的 8 种主要方法

不懈追求最佳 IT 支出对于任何组织的长期可持续发展和成功都至关重要。在这个技术快速进步的时代,您必须做出明智的决策,消除浪费,同时最大限度地提高技术投资的价值。 从进行 IT 成本分析到采用敏捷预算和技术标准化,这些策略对…

双非本科准备秋招(19.1)—— Synchronized优化

轻量级锁 流程 一个对象虽然有多线程加锁,但是加锁时间是错开的,那么可以用轻量级锁优化。 语法还是synchronized,只是对使用者是透明的。 static final Object obj new Object(); public static void method1() {synchronized( obj ) {//…

(力扣)1314.矩阵区域和

给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c < j k 且(r, c) 在矩阵内。 示例 1&#xff1a; 输入&a…

【Godot4.2】文件系统自定义控件 - FileSystemTree

FileSystemTree B站【Godot4.2】文件系统自定义节点 - FileSystemTree 概述 在Godot设计编辑器插件或应用程序时&#xff0c;可能需要涉及文件系统的显示&#xff0c;比如文件夹或文件的树形列表。 我们可以用Godot的Tree控件快速书写相应的功能&#xff0c;但是为了复用到…

Wireshark不显示Thrift协议

使用Wireshark对thrift协议进行抓包&#xff0c;但是只显示了传输层的tcp协议&#xff1a; "右键" -> "Decode As" 选择thrift的tcp端口 将“当前”修改为Thrift&#xff0c;然后点击“确定” 设置后&#xff0c;可以发现Wireshark里面显示的协议从Tcp变…

H12-821_74

74.在某路由器上查看LSP&#xff0c;看到如下结果&#xff1a; A.发送目标地址为3.3.3.3的数据包时&#xff0c;打上标签1026&#xff0c;然后发送。 B.发送目标地址为4.4.4.4的数据包时&#xff0c;不打标签直接发送。 C.当路由器收到标签为1024的数据包&#xff0c;将把标签…

波纹扩散效果

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>波纹扩散</title><style>body {disp…

『运维备忘录』之 Kubernetes(K8S) 常用命令速查

一、简介 kubernetes&#xff0c;简称K8s&#xff0c;是用8代替名字中间的8个字符“ubernete”而成的缩写&#xff0c;是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用。kubernetes是基于容器技术的分布式架构解决方案&#xff0c;具有完备的集群管理能力&a…

mysql入门到精通005-基础篇-约束

1、概述 1.1 概念 约束是作用于表中字段上的规则&#xff0c;用于限制储存在表中的数据。 1.2 目的 保证数据库中数据的正确性、有效性和完整性。 1.3 常见的约束分类 一旦谈到外键&#xff0c;则至少涉及2张表约束是作用于表中字段上的&#xff0c;可以在创建表/修改表的…