声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1428|回复: 0

[综合讨论] ANSYS拓扑优化的主要步骤

[复制链接]
发表于 2016-5-16 13:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  拓扑优化包括如下主要步骤:
  1. 定义拓扑优化问题。
  2. 选择单元类型。
  3. 指定要优化和不优化的区域。
  4. 定义和控制载荷工况。
  5. 定义和控制优化过程。
  6. 查看结果。

  拓扑优化的细节在下面给出。关于批处理方式和图形菜单方式不同的做法也同样提及。


  定义拓扑优化问题
  定义拓扑优化问题同定义其他线性,弹性结构问题做法一样。用户需要定义材料特性(杨氏模量和泊松比),选择合适的单元类型生成有限元模型,施加载荷和边界条件做单载荷步或多载荷步分析。参见“ANSYS Analysis Procedures Guides”第一、二章。

  选择单元类型
  拓扑优化功能可以使用二维平面单元,三维块单元和壳单元。要使用这个功能,模型中只能有下列单元类型:
  二维实体单元:SOLID2和SOLID82
  三维实体单元:SOLID92和SOLID95
  壳单元:SHELL93
  二维单元用于平面应力问题。

  指定要优化和不优化的区域
  只有单元类型号为1的单元才能做拓扑优化。可以使用这种限制控制模型优化和不优化的部分。例如,如果要保留接近圆孔部分或支架部分的材料,将这部分单元类型号指定为2或更大即可:

  1.   …

  2.   ET,1,SOLID92

  3.   ET,2,SOLID92

  4.   …

  5.   TYPE,1

  6.   VSEL,S,NUM,,1,,2 !用这些单元划分的实体将被优化

  7.   VMESH,ALL

  8.   TYPE,2

  9.   VSEL,S,NUM,,3 !用这些单元划分的实体将保持原状

  10.   VMESH,ALL

  11.   …
复制代码

  用户可以使用ANSYS的选择和修改命令控制单元划分和类型号定义。

  定义和控制载荷工况
  可以在单个载荷工况和多个载荷工况下做拓扑优化。单载荷工况是最简便的。
  要在几个独立的载荷工况中得到优化结果时,必须用到写载荷工况和求解功能。在定义完每个载荷工况后,要用LSWRITE命令将数据写入文件,然后用LSSOLVE命令求解载荷工况的集合。

  例如,下面的输入演示如何将三个载荷工况联合做一个拓扑优化分析。

  1.   …

  2.   D,10,ALL,0,,20,1 !定义第一个载荷工况的约束和载荷

  3.   NSEL,S,LOC,Y,0

  4.   SF,

  5.   ALLSEL

  6.   LSWRITE,1 !写第一个载荷工况

  7.   DDEL,

  8.   SFDEL,

  9.   NSEL,S,LOC,X,0,1

  10.   D,ALL,ALL,0

  11.   NSEL,ALL

  12.   F,212,FX

  13.   LSWRITE,2 !写第二个载荷工况

  14.   …

  15.   LSWRITE,3 !写第三个载荷工况

  16.   …

  17.   FINISH

  18.   /SOLUTION

  19.   TOPDEF,10,3 !定义优化的参数

  20.   LSSOLVE,1,3,1 !在拓扑优化前做所有三个载荷工况求解

  21.   …
复制代码

  定义和控制优化过程
  拓扑优化过程包括两部分:定义优化参数和进行拓扑优化。用户可以用两种方式运行拓扑优化:控制并执行每一次迭代,或自动进行多次迭代。
  ANSYS有三个命令定义和执行拓扑优化:TOPDEF,TOPEXE和TOPITER。TOPDEF命令定义要省去材料的量,要处理载荷工况的数目,收敛的公差。TOPEXE命令执行一次优化迭代。TOPITER命令执行多次优化迭代。
  & #61591; 定义优化参数
  首先要定义优化参数。用户要定义要省去材料的百分比,要处理载荷工况的数目,收敛的公差。
  命令:TOPDEF
  GUI:Main Menu>Solution>-Solve-Topological opt
  注——本步所定义的内容并不存入ANSYS数据库中,因此在下一个拓扑优化中要重新使用TOPDEF命令。
  & #61591; 执行单次迭代
  定义好优化参数以后,可以执行一次迭代。迭代后用户可以查看收敛情况并绘出或列出当前的拓扑优化结果。可以继续做迭代直到满足要求为止。如果是在GUI方式下执行,在Topological Optimization 对话框(ITER域)中选择一次迭代。
  命令:TOPEXE
  GUI:Main Menu>Solution>-Solve-Topological opt

  下面的例子说明了如何在拓扑优化中每次执行一次迭代:

  1.   …

  2.   /SOLUTION

  3.   TOPDEF,25,1 !移去25%体积并处理一个载荷工况

  4.   SOLVE !执行第一次应力分析

  5.   TOPEXE !执行第一次拓扑优化迭代

  6.   FINISH

  7.   /POST1 !进入后处理器

  8.   PLNSOL,TOP0 !画出优化结果

  9.   *GET,TIPSRAT,TOPO,,CONV !读取拓扑收敛状态

  10.   *STATUS,TOPSTAT !列表

  11.   /SOLUTION

  12.   SOLVE !执行第二次应力分析

  13.   TOPEXE !执行第二次拓扑优化迭代

  14.   FINISH

  15.   /POST1

  16.   …
复制代码

  TOPEXE的主要优点是用户可以设计自己的迭代宏进行自动优化循环和绘图。在下一节,可以看到TOPITER命令是一个ANSYS的宏,用来执行多次优化迭代。
  & #61591; 自动执行多次迭代
  在定义好优化参数以后,用户可以自动执行多次迭代。在迭代完成以后,可以查看收敛情况并绘出或列出当前拓扑形状。如果需要的话,可以继续执行求解和迭代。TOPITER命令实际是一个ANSYS的宏,可以拷贝和定制(见APDL Programmer’s Guide)。
  命令:TOPITER
  GUI:Main Menu>Solution>-Solve-Topological opt

  下面的例子说明了如何使用TOPITER宏执行多次迭代:

  1.   … !定义并写第一个载荷工况

  2.   LSWRITE

  3.   … !定义并写第二个载荷工况

  4.   LSWRITE

  5.   … !定义并写第三个载荷工况

  6.   LSWRITE

  7.   …

  8.   TOPDEF,80,3,.001 !80%体积减少,3个载荷工况

  9.   … 0.001为收敛公差

  10.   /DSCALE,,OFF !关闭形状改变

  11.   /CONTOUR,,3 !每次显示3个轮廓数值

  12.   TOPITER,20,1 !最大20次迭代。每次迭代求解并绘出

  13.   … 结果
复制代码

  每次迭代执行一次LSSOLVE命令,一次TOPEXE命令和一次PLNSOL,TOPO显示命令。当收敛公差达到(用TOPDEF定义)或最大迭代次数(用TOPITER定义)达到时优化迭代过程终止。

  查看结果。
  拓扑优化结束后,ANSYS结果文件(Jobname.RST)将存储优化结果供通用后处理器使用。用户可以使用后面提到的后处理命令。要得到更详细的信息,请查阅ANSYS Commands Reference或ANSYS Basic Analysis Procedures Guide第五章。
  要列出结点解和/或绘出伪密度,使用PRNSOL和PLNSOL命令的TOPO变量。
  要列出单元解和/或绘出伪密度,使用PLESOL和PRESOL命令的TOPO变量。

  可以使用ANSYS表格功能查看结果:
  ETABLE,EDENS,TOPO
  PLETAB,EDENS
  PRETAB,EDENS
  ESEL,S,ETAB,EDENS,0.9,1.0
  EPLOT

  要查看最近(最后一次迭代)的收敛情况和结构变形能,使用*GET命令:
  *GET,TOPCV,TOP0,,CONV !如果TOPCV=1(收敛)
  *GET,ECOMP,TP0,,COMP !ECOMP=变形能

  *STAT


转自http://blog.sina.com.cn/s/blog_82b526270101ihxd.html

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-6 12:35 , Processed in 0.064060 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表