常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。
常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。
将上述数值计算方法与拓扑优化方法结合,就会形成各种各样的拓扑优化方法。比较成熟的,现有拓扑优化商业软件中广泛采用的是基于有限元法的拓扑优化,学术上比较热门的是基于等几何分析的拓扑优化。本博客介绍的是基于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,可通过该工具进行一系列的设计结果解读。
后续会通过官方案例或者实例进行详细介绍。