关于ansys优化的一点疑问
我在ansys优化时,是将各荷载步的节点位移提到一个数组里面,在*vwrite读取已知数组,然后将他们进行相减在归一化,最后叠加赋值到一个变量上,再求这个变量的最小。可是为什么每次优化时都进行不下去,目标函数OBJ总是不变,DV虽然变化但是根本就没优化啊?实在时搞不懂了,哪位高手帮我解决一下啊。 与你设置什么变量关系也许不是很大,可能是你的设计变量的范围取得不合适,或者是状态变量的函数取得不合适。 与你设置什么变量关系也许不是很大,可能是你的设计变量的范围取得不合适,或者是状态变量的函数取得不合适。 我的状态变量没有设,只设了目标函数和设计变量,而且目前只设弹模为设计变量!这是我的命令流
*CREATE,WWWW!设置参数
B=0.2 !截面宽 (米)
H=0.4 !截面高 (米)
AREA=B*H !截面面积(可根据具体截面形式改变换算公式)
IZZ=(B*(H**3))/12 !截面惯性矩(可根据具体截面形式改变换算公式)
ppppp=3.45E10 !未损伤弹模(C50混凝土)
BEAM_L=10 !梁长度 (米)
NE=10 !单元数
NL=BEAM_L/NE !单元长度
NN=NE+1 !节点数
VV=5 !荷载移动速度(公里/小时)
DT=NL/VV*3.6 !移动荷载经过一个单元所需时间(秒)
FF=10000 !定义移动荷载 (牛)
XN=6
*DIM,DEIF,ARRAY,NN !定义损伤模型影响线值数组
*VREAD,DEIF,XXXXX,TXT !读取
(F10.6)
!建模
/PREP7
ET,1,BEAM3
MP,EX,1,ppppp
MP,PRXY,1,0.2
R,1,AREA,IZZ,H
*DO,I,1,NN,1 !建立节点
N,I,(I-1)*NL
*ENDDO
MAT,1
*DO,I,1,NE,1 !建立单元
E,I,I+1
*ENDDO
!加载
D,1,UY !边界条件
D,1,UX
D,NN,UY
FINISH
!求解
/SOLU
ANTYPE,0 !静态分析
*DO,II,1,NN,1
TIME,II*DT !荷载步结束时间
NSUBST,1 !指定此荷载步的子步数
FDELE,ALL,ALL !删除节点上的集中力。
NSEL,S,NODE,,II
F,ALL,FY,-FF
ALLSEL !选中所有
OUTRES,ALL,ALL
SOLVE
*ENDDO
FINISH
!后处理
/POST1
*DIM,ILINE,ARRAY,NN !定义影响值数组
*DO,I,1,NN
SET,I
*GET,ILINE(I),NODE,XN,U,Y
*ENDDO
!定义残差函数
*DIM,XX,ARRAY,NN !定义残差数组
XX(1)=0
*DO,i,2,nn-1
XX(I)=((DEIF(I)-ILINE(I))/DEIF(I))**2
*ENDDO
XX(nn)=0
*VSCFUN,MB,SUM,XX !目标残差函数数组求和
FINISH
*END
*USE,WWWW
调用优化模块
/OPT
OPANL,WWWW !定义优化文件
OPVAR,mb,OBJ
OPVAR,ppppp,DV,0,3.45E10
OPLOOP,prep
OPTYPE,subp
OPEXE
FINISH
[ 本帖最后由 ufo_me 于 2007-12-16 16:40 编辑 ]
页:
[1]