2第二讲-拓扑优化.ppt

上传人:飞****9 文档编号:133850429 上传时间:2020-05-31 格式:PPT 页数:44 大小:220.51KB
返回 下载 相关 举报
2第二讲-拓扑优化.ppt_第1页
第1页 / 共44页
2第二讲-拓扑优化.ppt_第2页
第2页 / 共44页
2第二讲-拓扑优化.ppt_第3页
第3页 / 共44页
2第二讲-拓扑优化.ppt_第4页
第4页 / 共44页
2第二讲-拓扑优化.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《2第二讲-拓扑优化.ppt》由会员分享,可在线阅读,更多相关《2第二讲-拓扑优化.ppt(44页珍藏版)》请在金锄头文库上搜索。

1、第二讲 拓扑优化 什么是拓扑优化 拓扑优化是指形状优化 有时也称为外型优化 目标是寻找承受单载荷或多载荷的物体的最佳材料分配方案 从而寻求材料的最佳利用 这种方案在拓扑优化中表现为 最大刚度 设计 体积减少60 的拓扑优化示例 拓扑优化的特点 与传统的优化设计不同的是 拓扑优化不需要给出参数和优化变量的定义 目标函数 状态变量和设计变量都是预定义好的 不需要给出优化参数的显式定义 只需要给出结构的参数 材料特性 模型 载荷等 和要省去的材料百分比 拓扑优化的目标 目标函数 是在满足结构的约束 V 情况下减少结构的变形能 减少变形能 提高结构刚度 设计变量 i 单元赋予内部伪密度 如何做拓扑优化

2、 拓扑优化包括如下主要步骤 1 定义拓扑优化问题 2 选择单元类型 3 指定要优化和不优化的区域 4 定义和控制载荷工况 5 定义和控制优化过程 6 查看结果 定义拓扑优化问题 定义拓扑优化问题同定义其他线性 弹性结构问题做法一样 用户需要定义材料特性 杨氏模量和泊松比 选择合适的单元类型生成有限元模型 施加载荷和边界条件做单载荷步或多载荷步分析 选择单元类型 拓扑优化功能可以使用二维平面单元 三维块单元和壳单元 要使用这个功能 模型中只能有下列单元类型 二维实体单元 SOLID2和SOLID82三维实体单元 SOLID92和SOLID95壳单元 SHELL93二维单元用于平面应力问题 指定要

3、优化和不优化的区域 只有单元类型号为1的单元才能做拓扑优化 可以使用这种限制控制模型优化和不优化的部分 例如 如果要保留接近圆孔部分或支架部分的材料 将这部分单元类型号指定为2或更大即可 ET 1 SOLID92ET 2 SOLID92 TYPE 1VSEL S NUM 1 2 用这些单元划分的实体将被优化VMESH ALLTYPE 2VSEL S NUM 3 用这些单元划分的实体将保持原状VMESH ALL 定义和控制载荷工况 可以在单个载荷工况和多个载荷工况下做拓扑优化 单载荷工况是最简便的 要在几个独立的载荷工况中得到优化结果时 必须用到写载荷工况和求解功能 在定义完每个载荷工况后 要用

4、LSWRITE命令将数据写入文件 然后用LSSOLVE命令求解载荷工况的集合 例如 下面的输入演示如何将三个载荷工况联合做一个静力分析拓扑优化分析 LSWRITE 1 写第一个载荷工况DDEL SFDEL LSWRITE 2 写第二个载荷工况 LSWRITE 3 写第三个载荷工况 FINISHTOCOMP MCOMP MULTIPLE 3 定义多柔度函数TOVAR MCOMP OBJ 拓扑优化目标TOVAR VOLUME CON 10 拓扑约束TODEF 初始化拓扑优化LSSOLVE 1 3 1 在拓扑优化前做所有三个载荷工况求解 定义和控制优化过程 拓扑优化过程包括两部分 定义优化参数和进行

5、拓扑优化 两种方式运行拓扑优化 控制并执行每一次迭代 或自动进行多次迭代 a 定义优化函数TOCOMP TOFREQb 定义目标函数和约束条件 TOVARc 求解和优化过程初始化TOTYPE TODEFd 执行优化TOEXE TOPITER 查看结果 要列出结点解和 或绘出伪密度 使用PRNSOL和PLNSOL命令的TOPO变量 要列出单元解和 或绘出伪密度 使用PLESOL和PRESOL命令的TOPO变量 可以使用ANSYS表格功能查看结果 ETABLE EDENS TOPO 实例 图2 2表示一个承载的弹性梁 梁两端固定 承受两个载荷工况 梁的一个面是用一号单元划分的 用于拓扑优化 另一个

6、面是用二号单元划分的 不作优化 最后的形状是单元1的体积减少50 1 建立模型 TITLE TOPOOPTIMIZATION PREP7BLC4 0 0 3 1ET 1 82ET 2 82MP EX 1 118E9MP NUXY 1 0 3ESIZE 0 05TYPE 1AMESH ALLNSEL S LOC X 0 0 4ESLNTYPE 2EMODI ALLALLSEL NSEL S LOC X 0D ALL ALL 0NSEL S LOC X 3D ALL ALL 0FORCE 1000NSEL S LOC X 1NSEL R LOC Y 1F ALL FY FORCEALLSELLSW

7、RITE 1FDEL ALLNSEL S LOC X 2NSEL R LOC Y 0F ALL FY FORCEALLSELLSWRITE 2FDEL ALL 2 定义优化变量和过程 TOCOMP MCOMP MULTIPLE 2 定义多柔度函数TOVAR MCOMP OBJ 将其设为优化目标TOVAR VOLUME CON 50 体积为拓扑约束 50 TOTYPE OC 指定求解方法TODEF 指定收敛精度 SHOW topo grph 将图形结果存入文件 DSCALE OFF 取消结果变形放大 CONTOUR 2 等高线的数目TOLOOP 12 1 求解 不多于12次迭代FINISH 查看

8、结果 TOGRAPH OBJ 绘制目标柔度的历史TOGRAPH CON 绘制体积的历史TOPRINT OBJ 打印柔度的历史TOPRINT CON 打印体积的历史 GET TITER TOPO ITER 得到迭代次数 GET COMP TOPO TITER 1 TOHO 得到最后柔度值 一些说明 结果对载荷情况十分敏感 很小的载荷变化将导致很大的优化结果差异 结果对网格划分密度敏感 一般来说 很细的网格可以产生 清晰 的拓扑结果 而较粗的网格会生成 混乱 的结果 但是 较大的有限元模型需要更多的收敛时间 在一些情况下会得到桁架形状的拓扑结果 这通常在用户指定很大的体积减少值和较细的网格划分时出

9、现 很大的体积减少值如80 或更大 TOPDEF命令 TOPDEF和TOLOOP命令中的指定值并不存储在ANSYS数据库中 因此 用户必须在每次拓扑优化时重新指定优化目标和定义 作业 将以上例子改成只受第一个载荷步下面的优化 第三讲子模型 1 什么叫子模型 子模型是得到模型部分区域中更加精确解的有限单元技术 图轮毂和轮辐的子模型a 粗糙模型 b 叠加的子模型 在有限元分析中往往出现这种情况 即对于用户关心的区域 如应力集中区域 网格太疏不能得到满意的结果 而对于这些区域之外的部分 网格密度已经足够了 要得到这些区域的较精确的解 可以采取两种办法 a 用较细的网格重新划分并分析整个模型 或 b

10、只在关心的区域细化网格并对其分析 显而易见 方法a太耗费机时 方法b即为子模型技术 子模型方法的原理 子模型方法又称为切割边界位移法或特定边界位移法 切割边界就是子模型从整个较粗糙的模型分割开的边界 整体模型切割边界的计算位移值即为子模型的边界条件 子模型基于圣维南原理 即如果实际分布载荷被等效载荷代替以后 应力和应变只在载荷施加的位置附近有改变 这说明只有在载荷集中位置才有应力集中效应 如果子模型的位置远离应力集中位置 则子模型内就可以得到较精确的结果 子模型方法的优点 ANSYS程序并不限制子模型分析必须为结构 应力 分析 子模型也可以有效地应用于其他分析中 如在电磁分析中 可以用子模型计

11、算感兴趣区域的电磁力 它减少甚至取消了有限元实体模型中所需的复杂的传递区域 它使得用户可以在感兴趣的区域就不同的设计 如不同的圆角半径 进行分析 它帮助用户证明网格划分是否足够细 子模型的限制 只对体单元和壳单元有效 子模型的原理要求切割边界应远离应力集中区域 用户必须验证是否满足这个要求 子模型分析过程 1 生成并分析较粗糙的模型 2 生成子模型 3 提供切割边界插值 4 分析子模型 5 验证切割边界和应力集中区域的距离应足够远 第一步 生成并分析较粗糙的模型 我们将其称为粗糙模型 这并不表示模型的网格划分必须是粗糙的 而是说模型的网格划分相对子模型的网格是较粗糙的 文件名 粗糙模型和子模型

12、应该使用不同的文件名 这样就可以保证文件不被覆盖 而且在切割边界插值时可以方便地指出粗糙模型的文件 用下列方法指定文件名 Command FILNAMEGUI UtilityMenu File ChangeJobname 在很多情况下 粗糙模型不需要包含局部的细节如圆角等 见图 但是 有限元网格必须细化到足以得到较合理的位移解 这一点很重要 因为子模型的结果是根据切割边界的位移解插值得到的 结果文件 Jobname RST Jobname RMG等 和数据库文件 Jobname DB 包含几何模型 在粗糙模型分析中是需要的 在生成子模型前应存储数据库文件 用下列方法存储数据库 Command

13、SAVEGUI UtilityMenu File SaveasUtilityMenu File SaveasJobname db 第二步 生成子模型 子模型是完全依靠粗糙模型的 因此在初始分析后的第一步就是在初始状态清除数据库 另一种方法是退出并重新进入ANSYS 用下列方法清除数据库 Command CLEARGUI UtilityMenu File Clear StartNew 应记住用另外的文件名以防止粗糙模型文件被覆盖 用下列方法指定文件名 Command FILNAMEGUI UtilityMenu File ChangeJobname然后进入PREP7并建立子模型 应该记住下列几点

14、 使用与粗糙模型中同样的单元类型 同时应指定相同的单元实参 如壳厚 和材料特性 子模型的位置 相对全局坐标原点 应与粗糙模型的相应部分相同 指定合适的结点旋转位移 MainMenu Preprocessor Move Modify RotateNodeCS ToActiveCS 第三步 生成切割边界插值 本步是子模型的关键步骤 用户定义切割边界的结点 ANSYS程序用粗糙模型结果插值方法计算这些点上的自由度数值 位移等 对于子模型切割边界上的所有结点 程序用粗糙模型网格中相应的单元确定自由度数值 然后这些数值用单元形状功能插值到切割边界上 1 指定子模型切割边界的结点并将其写入一个文件 缺省为

15、Jobname NODE 中 可以在PREP7中选择切割边界的结点 用下列命令将其写入文件 Command NWRITEGUI MainMenu Preprocessor Create Nodes WriteNodeFile 子模型切割边界 2 重新选择所有结点并将数据库存入Jobname DB中 然后退出PREP7 必须将数据库写入文件 因为在后面子模型分析中要使用到 3 要进行切割边界插值 和温度插值 数据库中必须包含粗糙模型的几何特征 因此要用下列一种方法读入粗糙模型数据库 Command RESUMEGUI UtilityMenu File Resumefrom4 进入POST1 即通

16、用处理器 插值只有在POST1中进行 5 指向粗糙模型结果文件 FILE或MainMenu GeneralPostproc Data FileOpts 6 读入结果文件中相应的数据 SET或MainMenu GeneralPostproc ReadResults option 7 开始切割边界插值 用下列方法完成本步操作 Command CBDOFGUI MainMenu GeneralPostproc Submodeling InterpolateDOF缺省状态下 CBDOF命令假定切割边界结点在文件Jobname NODE中 程序将计算切割边界的DOF数值并用D命令的形式写入文件Jobname CBDO中 8 至此 所有的插值任务完成 退出POST1 FINISH 并读入子模型数据库 RESUME或MainMenu File Resumefrom 第四步 分析子模型 在本步中 用户指定分析类型和分析选项 加入插值的DOF数值 施加其他的载荷和边界条件 指定载荷步选项 并对子模型求解要施加切割边界自由度约束 用下列命令读入CBDOF命令生成的由D命令组成的文件 Command INP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号