文档库 最新最全的文档下载
当前位置:文档库 › 稳定系数

稳定系数


/PREP7
!计算单元平面外的长细比,根据网壳规范平面外计算长度取实际长度的1.6倍
!定义单元截面的回转半径,其中编号与实常数编号相一致
*DIM,i_r,,10,1
*SET, i_r(1), 1.6055E-01 !定义钢管 B600X400X16X20 的回转半径
*SET, i_r(2), 1.6594E-01 !定义钢管 B900X400X30X30 的回转半径
*SET, i_r(3), 3.4311E-01 !定义钢管 P1000X30 的回转半径
*SET, i_r(4), 4.7741E-01 !定义钢管 P1700X35(C40) 的回转半径
*SET, i_r(5), 7.4653E-02 !定义钢管 P219X8 的回转半径
*SET, i_r(6), 9.3052E-02 !定义钢管 P273X10 的回转半径
*SET, i_r(7), 1.1074E-01 !定义钢管 P325X12 的回转半径
*SET, i_r(8), 1.3727E-01 !定义钢管 P402X14 的回转半径
*SET, i_r(9), 2.9422E-02 !定义钢管 P89X6 的回转半径
*SET, i_r(10),3.0949E-01 !定义钢管 P900X25 的回转半径

!******计算单层网壳单元稳定系数,注意支撑和梁要区分开来
!提取单元长度数据
定义数组upchord_leng, !用于储存单层网壳各单元的长度
*DIM,upchord_leng,,2352,1
*DO,i,1,2352,1 !单层网壳单元1-2352循环
*GET,upchord_leng(i),elem,i,leng !提取编号为I的单元的长度,并赋值给upchord_leng(i)
*ENDDO

!定义数组upchord0_leng, !储存单层网壳单元的计算长度
*DIM,upchord0_leng,,2352,1
*DO,i,1,2352,1 !单层网壳单元1-2352循环
upchord0_leng(i)=upchord_leng(i)*1.5 !计算第I个单元的计算长度,并赋值给upchord0_leng(i)
*ENDDO

!定义数组labd_1,储存单层网壳单元的长细比
*DIM,labd_1,,2352,1
*DO,i,1,2352,1 !单层网壳单元1-2352循环
num_100=elmiqr(i,-3) !提取单元I的实常数编号,并赋值给num_100
labd_1(i)=upchord0_leng(i)/i_r(num_100) !计算第I个单元的长细比,并赋值给labd_1(i)
*ENDDO

!定义数组fei,储存单层网壳单元的稳定系数
*DIM,fei,,2352,1
*DO,i,1,2352,1 !单层网壳单元1-2352循环
i_fei=labd_1(i)/3.14*sqrt(345e6/206e9)
*IF,i_fei,le,0.215,then
fei(i)=1-0.65*i_fei**2
*ELSE
fei(i)=1/(2*i_fei**2)*((0.965+0.3*i_fei+i_fei**2)-sqrt((0.965+0.3*i_fei+i_fei**2)**2-4*i_fei**2))
*ENDIF
*ENDDO
!********计算撑杆单元稳定系数,168个单元,编号2353-2520
!定义数组strut_leng, !存储撑杆单元的长度
*DIM,strut_leng,,2520,1
*DO,i,2353,2520,1 !撑杆单元2353-2520循环
*GET,strut_leng(i),elem,i,leng !提取编号为I的单元的长度,并赋值给strut_leng(i)
*ENDDO
!定义数组labd_3,存储撑杆单元的长细比
*DIM,labd_3,,2520,1
*DO,i,2353,2520,1 !撑杆单元2353-2520循环
num_103=elmiqr(i,-3) !提取单元I的实常数编号,并赋值给num_103
labd_3(i)=strut_leng(i)/i_r(num_103) !计

算第I个单元的长细比,并赋值给labd_3(i)
*ENDDO

!定义数组fei_strut, !存储撑杆单元的稳定系数
*DIM,fei_strut,,2520
*DO,i,2353,2520,1 !撑杆单元2353-2520循环
i_fei=labd_3(i)/3.14*sqrt(345e6/206e9)
*IF,i_fei,le,0.215,then
fei_strut(i)=1-0.65*i_fei**2
*ELSE
fei_strut(i)=1/(2*i_fei**2)*((0.965+0.3*i_fei+i_fei**2)-sqrt((0.965+0.3*i_fei+i_fei**2)**2-4*i_fei**2))
*ENDIF
*ENDDO

/POST1 !进入后处理
RSYS,11 !将局部坐标系11激活为结果坐标系
SET,last !将最后一个子步的结果数据读入
ETABLE,as_i,ls,1 !将单元I端的轴向应力结果定义为列表as_i
ETABLE,as_j,ls,6 !将单元J端的轴向应力结果定义为列表as_j
ETABLE,ls_2,ls,2 !将单元I端的正Y方向的应力结果定义为列表ls_2
ETABLE,ls_7,ls,7 !将单元J端的正Y方向的应力结果定义为列表ls_7
ETABLE,ls_4,ls,4 !将单元I端的正Z方向的应力结果定义为列表ls_4
ETABLE,ls_9,ls,9 !将单元J端的正Z方向的应力结果定义为列表ls_9
ETABLE,fx_i,SMISC,1 !将单元I端的轴向力结果定义为列表fx_i
ETABLE,fx_j,SMISC,7 !将单元I端的轴向力结果定义为列表fx_j
!****单层网壳单元应力比,单元总数2352,编号1-2352
!定义数组upchord_axial,!存储单层网壳梁单元的轴向应力
*DIM,upchord_axial,,2352
*DO,i,1,2352,1 !单层网壳单元1-2352循环
*GET,pp1,ELEM,i,etab,as_i !提取单元I的I端的轴向应力,并赋值给pp1
*GET,pp2,ELEM,i,etab,as_j !提取单元I的J端的轴向应力,并赋值给pp2
*SET,pp,max(abs(pp1),abs(pp2)) !将pp1和pp2绝对值的最大值赋值给pp
*SET,upchord_axial(i),pp !将pp赋值给数组upchord_axial(i)
*ENDDO
!定义数组upchord_y,!储存单层网壳梁单元Y向弯曲应力
*DIM,upchord_y,,2352
*DO,i,1,2352,1 !单层网壳单元1-2352循环
*GET,pp1,ELEM,i,etab,ls_2 !提取单元I的I端的Y向应力,并赋值给pp1
*GET,pp2,ELEM,i,etab,ls_7 !提取单元I的J端的Y向应力,并赋值给pp2
*SET,pp,max(abs(pp1),abs(pp2)) !将pp1和pp2绝对值的最大值赋值给pp
*SET,upchord_y(i),pp !将pp赋值给数组upchord_y(i)
*ENDDO


!定义数组upchord_z,存储单层网壳梁单元Z向弯曲应力
*DIM,upchord_z,,2352
*DO,i,1,2352,1 !单层网壳单元1-2352循环
*GET,pp1,ELEM,i,etab,ls_4 !提取单元I的I端的Z向应力,并赋值给pp1
*GET,pp2,ELEM,i,etab,ls_9 !提取单元I的J端的Z向应力,并赋值给pp2
*SET,pp,max(abs(pp1),abs(pp2)) !将pp1和pp2绝对值的最大值赋值给pp
*SET,upchord_z(i),pp !将pp赋值给数组upchord_z(i)
*ENDDO

!定义数组upchord_fx,存储单层网壳梁单元轴向力
*DIM,upchord_fx,,2352
*DO,i,1,2352,1 !单层网壳单元1-2352循环
*GET,pp1,ELEM,i,smisc,1 !提取单元I的I端的轴向应力,并赋值给pp1
*GET,pp2,ELEM,i

,smisc,7 !提取单元I的J端的轴向应力,并赋值给pp2
*SET,pp,max(abs(pp1),abs(pp2)) !将pp1和pp2绝对值的最大值赋值给pp
*SET,upchord_fx(i),pp !将pp赋值给数组upchord_fx(i)
*ENDDO

!定义数组upchord_cx,存储单层网壳梁单元杆件临界力
*DIM,upchord_cx,,2352
*DO,i,1,2352,1 !单层网壳单元1-2352循环
inum_1=elmiqr(i,-3) !提取单元I的实常数编号
*GET,area_1,RCON,inum_1,CONST,1 !提取单元I的截面面积
upchord_cx(i)=3.14**2*2.06e11*area_1/(1.1*labd_1(i)**2)
*ENDDO

!定义数组upchord,存储单层网壳梁单元杆件应力比
*DIM,upchord,,2352
*DO,i,1,2352,1
inum_21=1/(1-0.8*upchord_fx(i)/upchord_cx(i))
inum_22=(upchord_axial(i)/fei(i)+upchord_y(i)*inum_21+0.7*upchord_z(i))/310e6
inum_23=(upchord_axial(i)/fei(i)+upchord_z(i)*inum_21+0.7*upchord_y(i))/310e6
*SET,upchord(i),max(abs(inum_22),abs(inum_23))
*ENDDO
!****撑杆单元应力比,单元总数168,编号2353-2520
!定义数组strut,!存储撑杆单元的应力比
*DIM,strut,,2520
*DO,i,2353,2520,1 !撑杆单元2353-2520循环
*GET,pp,ELEM,i,etab,as_i !提取撑杆单元I的轴向应力,并赋值给pp
*SET,strut(i),pp/310e6/fei_strut(i) !计算应力比,并赋值给strut(i)
*ENDDO
!*****环索单元应力比,单元总数168,编号2521-2688
!定义数组cable_huan,!存储环索单元的应力比
*DIM,cable_huan,,2688
*DO,i,2521,2688,1 !环索单元2521-2688循环
*GET,pp,ELEM,i,etab,as_i !提取环索单元I的轴向应力,并赋值给pp
*SET,cable_huan(i),pp/1670e6 !计算应力比,并赋值给cable_huan(i)
*ENDDO
!********径向杆单元应力比,单元总数378,编号2689-3066
!定义数组cable_r,存储径向拉杆单元的应力比
*DIM,cable_r,,3066,1
*DO,i,2689,3066,1 !径向拉杆单元2689-3066循环
*GET,pp,ELEM,i,etab,as_i !提取径向拉杆单元I的轴向应力,并赋值给pp
*SET,cable_r(i),pp/835e6 !计算应力比,并赋值给cable_r(i)
*ENDDO

!********提取网壳支座反力
!定义数组reaction_up,存储弦支穹顶结构周边支座的三向支座反力
*DIM,reaction_up,,24,3
!提取24个支座的X向反力,并赋值给数组reaction_up(i,1)
*DO,i,1,24,1
*GET,reaction_up(i,1),node,718+4*i,rf,fx
*ENDDO
!提取24个支座的Y向反力,并赋值给数组reaction_up(i,2)
*DO,i,1,24,1
*GET,reaction_up(i,2),node,718+4*i,rf,fy
*ENDDO
!提取24个支座的Z向反力,并赋值给数组reaction_up(i,3)
*DO,i,1,24,1
*GET,reaction_up(i,3),node,718+4*i,rf,fz
*ENDDO

!定义数组disp,存储弦支穹顶结构的节点位移
*GET,ncount,node,0,count 提取有限元模型的节点总数,并赋值给ncount
*DIM,disp,,ncount,4
!提取节点的X向位移,并赋值给disp(i,1)
mm=1
*DO,i,1,ncount,1
*GET,disp(i,1),NODE,mm,U,x
*GET,ma,node,mm,NXTH,
mm=ma
*ENDDO
!提取节点的Y向位移,并赋值给disp(i,2)
mm=1
*DO,i,1,ncount,1
*GET,disp(i,2),NODE,mm,U,y
*GET,ma,

node,mm,NXTH,
mm=ma
*ENDDO
!提取节点的Z向位移,并赋值给disp(i,3)
mm=1
*DO,i,1,ncount,1
*GET,disp(i,3),NODE,mm,U,z
*GET,ma,node,mm,NXTH,
mm=ma
*ENDDO
!提取节点的合位移,并赋值给disp(i,4)
mm=1
*DO,i,1,ncount,1
*GET,disp(i,4),NODE,mm,U,sum
*GET,ma,node,mm,NXTH,
mm=ma
*ENDDO

!定义数组ration,存储所有单元的应力比
*DIM,s_ration,,3066
!将单层网壳的单元的应力比赋值给数组ration
*DO,i,1,2352,1
*set,s_ration(i),upchord(i)
*ENDDO
!将撑杆单元的应力比赋值给数组ration
*DO,i,2353,2520,1
*set,s_ration(i),strut(i)
*ENDDO
!将环索单元的应力比赋值给数组ration
*DO,i,2521,2688,1
*set,s_ration(i),cable_huan(i)
*ENDDO
!将径向杆单元的应力比赋值给数组ration
*DO,i,2689,3066,1
*set,s_ration(i),cable_r(i)
*ENDDO

!将应力比结果写入E:\BOOK_APDL\chapter_5\exzample5.6\stress_ration文件中
*CFOPEN,E:\BOOK_APDL\chapter_5\exzample5.6\stress_ration,txt,,append
*VWRITE,sequ,s_ration(1)
(f8.0,f16.8)
*CFCLOS
!将支座反力结果写入E:\BOOK_APDL\chapter_5\exzample5.6\reaction文件中
*CFOPEN,E:\BOOK_APDL\chapter_5\exzample5.6\reaction,txt,,append
*VWRITE,sequ,reaction_up(1,1),reaction_up(1,2),reaction_up(1,3)
(f8.0,3f16.2)
!将节点位移结果写入E:\BOOK_APDL\chapter_5\exzample5.6\displacement文件中
*CFOPEN,E:\BOOK_APDL\chapter_5\exzample5.6\displacement,txt,,append
*VWRITE,sequ,disp(1,1),disp(1,2),disp(1,3),disp(1,4)
(f8.0,4f16.8)
*CFCLOS
FINISH

相关文档