当前位置: 首页 > news >正文

[拓扑优化] 1.概述

常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。

常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。

将上述数值计算方法与拓扑优化方法结合,就会形成各种各样的拓扑优化方法。比较成熟的,现有拓扑优化商业软件中广泛采用的是基于有限元法的拓扑优化,学术上比较热门的是基于等几何分析的拓扑优化。本博客介绍的是基于OptiStruct软件的拓扑优化技术,所以重点介绍基于有限元法的拓扑优化。

1. 优化三要素

设计变量、约束和优化目标

在OptiStruct中约束和优化目标都来自于响应。关系如下:

2. 使用OptiStruct进行拓扑优化的流程

 1). 设置可运行的 OptiStruct 分析模型

  • a) 建立模型
  • b) 定义载荷步
  • c) 使用 OptiStruct 进行分析
  • d) 后处理并检查分析结果

2). 优化设置的定义

  • a) 如果有必要,则需要划分设计和非设计空间
  • b) 定义设计变量 (从而确定优化学科)
  • c) 定义响应
  • d) 如果有必要,则定义约束
  • e) 定义优化的目标

3). 使用 OptiStruct 运行优化计算

4). 后处理,检查输出并解释优化的结果

5). 如有必要,改变设置,将结果进行重新分析和/或创建 CAD 数据。

 3. 设计变量可能会包含的制造约束

  • Minimum member size -最小成员尺寸 控制拓扑优化设计结果所保留部分的最小尺寸。控制棋盘格现象和离散程度。
  • Maximum member size -最大成员尺寸 指定拓扑优化设计结果所允许的最大尺寸。此约束可以阻止结果中生成大块的或大量的材料聚集,而强制生成更离散的结果。
  • Draw direction –拔模方向 可以应用该约束来获得适合于铸造的设计。在该工艺中,在模具进出的方向或拔模方向有材料阻挡,则无法进行加工。
  • Extrusion –挤压约束 可以应用该约束来获得实体模型的不变的横截面设计-无论初始网格,边界条件或载荷如何。
  • Pattern grouping –模式组 允许定义单个区域被设计为某一特定的模式,例如,即使施加在结构上的载荷不对称,也可实施对称设计。
  • Pattern repetition –模式重复 一种使不同结构链接在一起,以产生类似的拓扑构型的技术。

 4. 常见的拓扑优化问题设置

  • 最小化 (加权/总体/区域) 柔度——使用(总体/区域)体积或质量分数约束
  • 最小化 (总体/区域)体积或质量分数——使用位移约束
  • 最大化 (加权) 频率——使用(总体/区域)体积或质量分数约束
  • 最小化 (总体/区域)体积或质量分数——使用频率约束
  • 最小化柔度和频率——使用(总体/区域)体积或质量分数约束
  • 最小化 (总体/区域)体积或质量分数——使用应力约束

 5. 拓扑优化结果的设计解读

对于拓扑优化结果的后处理或结果解释,第一步都是找到合适的密度阈值。

   • 密度小于此值的单元(或者说体积)将不被考虑用于新设计,其他所有单元都会被考虑。

   • 对于拓扑优化,通常取阈值在0.3到0.4之间。

   • 查看不同密度阈值选择的结果

      • 在HyperView中查看设计结果(推荐)

         • 创建单元密度的iso-surface图和contour图(_dens.h3d file)

      • 在HyperMesh中查看设计结果

         • 在HyperMesh中运行 tcl 文件 .HM.ent.tcl ,以创建用于不同密度范围的sets

         • 在HyperMesh中运行 tcl 文件 .HM.comp.tcl ,以创建不同密度范围的components

   • HyperMesh提供了OSSmooth,可通过该工具进行一系列的设计结果解读。

后续会通过官方案例或者实例进行详细介绍。 

http://www.dtcms.com/a/240421.html

相关文章:

  • mcts蒙特卡洛模拟树思想
  • 抽象类和接口(全)
  • 土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
  • 学习记录之nestjs---基本认识
  • QT开发技术【ffmpeg EVideo录屏软件 一】
  • vue+cesium示例:3D热力图(附源码下载)
  • pkg-config --cflags --libs opencv4详细解释
  • LangGraph基础知识(Graph-GraphState)
  • Ansible 错误处理:确保高效自动化
  • 大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
  • 河南建筑安全员C证考试常见题及答案解析
  • MyBatis中关于缓存的理解
  • stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
  • 门静脉高压——检查
  • FreeRTOS学习01_移植FreeRTOS到STM32(图文详解)
  • 从0到1构建我的AI星逻系统: LLM智能控制 + Streamlit前端实战
  • Netty
  • 简繁体智能翻译软件
  • ThreadLocal 源码
  • 7种分类数据编码技术详解:从原理到实战
  • 学习日记-day25-6.9
  • ArcGIS应用与FLUS模型预测:从安装到土地利用建模,数据管理、地图制作、遥感解译、空间分析、地形分析及案例分析攻略
  • 篇章二 论坛系统——系统设计
  • 【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space
  • 监控升级:可视化如何让每一个细节 “说话”
  • 智能外呼系统的对于企业的优势
  • Python开发环境安装
  • python基础语法Ⅰ
  • A. Greedy Monocarp
  • 详解什么是One-Hot Encoding (独热编码)