友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
小说一起看 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

网架设计程序apdl-第1章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



!DPL写了一个程序 
!    功能: 
!    1。方便的进行正方四角锥网架的建模 
!    2。可以自动选杆件截面 
!    计算中假设杆件均为铰接,压杆采用钢结构设计规范GBJ17…88的a曲线验算 
!    注:本文纯属个人资料,如采用本文进行网架设计出现问题,概不负责 
/prep7 
!… 
!定义截面类型(共6种钢管) 
*dim;DOUT;;6 !外径 
*dim;DIN;;6 !内径 
DOUT(1)=45 !管45X4 
DIN(1)=37 
DOUT(2)=63 !管63X4 
DIN(2)=55 
DOUT(3)=89 !管89X5 
DIN(3)=79 
DOUT(4)=113 !管113X6 
DIN(4)=101 
DOUT(5)=140 !管140X6 
DIN(5)=128 
DOUT(6)=159 !管159X8 
DIN(6)=143 
*dim;AREA;;6 !截面积 
*dim;RI;;6 !回转半径 
*do;i;1;6 
AREA(i)=3。1415926*(DOUT(i)*DOUT(i)…DIN(i)*DIN(i))/4 
RI(i)=0。25*sqrt((DOUT(i)*DOUT(i)+DIN(i)*DIN(i))) 
*enddo 
! 
!结构基本参数输入 
DX=2000 !横向网格尺寸 
DY=2000 !纵向网格尺寸 
DZ=2000 !网架截面高度 
NX=30 !横向网格数量 
NY=28 !纵向网格数量 
DLOAD=1。06e…3 !屋面均布荷载设计值 
FD=215 !钢材强度设计值 
FY=235 ! 植 屈服强度 
RATIO1=0。85 !应力比上限 
RATIO2=0。7 !应力比下限 
EE=2。06e5 !弹性模量 
NEALL=8*NX*NY !单元总数 
! 
!定义实常数 
*do;i;1;6 
r;i;AREA(i) 
*enddo 
! 
!定义单元类型…杆单元 
ET;1;LINK8 
!… 
!定义材料特性 
MP; EX; 1; EE !钢材 
MP; NUXY; 1; 0。3 
MP; DENS; 1; 7。85e…6 
! 
!节点定义 
!上弦节点 
*do;i;1;NY+1 
*do;j;1;NX+1 
k=(i…1)*(NX+1)+j 
n;k;(j…1)*DX;(i…1)*DY 
*enddo 
*enddo 
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) 
*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 
TOTALMASS=TOTALMASS+AREA(k)*LENGTH(i)*7。85e…6 
*VWRITE;i;k;DOUT(k);(DOUT(k)…DIN(k))/2;RATIO; 
(1X;F8。1;F8。1;' ';F5。1;'X';F5。1;' ';F10。4) 
*enddo 
*enddo 
*VWRITE;TOTALMASS 
(1X;' ;'F20。4) 
*LIST;STRESSRATIO;txt 

!下面是boundary。txt文件 
!这个文件用来社定边界条件,这个可根据情况而变化 
D; 1 ; UZ 
D; 4 ; UZ 
D; 7 ; UZ 
D; 10 ; UZ 
D; 13 ; UZ 
D; 16 ; UZ 
D; 19 ; UZ 
D; 22 ; UZ 
D; 25 ; UZ 
D; 28 ; UZ 
D; 31 ; UZ 
D; 125 ; UZ 
D; 140 ; UZ 
D; 155 ; UZ 
D; 249 ; UZ 
D; 264 ; UZ 
D; 279 ; UZ 
D; 373 ; UZ 
D; 388 ; UZ 
D; 403 ; UZ 
D; 497 ; UZ 
D; 512 ; UZ 
D; 527 ; UZ 
D; 621 ; UZ 
D; 636 ; UZ 
D; 651 ; UZ 
D; 745 ; UZ 
返回目录 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!