汽车控制臂的拓扑优化

前言

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

本页讨论

  • 前言
  • 应用描述
  • 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 查询电池回…

MySQL之密码策略和用户授权

华子目录 密码策略查看数据库当前的密码策略密码策略详解caching_sha2_password_auto_generate_rsa_keyscaching_sha2_password_digest_roundscaching_sha2_password_private_key_pathcaching_sha2_password_public_key_pathdefault_password_lifetimedisconnect_on_expired_pa…

Java学习笔记2024/2/7

练习四:复制数组 需求: 把一个数组中的元素复制到另一个新数组中去。 package com.angus.comprehensiveExercise; ​ public class test4 {public static void main(String[] args) {//需求:// 把一个数组中的元素复制到另一个新数组中去…

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…

OpenCV识别视频中物体运动并截取保存

功能很简单:输入原始视频,输出视频中有画面变化的部分 适合理解基本框架,可以在这个基础上增加各种酷炫时髦的功能 [doge] ※注释非常保姆级※ import cv2 import numpy as np import os from datetime import datetime# 检测两帧之间变化…

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

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

【洛谷 P1143】进制转换 题解(数学+除基取余法)

进制转换 题目描述 请你编一程序实现两种不同进制之间的数据转换。 输入格式 共三行,第一行是一个正整数,表示需要转换的数的进制 n ( 2 ≤ n ≤ 16 ) n\ (2\le n\le 16) n (2≤n≤16),第二行是一个 n n n 进制数,若 n >…

【Django-ninja】在django ninja中处理异常

1. 直接抛内置异常 Django ninja内置了一些常用异常类。 from ninja.errors import HttpErrorapi.get("/some/resource") def some_operation(request):if True:raise HttpError(503, "Service Unavailable. Please retry later.")2. 覆写异常类 可以覆…

代码随想录算法训练营29期Day43|LeetCode 1049,494,474

文档讲解:最后一块石头的重量II 目标和 一和零 1049.最后一块石头的重量II 题目链接:https://leetcode.cn/problems/last-stone-weight-ii/description/ 思路: 本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最…

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文件泄露接口信息,未授权获取大量敏感信息以及通过逻辑漏洞登录管理员账…

邦芒解析:跳槽到管理职位须分析的四点

如果跳槽到一般的管理职位,需要应聘者至少进行四方面的分析: ​一、自己实际的背景。包括应聘者所从事的行业、专业是什么?实际工作年限是多少、积攒了什么样的经验、已取得的业绩等; ​二、自己真实的能力。除了有好的业绩…

chagpt的原理详解

GPT(Generative Pre-trained Transformer)是一种基于Transformer架构的生成式预训练模型。GPT-3是其中的第三代,由OpenAI开发。下面是GPT的基本原理: Transformer架构: GPT基于Transformer架构,该架构由Att…

Vue中路由守卫的详细应用

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

C语言中的条件编译:探索编译时的决策

在C语言中,条件编译是一种特殊的编译技术,它允许开发者在编译时根据特定的条件选择性地包含或排除代码片段。这种技术非常有用,特别是当你想针对不同的平台、操作系统或配置编译不同的代码时。 在C语言中,条件编译主要通过预处理…

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

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