|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我做板优化时,老是出现如下的对话框,不懂为什么?
板的宏如下:
plane_beam_test.mac
!前板参数
qbxkkd=0.3 !前板下口宽度
qbskkd=4.07 !前板上口宽度
qbcd=6.151 !前板长度
!侧板参数
cbxkkd=0.3 !侧板下口宽度
cbskkd=6.28 !侧板上口宽度
cbcd=5.655 !侧板长度
jqjgs=7 !加强筋个数
*DIM,qbjqjjj,,jqjgs,1,1 !前板加强筋间距
qbjqjjj(1)=0.379
qbjqjjj(2)=0.49
qbjqjjj(3)=0.607
qbjqjjj(4)=0.629
qbjqjjj(5)=0.706
qbjqjjj(6)=0.778
qbjqjjj(7)=0.938
YOUNG=210E6
thickness=5e-3 !板厚
FORCE=-1
/PREP7
hdgd=sqrt(qbcd**2-(0.5*(cbskkd-cbxkkd))**2) !灰斗高度
qbqj=acos(0.5*(cbskkd-cbxkkd)/qbcd) !前板倾角
cbqj=acos(0.5*(qbskkd-qbxkkd)/cbcd) !侧板倾角
*DIM,qbjqjxg,,jqjgs,1,1 !前板加强筋斜高
*DO,i,1,jqjgs
*IF,i,EQ,1,THEN
qbjqjxg(i)=qbjqjjj(1)
*ELSE
qbjqjxg(i)=qbjqjxg(i-1)+qbjqjjj(i)
*ENDIF
*ENDDO
*DIM,cbjqjxg,,jqjgs,1,1 !侧板加强筋斜高
*DO,i,1,jqjgs
cbjqjxg(i)=qbjqjxg(i)*sin(qbqj)/sin(cbqj)
*ENDDO
MP,EX,1,YOUNG
MP,NUXY,1,0.3
ET,1,SHELL63
ET,2,BEAM188
R,1,THICKNESS,THICKNESS,THICKNESS,THICKNESS
!生成板关键点
*DO,i,1,jqjgs+2
*IF,i,EQ,1,THEN
k,1,0,0,0.5*cbxkkd
k,2,0.5*qbxkkd,0,0.5*cbxkkd
k,2*(jqjgs+2)+1,0.5*qbxkkd,0,0
*ELSEIF,i,EQ,jqjgs+2
k,2*(jqjgs+2)-1,0,hdgd,0.5*cbskkd
k,2*(jqjgs+2),0.5*qbskkd,hdgd,0.5*cbskkd
k,3*(jqjgs+2),0.5*qbskkd,hdgd,0
*ELSE
k,2*i-1,0,cbjqjxg(i-1)*sin(cbqj),qbjqjxg(i-1)*cos(qbqj)+0.5*cbxkkd !前板点
k,2*i,0.5*qbxkkd+cbjqjxg(i-1)*cos(cbqj),cbjqjxg(i-1)*sin(cbqj),qbjqjxg(i-1)*cos(qbqj)+0.5*cbxkkd !交界点
k,2*(jqjgs+2)+i,0.5*qbxkkd+cbjqjxg(i-1)*cos(cbqj),cbjqjxg(i-1)*sin(cbqj),0 !侧板点
*ENDIF
*ENDDO
!生成前板面
*DO,i,1,jqjgs+1
A,2*i-1,2*i,2*i+2,2*i+1
*ENDDO
!生成侧板面
*DO,i,1,jqjgs+1
A,2*i,2*(jqjgs+2)+i,2*(jqjgs+2)+i+1,2*i+2
*ENDDO
!网格化板
zdwgbc=0.5 !最大网格边长
qbfgs=NINT(0.5*qbskkd/zdwgbc) !前板分隔数
!分割前板直线
*DO,i,1,jqjgs+2
*IF,i,EQ,1,THEN
LSEL,S,LINE,,1,1 !选取1号直线
*ELSE
LSEL,S,LINE,,3*(i-1),3*(i-1) !选取前板3,6,9,等直线
*ENDIF
LESIZE,ALL,,,qbfgs !把所选定的直线分段
*ENDDO
cbfgs=NINT(0.5*cbskkd/zdwgbc) !侧板分隔数
*IF,cbskkd,GT,qbskkd,AND,cbskkd/cbfgs,LT,qbskkd/qbfgs,THEN
cbfgs=NINT(0.5*cbskkd/zdwgbc)-1
*ELSEIF,cbskkd,LT,qbskkd,AND,cbskkd/cbfgs,GT,qbskkd/qbfgs
cbfgs=NINT(0.5*cbskkd/zdwgbc)+1
*ENDIF
!分割侧板直线
*DO,i,1,jqjgs+2
LSEL,S,LINE,,2*(jqjgs+1)+(jqjgs+2)+2*i-1,2*(jqjgs+1)+(jqjgs+2)+2*i-1
LESIZE,ALL,,,cbfgs
*ENDDO
!分割两边直线
*DO,i,1,jqjgs+1
LSEL,S,LINE,,3*i+1,3*i+1 !选取3*i-1号直线,即前板竖直线
LSEL,A,LINE,,3*i-1,3*i-1 !在选择前板竖斜线
LSEL,A,LINE,,2*(jqjgs+1)+(jqjgs+2)+2*i,2*(jqjgs+1)+(jqjgs+2)+2*i !选择侧板竖直线
*IF,i,EQ,jqjgs+1,THEN
*IF,(qbcd-qbjqjxg(i-1))/(0.5*qbskkd/qbfgs),GE,2,THEN
LESIZE,ALL,,,NINT((qbcd-qbjqjxg(i-1))/(0.5*qbskkd/qbfgs))
*ELSE
LESIZE,ALL,,,NINT((0.5*qbskkd/qbfgs)/(qbcd-qbjqjxg(i-1)))+1
*ENDIF
*ELSE
*IF,qbjqjjj(i)/((0.5*qbxkkd+qbjqjxg(i)/tan(cbqj))/qbfgs),GE,2,THEN
LESIZE,ALL,,,NINT(qbjqjjj(i)/((0.5*qbxkkd+qbjqjxg(i)/tan(cbqj))/qbfgs))
*ELSE
LESIZE,ALL,,,NINT(((0.5*qbxkkd+qbjqjxg(i)/tan(cbqj))/qbfgs)/qbjqjjj(i))+1
*ENDIF
*ENDIF
*ENDDO
asel,all
AMESH,ALL
allsel
FINI
/SOLU
!施加约束
LSEL,S,LINE,,3*(jqjgs+1),3*(jqjgs+1)
LSEL,A,LINE,,2*(jqjgs+1)+(jqjgs+2)+2*(jqjgs+2)-1,2*(jqjgs+1)+(jqjgs+2)+2*(jqjgs+2)-1
DL,ALL,,ALL
!施加载荷
ASEL,S,MAT,,1,1
SFA,ALL,1,PRES,FORCE
solve
FINI
/POST1
ALLSEL
NSORT,S,EQV !将节点等效应力排序
*get,smax,sort,,max !提取最大等效应力
ETABLE,EVOL,VOLU, !将每个单元的体积放入表EVOL中
SSUM !将单元表格内数据求和
*GET,VTOT,SSUM,,ITEM,EVOL !提取结构总体积
OBJVTOT=1000*VTOT
fini
!!!!!!!!!!!!!!!!!!!!!!
优化如下:
/OPT
OPANL,'plane_beam_test','mac',' '
OPVAR,THICKNESS,DV,3.5E-3,16E-3
OPVAR,SMAX,SV,0,235E3
OPVAR,OBJVTOT,OBJ,,,1
OPDATA, , ,
OPLOOP,PREP,PROC,ALL
OPPRNT,ON
OPKEEP,ON
OPTYPE,SUBP
OPSUBP,40
OPEXE
[ 本帖最后由 cyh3278 于 2006-11-26 10:55 编辑 ] |
-
|