NNUP=k !记录上弦节点总数 !下弦节点 *do,i,1,NY *do,j,1,NX
k=(i-1)*NX+j+NNUP
n,k,(j-1)*DX+DX/2,(i-1)*DY+DY/2,-DZ *enddo *enddo
NNALL=k !记录节点总数
NNBOT=NNALL-NNUP !记录下弦节点总数
!------------------------------------------ !单元定义,最初定义为1号截面 !横向上弦杆件
NEUP1=0 !记录横向上弦杆件总数 *do,i,1,NY+1 *do,j,1,NX
k=(i-1)*(NX+1)+j e,k,k+1
NEUP1=NEUP1+1 *enddo *enddo
!纵向上弦杆件
NEUP2=0 !记录纵向上弦杆件总数 *do,i,1,NY *do,j,1,NX+1 k=(i-1)*(NX+1)+j e,k,k+NX+1 NEUP2=NEUP2+1 *enddo *enddo
!横向下弦杆件
NEBOT1=0 !记录横向下弦杆件总数 *do,i,1,NY *do,j,1,NX-1
k=(i-1)*NX+j+NNUP e,k,k+1
NEBOT1=NEBOT1+1 *enddo *enddo
!纵向下弦杆件
NEBOT2=0 !记录纵向下弦杆件总数 *do,i,1,NY-1 *do,j,1,NX
k=(i-1)*NX+j+NNUP
e,k,k+NX
NEBOT2=NEBOT2+1 *enddo *enddo !斜腹杆
NEMID=0 !记录纵向下弦杆件总数 *do,i,1,NY *do,j,1,NX
k1=(i-1)*NX+j+NNUP k2=k1-NNUP+(i-1) e,k1,k2 e,k1,k2+1 e,k1,k2+NX+1 e,k1,k2+NX+2 NEMID=NEMID+4 *enddo *enddo
!------------------------------------------ !施加节点约束
!这一步宜在GUI界面中进行,然后将边界条件写入文件load1.txt /input,load1,txt
!------------------------------------------ !施加节点约束
!这一步宜在GUI界面中进行,然后将边界条件写入文件boundary.txt /input,boundary,txt
!------------------------------------------ !求解 /solu solve
!------------------------------------------ !下面开始优化截面
!首先定义数组,得到一些常量
*dim,FORCE,,NEALL !定义杆件内力数组 *dim,LENGTH,,NEALL !定义杆件长度数组 *do,i,1,NEALL !得出杆件长度 *get,LENGTH(i),elem,i,leng *enddo
!------------------------------------------ *dim,NSECTION,,NEALL !定义杆件截面号数组 *do,i,1,NEALL !初始值为1 NSECTION(i)=1 *enddo !
!******************************************************
!开始循环调整杆件截面 *do,NNN,1,15 !共调整15次
!------------------------------------------ !得出杆件内力(拉正压负) /post1
*do,i,1,NEALL
*get,force(i),elem,i,smisc,1 *enddo
!------------------------------------------ !截面校核,得出应力比 *do,i,1,NEALL k=NSECTION(i)
temp=3.1415926/sqrt(FY/EE) *if,FORCE(i),ge,0,then !拉杆
RATIO=FORCE(i)/AREA(k)/FD !拉杆应力比 *elseif,FORCE(i),lt,0,then !压杆,a类截面 SLENDER=LENGTH(i)/RI(k) !长细比 d1=SLENDER/temp !相对长细比 *if,d1,le,0.215,then !稳定系数 FI=1-0.41*d1*d1 *else
d2=0.986+0.152*d1+d1*d1
FI=(d2-sqrt(d2*d2-4*d1*d1))/2/d1/d1 *endif
RATIO=-FORCE(i)/AREA(k)/FD/FI !压杆应力比 *endif
!------------------------------------------ !截面调整
*if,RATIO,LT,RATIO2,then NSECTION(i)=NSECTION(i)-1 *elseif,RATIO,GT,RATIO1,then NSECTION(i)=NSECTION(i)+1 *endif
*if,NSECTION(i),lt,1,then !已经选到最小截面 NSECTION(i)=1 *endif
*if,NSECTION(i),gt,6,then !已经选到最大截面 NSECTION(i)=6 *endif *enddo
!------------------------------------------ !重新定义单元 finish /prep7
edele,all !删除所有单元 NUMCMP,ELEM !压缩单元号 kkk=0
!横向上弦杆件 *do,i,1,NY+1 *do,j,1,NX
k=(i-1)*(NX+1)+j kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k,k+1 *enddo *enddo
!纵向上弦杆件 *do,i,1,NY *do,j,1,NX+1 k=(i-1)*(NX+1)+j kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k,k+NX+1 *enddo *enddo
!横向下弦杆件 *do,i,1,NY *do,j,1,NX-1
k=(i-1)*NX+j+NNUP kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k,k+1 *enddo *enddo
!纵向下弦杆件 *do,i,1,NY-1 *do,j,1,NX
k=(i-1)*NX+j+NNUP kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k,k+NX *enddo *enddo !斜腹杆
*do,i,1,NY *do,j,1,NX
k1=(i-1)*NX+j+NNUP k2=k1-NNUP+(i-1) kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k1,k2 kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k1,k2+1 kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k1,k2+NX+1 kkk=kkk+1
kkk1=NSECTION(kkk) REAL,kkk1 e,k1,k2+NX+2 *enddo *enddo
!------------------------------------------ !求解 finish /solu solve *enddo
!************************************************ !------------------------------------------ /post1
PLESOL,SMISC,1,0,1 !画出轴力图
!------------------------------------------ !得出杆件内力(拉正压负) *do,i,1,NEALL
*get,force(i),elem,i,smisc,1 *enddo
!------------------------------------------ !最后截面校核,得出应力比,并打印应力比 /OUT,STRESSRATIO,txt TOTALMASS=0 !总质量 *do,i,1,NEALL k=NSECTION(i)
temp=3.1415926/sqrt(FY/EE)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库结构屈曲失稳的知识(2)在线全文阅读。
相关推荐: