
/PREP7
!㵥Ԫĳϸȣǹ淶㳤ȡʵʳȵ1.5
!嵥ԪĻת뾶бʵһ
*DIM,i_r,,14,1
*SET,i_r(1),0.0697       !ֹp203x6Ļת뾶 
*SET,i_r(2),0.075        !ֹp219x7Ļת뾶 
*SET,i_r(3),0.0842       !ֹp245x7Ļת뾶 
*SET,i_r(4),0.0937       !ֹp273x8Ļת뾶 
*SET,i_r(5),0.1029       !ֹp299x8Ļת뾶 
*SET,i_r(13),0.075       !ֹP219x7Ļת뾶 
!******㵥ǵԪȶϵ2352ԪԪ1-2352
!ȡԪ
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
!****ǵԪӦȣԪ23521-2352
!upchord_axial!洢ԪӦ
*DIM,upchord_axial,,2352
*DO,i,1,2352,1      !ǵԪ1-2352ѭ
*GET,pp1,ELEM,i,etab,as_i   !ȡԪII˵Ӧֵpp1
*GET,pp2,ELEM,i,etab,as_j   !ȡԪIJ˵Ӧֵpp2
*SET,pp,max(abs(pp1),abs(pp2))  !pp1pp2ֵֵֵ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  !ȡԪII˵YӦֵpp1
*GET,pp2,ELEM,i,etab,ls_7 !ȡԪIJ˵YӦֵpp2
*SET,pp,max(abs(pp1),abs(pp2))  !pp1pp2ֵֵֵ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   !ȡԪII˵ZӦֵpp1
*GET,pp2,ELEM,i,etab,ls_9   !ȡԪIJ˵ZӦֵpp2
*SET,pp,max(abs(pp1),abs(pp2))   !pp1pp2ֵֵֵ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  !ȡԪII˵Ӧֵpp1
*GET,pp2,ELEM,i,smisc,7  !ȡԪIJ˵Ӧֵpp2
*SET,pp,max(abs(pp1),abs(pp2))   !pp1pp2ֵֵֵ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
!****Ÿ˵ԪӦȣԪ1682353-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
!*****ԪӦȣԪ1682521-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
!********˵ԪӦȣԪ3782689-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