找回密码
 注册
Simdroid-非首页
查看: 208|回复: 3

[边界条件施加] 隧道荷载结构模式等效节点荷载施加

[复制链接]
发表于 2013-12-14 14:16:53 | 显示全部楼层 |阅读模式 来自 陕西西安
本帖最后由 echowasd 于 2015-10-17 00:03 编辑

隧道荷载结构模式计算时,在节点上添加等效节点力的时候是比较麻烦的事。受力简图:

计算简图:

等效节点力:


自动添加节点命令流:


! 本子程序适用于隧道荷载——结构模式计算荷载施加。
! 用户选择衬砌单元,并设置Q1, Q2, E1, E2, E3, E4
! 程序会根据选择集自动判断节点并加载节点力。
! 注意事项:(1) 结构尽量为封闭环状;
!                        (2) 结构需关于x、y轴对称;
!                        (3) 单元划分较细,忽略等效节点弯矩。
!
! 西南交通大学地下工程系,求是工作室
! g.wang.89@foxmail.com          2013/12/12

! *SET,_Q1,42410
! *SET,_Q2,62410
! *SET,_E1,12482
! *SET,_E2,22482
! *SET,_E3,22482
! *SET,_E4,32482

! LSEL,S,MAT,,1
! ESLL,S
NSLE,S

*GET,_E_MAX,ELEM,,NUM,MAX
*GET,_E_MIN,ELEM,,NUM,MIN
*GET,_E_COUNT,ELEM,,COUNT
*GET,_N_MAX,NODE,,NUM,MAX
*GET,_N_MIN,NODE,,NUM,MIN
*GET,_N_COUNT,NODE,,COUNT
*GET,_LOC_X_MAX,NODE,,MXLOC,X
*GET,_LOC_X_MIN,NODE,,MNLOC,X
*GET,_LOC_Y_MAX,NODE,,MXLOC,Y
*GET,_LOC_Y_MIN,NODE,,MNLOC,Y
*SET,_WIDTH,_LOC_X_MAX-_LOC_X_MIN
*SET,_HEIGHT,_LOC_Y_MAX-_LOC_Y_MIN
*SET,_CENT_X,(_LOC_X_MAX+_LOC_X_MIN)/2
*SET,_CENT_Y,(_LOC_Y_MAX+_LOC_Y_MIN)/2
*SET,_I_ND,_N_MIN
*SET,_I_EL,_E_MIN
*DIM,_NF_INFO,ARRAY,_N_COUNT,4
*DIM,_ND_INDEX,ARRAY,_N_MAX

*DO,I,1,_N_COUNT,1
        *IF,NX(_I_ND),EQ,_LOC_X_MAX,THEN
                _CENT_Y=NY(_I_ND)
        *ENDIF
        *IF,NY(_I_ND),EQ,_LOC_Y_MAX,THEN
                _CENT_X=NX(_I_ND)
        *ENDIF
        _NF_INFO(I,1)=_I_ND
        _ND_INDEX(_I_ND)=I
        _I_ND=NDNEXT(_I_ND)
*ENDDO

*DO,I,1,_E_COUNT,1
        _NI=NELEM(_I_EL,1)
        _NJ=NELEM(_I_EL,2)
        _LOC_XI=NX(_NI)-_LOC_X_MIN
        _LOC_YI=NY(_NI)-_LOC_Y_MIN
        _LOC_XJ=NX(_NJ)-_LOC_X_MIN
        _LOC_YJ=NY(_NJ)-_LOC_Y_MIN
        *GET,_E_CENT_X,ELEM,_I_EL,CENT,X
        *GET,_E_CENT_Y,ELEM,_I_EL,CENT,Y
        
        *IF,_E_CENT_X,GT,_CENT_X,THEN
                *IF,_E_CENT_Y,GT,_CENT_Y,THEN
                        _E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)
                        _Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH
                        _E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)
                        _Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH
                *ELSE
                        _E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)
                        _Q_I=0
                        _E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)
                        _Q_J=0
                *ENDIF
        *ELSE
                *IF,_E_CENT_Y,GT,_CENT_Y,THEN
                        _E_I= _E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)
                        _Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH
                        _E_J= _E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)
                        _Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH
                *ELSE
                        _E_I=_E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)
                        _Q_I=0
                        _E_J=_E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)
                        _Q_J=0
                *ENDIF
        *ENDIF
        _FX_I=0.05*(7*_E_J+3*_E_I)*ABS(_LOC_YJ-_LOC_YI)
        _FY_I=0.05*(7*_Q_I+3*_Q_J)*ABS(_LOC_XJ-_LOC_XI)
        _FX_J=0.05*(3*_E_J+7*_E_I)*ABS(_LOC_YJ-_LOC_YI)
        _FY_J=0.05*(3*_Q_I+7*_Q_J)*ABS(_LOC_XJ-_LOC_XI)
        
        _NF_INFO(_ND_INDEX(_NI),2)=_NF_INFO(_ND_INDEX(_NI),2)+_FX_I
        _NF_INFO(_ND_INDEX(_NI),3)=_NF_INFO(_ND_INDEX(_NI),3)+_FY_I
        _NF_INFO(_ND_INDEX(_NJ),2)=_NF_INFO(_ND_INDEX(_NJ),2)+_FX_J
        _NF_INFO(_ND_INDEX(_NJ),3)=_NF_INFO(_ND_INDEX(_NJ),3)+_FY_J
        ! MZ
        _I_EL=ELNEXT(_I_EL)
*ENDDO

*DO,I,1,_N_COUNT,1
        F,_NF_INFO(I,1),FX,_NF_INFO(I,2)
        F,_NF_INFO(I,1),FY,_NF_INFO(I,3)
        ! MZ
*ENDDO

! FREE THE MEMORY
*DEL,_ND_INDEX,,NOPR
*DEL,_NF_INFO,,NOPR
! FOR MORE INFORMATION CONTACT: g.wang.89@foxmail.com



应用实例:

finish
/clear
/prep7
k,1,0,10.382543,0
k,2,-3.827191,-3.339448,0
k,3,3.827191,-3.339448,0
k,4,-3.197118,-1.080406,0
k,5,-5.418947,-1.831231,0
k,6,-3.82719,-3.339448,0
k,7,0,0,0
k,8,5.418947,-1.831232,0
k,9,3.38019,4.614403,0
k,10,-3.38019,4.614403,0
k,11,-5.418947,-1.831232,0
k,12,3.197118,-1.080406,0
k,13,3.82719,-3.339448,0
k,14,5.418947,-1.831231,0
k,15,5.04,-1.703174,0
k,16,3.143813,4.291718,0
k,17,-3.143813,4.291718,0
k,18,-5.04,-1.703174,0
k,19,3.372632,-1.139718,0
k,20,3.867053,-2.828844,0
k,21,0,10.382444,0
k,22,-3.867053,-2.828844,0
k,23,-3.372632,-1.139718,0
larc,2,3,1,14.245716
larc,5,6,4,2.345264
larc,8,9,7,5.72
larc,9,10,7,5.72
larc,10,11,7,5.72
larc,13,14,12,2.345264
larc,15,16,7,5.32
larc,16,17,7,5.32
larc,17,18,7,5.32
larc,20,15,19,1.76
larc,22,20,21,13.765618
larc,18,22,23,1.76
nummrg,all,0.1 $ numcmp,all
et,1,3 $ esize,0.2
! lmesh,all
lsel,s,,,1,11,2 $ lmesh,all
lsel,s,,,2,12,2 $ lmesh,all
lsel,s,,,7,12   $ esll,s
eplot

*set,_Q1,42410
*set,_Q2,62410
*set,_E1,12482
*set,_E2,22482
*set,_E3,22482
*set,_E4,32482
/input,apply_load,txt






-------------------------------------------------------------------------------------------------
更新
apply load V2


! 本子程序适用于隧道荷载——结构模式计算荷载施加。

! 用户选择衬砌单元,并设置Q1, Q2, Q3, Q4, E1, E2, E3, E4

! 程序会根据选择集自动判断节点并加载节点力。

! 注意事项:(1) 结构尽量为封闭环状;

!          (2) 结构需关于x、y轴对称;

!          (3) 单元划分较细,忽略等效节点弯矩。

!

! 西南交通大学地下工程系,求是工作室

!g.wang.89@foxmail.com    2013/12/12

! v2, 2015/10/16


!*SET,_Q1,42410

!*SET,_Q2,62410

!*SET,_Q3,0

!*SET,_Q4,0

!*SET,_E1,12482

!*SET,_E2,22482

!*SET,_E3,22482

!*SET,_E4,32482


!LSEL,S,MAT,,1

! ESLL,S

NSLE,S


*GET,_E_MAX,ELEM,,NUM,MAX

*GET,_E_MIN,ELEM,,NUM,MIN

*GET,_E_COUNT,ELEM,,COUNT

*GET,_N_MAX,NODE,,NUM,MAX

*GET,_N_MIN,NODE,,NUM,MIN

*GET,_N_COUNT,NODE,,COUNT

*GET,_LOC_X_MAX,NODE,,MXLOC,X

*GET,_LOC_X_MIN,NODE,,MNLOC,X

*GET,_LOC_Y_MAX,NODE,,MXLOC,Y

*GET,_LOC_Y_MIN,NODE,,MNLOC,Y

*SET,_WIDTH,_LOC_X_MAX-_LOC_X_MIN

*SET,_HEIGHT,_LOC_Y_MAX-_LOC_Y_MIN

*SET,_CENT_X,(_LOC_X_MAX+_LOC_X_MIN)/2

*SET,_CENT_Y,(_LOC_Y_MAX+_LOC_Y_MIN)/2

*SET,_I_ND,_N_MIN

*SET,_I_EL,_E_MIN

*DIM,_NF_INFO,ARRAY,_N_COUNT,4

*DIM,_ND_INDEX,ARRAY,_N_MAX


*DO,I,1,_N_COUNT,1

    *IF,NX(_I_ND),EQ,_LOC_X_MAX,THEN

       _CENT_Y=NY(_I_ND)

    *ENDIF

    *IF,NY(_I_ND),EQ,_LOC_Y_MAX,THEN

       _CENT_X=NX(_I_ND)

    *ENDIF

    _NF_INFO(I,1)=_I_ND

    _ND_INDEX(_I_ND)=I

    _I_ND=NDNEXT(_I_ND)

*ENDDO


*DO,I,1,_E_COUNT,1

    _NI=NELEM(_I_EL,1)

    _NJ=NELEM(_I_EL,2)

    _LOC_XI=NX(_NI)-_LOC_X_MIN

    _LOC_YI=NY(_NI)-_LOC_Y_MIN

    _LOC_XJ=NX(_NJ)-_LOC_X_MIN

    _LOC_YJ=NY(_NJ)-_LOC_Y_MIN

    *GET,_E_CENT_X,ELEM,_I_EL,CENT,X

    *GET,_E_CENT_Y,ELEM,_I_EL,CENT,Y

   

    *IF,_E_CENT_X,GT,_CENT_X,THEN

       *IF,_E_CENT_Y,GT,_CENT_Y,THEN

           _E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)

           _Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH

           _E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)

           _Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH

       *ELSE

           _E_I=-_E3-(_E4-_E3)*(1-_LOC_YI/_HEIGHT)

           _Q_I= _Q3-(_Q4-_Q3)*_LOC_XI/_WIDTH

           _E_J=-_E3-(_E4-_E3)*(1-_LOC_YJ/_HEIGHT)

           _Q_J= _Q3-(_Q4-_Q3)*_LOC_XJ/_WIDTH

       *ENDIF

    *ELSE

       *IF,_E_CENT_Y,GT,_CENT_Y,THEN

           _E_I=_E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)

           _Q_I=-_Q1-(_Q2-_Q1)*_LOC_XI/_WIDTH

           _E_J=_E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)

           _Q_J=-_Q1-(_Q2-_Q1)*_LOC_XJ/_WIDTH

       *ELSE

           _E_I=_E1+(_E2-_E1)*(1-_LOC_YI/_HEIGHT)

           _Q_I= _Q3-(_Q4-_Q3)*_LOC_XI/_WIDTH

           _E_J=_E1+(_E2-_E1)*(1-_LOC_YJ/_HEIGHT)

           _Q_J= _Q3-(_Q4-_Q3)*_LOC_XJ/_WIDTH

       *ENDIF

    *ENDIF

    _FX_I=0.05*(7*_E_I+3*_E_J)*ABS(_LOC_YJ-_LOC_YI)

    _FY_I=0.05*(7*_Q_I+3*_Q_J)*ABS(_LOC_XJ-_LOC_XI)

    _FX_J=0.05*(3*_E_I+7*_E_J)*ABS(_LOC_YJ-_LOC_YI)

    _FY_J=0.05*(3*_Q_I+7*_Q_J)*ABS(_LOC_XJ-_LOC_XI)

   

    _NF_INFO(_ND_INDEX(_NI),2)=_NF_INFO(_ND_INDEX(_NI),2)+_FX_I

    _NF_INFO(_ND_INDEX(_NI),3)=_NF_INFO(_ND_INDEX(_NI),3)+_FY_I

    _NF_INFO(_ND_INDEX(_NJ),2)=_NF_INFO(_ND_INDEX(_NJ),2)+_FX_J

    _NF_INFO(_ND_INDEX(_NJ),3)=_NF_INFO(_ND_INDEX(_NJ),3)+_FY_J

    ! MZ

    _I_EL=ELNEXT(_I_EL)

*ENDDO


*DO,I,1,_N_COUNT,1

    F,_NF_INFO(I,1),FX,_NF_INFO(I,2)

    F,_NF_INFO(I,1),FY,_NF_INFO(I,3)

    ! MZ

*ENDDO


! FREEMEMORY

*DEL,_ND_INDEX,,NOPR

*DEL,_NF_INFO,,NOPR
!FOR MORE INFORMATION CONTACT: g.wang.89@foxmail.com




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2013-12-14 15:44:49 | 显示全部楼层 来自 山东济南
Simdroid开发平台
楼主很强大,学习学习
回复 不支持

使用道具 举报

发表于 2015-2-16 11:16:22 | 显示全部楼层 来自 重庆江津区
楼主好人,这个问题困扰很久了
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-4 03:56 , Processed in 0.033390 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表