梁的优化是很多ANSYS教材的例程,使用箱形梁,以梁的板厚为变量,寻求梁质量的最小化。
5 w, W4 @9 N5 y9 ]) m6 {* v3 Q: F我这里唯一的不同是使用了自己定义的一个截面,截面外形尺寸固定,所以截面形状的变化主要与梁的板厚相关联。
8 c: s/ z7 U3 `* W优化程序主要包括三部分:
- J: U7 [& s T0 y5 d(1)定义截面形状和分网;: J! e. ]! @% y) q: ]# [) C
(2)大梁建模,加载和静力求解;
E8 M/ W2 g0 t, \. f* ?" `. `+ M(3)提取梁单元体积、截面应力、节点位移,进行优化
) Y$ O: U, M6 w4 m6 u% Y, x5 m) w1 r- L$ N. @2 {
问题出现在这里:优化时需要不断的调整设计变量(板厚),也即每次都要建立相应的截面并进行静力求解分析。截面建立完成,其节点等需要删除,但其使用的板厚尺寸又需要保留给后续使用。
9 h9 u: [/ G: f! _$ J7 E
5 `$ Z; @* l, G4 p' x- s我尝试不删除截面,直接定义两种单元,单元一Plane82给截面,单元二Beam188大梁建模,但这样大梁模型中混杂着梁的截面,多出一个面;& t, W5 Z5 Y7 G) _" k) F+ r
又尝试在完成截面定义时,在/clear(清除节点等)前使用PARSAV保存参数,其后使用PARRES恢复参数,但又出现新的问题:优化时状态变量(应力、挠度(节点位移))和目标函数(体积)不随设计变量(板厚)变化而变化,二者没有了关联性。7 J& \ V! _( d8 j
5 \/ ~" a, V( \1 A& h4 n
|