换档控制支架的尺寸优化

前言

本示例使用优化模块,通过在保持原始重量的同时改变壳体厚度,使冲压钣金支架中的应变能之和最小化(使刚度最大化)。

本页讨论

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


应用描述

本示例说明了汽车变速箱连杆中使用的冲压钣金支架的尺寸优化,尺寸优化修改了设计区域中壳体单元的厚度,以实现优化的解决方案。本例说明了壳体厚度的自由优化,不考虑相邻单元的厚度,和迫使选定区域中的元件具有相同的外壳厚度的集群优化。

  1. 几何形状
    冲压钣金支架是单个孤立网格部件,该零件使用通用常规壳体(主要是S4)单元划分网格。初始壳体厚度为1.0 mm。
  2. 材料
    支架由弹性材料制成,其杨氏模量为206GPa,泊松比为0.3,密度为7840kg/m3。
  3. 边界条件和荷载
    边界条件和荷载如图1所示。在初始分析步中,四个安装孔在所有方向上都受到约束。在第一个线性扰动分析步中,在孔上沿x方向施加−2500 N的载荷,在第二线性扰动分析步中,在孔上围绕x轴施加80000Nmm的扭矩。
    图1. 设计区域、荷载和边界条件
  4. 优化特征
    尺寸优化的配置如以下各节所述。
  • 优化任务
    本例创建了一个尺寸优化任务。
  • 设计区域
    模型的设计区域是在优化过程中要修改的区域,如图1所示。
  • 设计响应
    每个分析步中设计区域内的柔度或应变能作为设计响应,第三设计响应为设计区域的体积。
  • 目标函数
    目标函数试图最小化两个线性扰动分析步中的最大柔度。柔度是刚度的倒数,最小化柔度相当于最大化全局刚度。
  • 约束条件
    壳厚度被限制在0.1和3.0的绝对值之间。此外,体积受到约束,使得支架的总体积小于等于原始体积。
  • 几何限制
    该示例在设计区域中引入了相同厚度的壳单元的簇环。实际上,簇在您正在优化的钣金结构中生成加强筋或加强环;簇区域可以通过固定厚度的钣金叠板来加工。

Abaqus建模方法和仿真技术

此示例以孤立网格的形式从输入文件导入模型。输入文件包含单元集合,这些单元集合定义了优化所使用的模型区域,例如设计区域。该示例创建了一个你可以提交分析的优化进程。

  • 分析类型
    分析包括两个静态,摄动分析步。
  • 约束条件
    使用运动耦合将孔的中心点和孔的边缘节点连接起来。
  • 运行过程
    包含了一个Python脚本,该脚本使用Abaqus/CAE中的Abaqus脚本接口再现模型。Python脚本(holder_sizing_optimization.py)导入输入文件(holder.inp)并构建优化模型。第二个Python脚本(holder_zing_optimization_w_clustering.py)执行相同的优化,但在设计区域引入了外壳厚度集群。Python脚本可以交互运行,也可以从命令行运行。脚本和输入文件都必须可以从您的工作目录中获得。
    要运行优化,您可以从作业模块中的优化进程管理器提交优化进程。您可以使用优化进程管理器来监控优化的进展,此外,当优化过程完成时,您可以使用优化过程管理器将优化的输出合并为一个输出数据库文件,该文件可以在可视化模块中查看。
  • 结果与讨论
    对于自由优化,优化进程运行了15个设计循环,对于簇优化,运行了13个设计循环。在每个设计循环中,优化结果都保存在优化文件中。此外,Abaqus分析结果在初始设计循环和最后一个设计循环期间保存在输出数据库文件中。要在可视化模块中查看优化结果,必须将优化文件中的优化数据与输出数据库文件中的分析结果相结合。在初始设计循环期间创建的输出数据库文件被选择为基本结果输出数据库文件。在合并操作期间,来自每个设计循环的优化数据和来自上一个设计循环的分析结果被附加到基本结果输出数据库文件中。合并输出数据库文件的每一帧对应于优化的一个设计周期。有关优化过程生成的文件及其合并方式的更多信息,请参阅了解优化过程生成文件和优化后处理。
    图2显示了在任何优化之前第二步结束时的初始位移大小,
    图2. 优化前的位移大小
    图3和图4分别显示了自由尺寸优化后的壳体厚度值和位移大小。
    图3. 自由优化后的壳体厚度绝对值
    图4. 自由优化后的位移大小
    图5和图6分别显示了在设计区域中使用聚类进行尺寸优化后,壳体厚度值和位移大小。
    图5. 聚类优化后的壳体厚度绝对值
    图6. 聚类优化后的位移大小
    优化后,在施加载荷和力矩的设计区域末端,壳体厚度增加。外壳的厚度也在靠近安装孔处增加。为了保持臂的体积,在设计区域的其余部分减小了壳体厚度。正如预期的那样,自由尺寸优化产生了最佳结果,最大位移减少了45%。在设计区域中使用圆形聚类进行优化,可以通过将金属片焊接在一起来制造,仍然可以将最大位移减少30%。

文件

holder_sizing_optimization.py
使用holder.inp创建模型和优化属性的脚本。
holder_sizing_optimization_w_clustering.py
使用holder.inp创建模型和优化属性,包括外壳厚度聚类的脚本。
holder.inp
孤立网格换档控制支架以及优化所使用的节点和单元集。

参考

Svanberg, K., The Method of Moving Asymptotes—A New Method for Structural Optimization International Journal for Numerical Methods in Engineering, vol. 24, pp. 359–373, 1987.

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

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

相关文章

亿道丨三防平板pad丨三防平板是指哪三防丨三防工业级平板电脑

三防工业级平板电脑成为许多行业中的重要工具。本文将介绍三防工业级平板电脑的特点以及其在各个领域中的广泛应用。 三防工业级平板电脑的特点 三防工业级平板电脑是指具备防水、防尘和防震功能的平板电脑。这些特点使得它们能够在恶劣环境中工作,如沙尘飞扬的工地…

sockaddr结构体、sockaddr_in结构体和gethostbyname函数

sockaddr结构体 sockaddr结构体是在网络编程中经常使用的一个数据结构,用来表示套接字地址。它是一个通用的地址结构,可以用于不同的协议(如IPv4、IPv6、UNIX等)。 在C语言中,sockaddr结构体定义如下: s…

交换两个整数

交换两个整数 题目描述:解法思路:解法代码:运行结果: 题目描述: 写⼀个函数Swap,可以交换两个整数的内容。注意必须实现成函数完成。 输入2个整数,调用自定义函数Swap,完成2个整数的…

【HarmonyOS】鸿蒙开发之Stage模型-基本概念——第4.1章

Stage模型-基本概念 名词解释 AbilityStage:应用组件的“舞台“ UIAbility:包含UI界面的应用组件,是系统调度的基本单元 WindowStage:组件内窗口的“舞台“ Window:用来绘制UI页面的窗口 HAP:Harmony Ability Package(鸿蒙能力类型的包) HSP:Harmony Sh…

C++17之折叠表达式

相关文章系列 深入理解可变参数(va_list、std::initializer_list和可变参数模版) 目录 1.介绍 2.应用 2.1.使用折叠表达式 2.2.支持的运算符 2.3.使用折叠处理类型 3.总结 1.介绍 折叠表达式是C17新引进的语法特性。使用折叠表达式可以简化对C11中引入的参数包的处理&…

合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言 前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。 一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而&…

LeetCode第七题: 整数反转

题目描述 给你一个 32 位的有符号整数 x​ ,返回将 x​ 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1]​ ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 …

铭瑄科技——为星闪技术发展与应用带来新推力

随着智能化生活逐渐普及,无线通信不仅是不仅是信息时代的重要基础设施,而且是推动社会向智能化发展的核心力量之一,其中短距无线通信更是推动未来智能化发展的关键。 为积极推动未来硬件智能化、产业智能化发展,铭瑄正式宣布成为星…

黑马头条-day10

文章目录 app端文章搜索1、文章搜索1.1 ElasticSearch环境搭建1.2 索引库创建①需求分析②ES导入数据场景分析③创建索引和映射 1.3 索引数据同步①app文章历史数据导入ES②文章实时数据导入ES 1.4 文章搜索多条件复合查询①关键词搜索②搜索接口定义 2、搜索历史记录2.1 需求说…

积分商城管理系统的设计与实现

积分商城管理系统的设计与实现 获取源码——》公主号:计算机专业毕设大全

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组,为啥不能遍历对象,就是for…of会调用迭代器,而数组是内置了迭代器了,而对象没有内置,所以直接使用for…of遍历对象会报错,因此只用在对象的原型上面自定义…

YOLO算法改进Backbone系列之:EfficientViT

EfficientViT: Memory Effificient Vision Transformer with Cascaded Group Attention 摘要:视觉transformer由于其高模型能力而取得了巨大的成功。然而,它们卓越的性能伴随着沉重的计算成本,这使得它们不适合实时应用。在这篇论文中&#x…

一般情况下,硬件中使用Repeating Sequence出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的

一般情况下,出现波形很奇怪就是数据的周期频率和mcu运行的频率不一致导致的 把timer values 修改为0 1就好了,如果是0,0.1就不行,不会有下面的波形

YOLOv9中的“RepNCSPELAN4”结构!

RepNCSPELAN4结构出炉啦,收藏起来写论文用! 1.代码: 代码路径:yolov9-main->models->common.py,代码如下: class RepNCSPELAN4(nn.Module):# csp-elandef __init__(self, c1, c2, c3, c4, c51): # …

使用EFCore连接SQLite

简介 在使用EFCore连接SQLite之前我们先来了解一下SQLite SQLite是一个轻量级、自包含、无服务器、零配置的事务性SQL数据库引擎,它支持SQL92标准的大多数查询语言并兼容ACID事务。具体如下: 轻量级:SQLite非常轻巧,它的库体积…

UE5 C++ Gas开发 学习记录(三)

添加AuraPlayerState,AuraAbilitySystemComponentBase和AuraAttributeSet 在Build.cs里添加 // Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyGas : ModuleRules { public MyGas(ReadOnlyTargetRules Target) : base(Target) { P…

leetcode hot100打家劫舍三

本题是打家劫舍的变形,数据结构是树形。涉及到树的题目一定要想清楚树的遍历顺序(前中后序)。之后再考虑利用动态规划来解决。 动态规划是一直记录状态,我们可以根据动态规划的数组来记录变化的状态,最终求的自己想要…

Python字符串访问与拼接你搞懂了吗?

使用下标访问字符串,从0开始计数,-1表示最后一个字符。三种遍历字符串的方法:for循环、len()和enumerate()。字符串拼接只能是字符串之间使用,不能与数字拼接。 1.下标访问字符串 通过下标访问字符串的内容,下标从 0 …

Shell脚本介绍及脚本功能

文章目录 一、什么是shell二、hello word2.1 echo2.2第一个脚本 三、Bash的基本功能3.1别名3.2常用快捷键3.3输入输出3.4 输出重定向3.5 多命令执行3.6 管道符3.7 通配符和特殊符号 一、什么是shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。S…

视频号视频下载教程:如何把微信视频号的视频下载下来

视频号下载相信不少人都多少有一些了解,但今天我们就来细说一下关于视频号视频下载的相关疑问,以及大家经常会问到底如何把微信视频号的视频下载下来? 视频号视频下载教程 视频号链接提取器详细使用指南,教你轻松下载号视频&…