在水工結構的抗震計算中,不可避免的須要考慮動水壓力的做用,當前規範中通常是要求將動水壓力以附加質量的形式考慮,若是對壓力用質量形式考慮有疑惑時,能夠這樣理解:結構發生振動時,會帶動周圍的水體發生運動,咱們能夠將這部分水體以質量的形式附加在結構表面,進而近似考慮動水壓力的做用。但這裏要對概念分清楚,動水壓力並不等同於附加質量,附加質量只是動水壓力做用的近似考慮,動力狀況下,水體對結構不僅是質量的影響,還有剛度和阻尼的影響。node
如下是基於westergarrd公式給ANSYS模型附加質量的一個簡單命令,僅供參考:react
/PREP7數組
H=242 !定義最大水深函數
Z0=2210 !定義壩基面高程post
Z1=Z0+H !定義水面高程spa
rouw=1000 !定義水體密度,kg/m33d
zjxs=0.5 !拱壩動水壓力折減係數0.5,重力壩爲1.0 blog
!定義mass21單元,單元類型編號99ci
et,99,mass21get
nr=100 !用於實常數編號
allsel
CMSEL,S,shangyoumian,AREA
NSLA,S,1
!將須要附加質量的節點編爲一個數組
*get,n1,node,,count
*dim,nn1,array,n1
*get,nmin,node,,num,min
nn1(1)=nmin
*do,i,2,n1
*get,nnum,node,nmin,nxth
nmin=nnum
nn1(i)=nmin
*enddo
allsel
!根據節點位置以及節點影響面積附加不一樣質量
*do,i,1,n1
nnum=nn1(i)
z=nz(nnum)
hc=Z1-z
!高於水面的節點附加質量爲0
*IF,hc,LT,0,THEN
hc=0
*ENDIF
type,99
nr=nr+1
m=zjxs*7/8*rouw*ARNODE(nnum)*sqrt(H*hc) !westergarrd公式計算每一個節點應該附加的質量,ARNODE()函數用於獲取括號內節點的控制面積。
r,nr,0,m,0 !定義實常數,nr-實常數編號,後三個依次是X、Y、Z方向的附加質量
real,nr
e,nnum
*enddo
allsel
這段命令附加質量的方向並不靈活,在結構水體交界面爲曲面時並不適合;後來我又學到了一種更好的方法,其思路是先在結構與水的交界面按westergarrd公式施加壓力,同時約束這些面求解,獲得全部節點的反力,這些節點三個方向的反力值的絕對值就是該節點三個方向應該附加的質量。命令流以下:
! 首先設置耦合面爲shangyoumian的關於面的集合
H=242 !定義最大水深
Z0=2210 !定義壩基面高程
Z1=Z0+H !定義水面高程
rouw=1000 !定義水體密度,kg/m3
zjxs=0.5 !拱壩動水壓力折減係數0.5,重力壩爲1.0
/sol
antype,0
!在耦合面shangyoumian上按照westergarrd公式施加動水壓力函數荷載
*DEL,_FNCNAME
*DEL,_FNCMTID
*DEL,_FNC_C1
*DEL,_FNC_C2
*DEL,_FNC_C3
*DEL,_FNC_C4
*DEL,_FNCCSYS
*SET,_FNCNAME,'dynwater'
*DIM,_FNC_C1,,1
*DIM,_FNC_C2,,1
*DIM,_FNC_C3,,1
*DIM,_FNC_C4,,1
*SET,_FNC_C1(1),zjxs
*SET,_FNC_C2(1),rouw
*SET,_FNC_C3(1),H
*SET,_FNC_C4(1),Z1
*SET,_FNCCSYS,0
! /INPUT,.\test_rst\dynmaic_water.func,,,1
*DIM,%_FNCNAME%,TABLE,6,10,1,,,,%_FNCCSYS%
!
! Begin of equation: zjxs*7/8*rouw*sqrt(h*(z1-{Z}))
*SET,%_FNCNAME%(0,0,1), 0.0, -999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), %_FNC_C1(1)%
*SET,%_FNCNAME%(4,0,1), %_FNC_C2(1)%
*SET,%_FNCNAME%(5,0,1), %_FNC_C3(1)%
*SET,%_FNCNAME%(6,0,1), %_FNC_C4(1)%
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, 7, 0, 0, 17
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, 17, 3, -1
*SET,%_FNCNAME%(0,3,1), 0, -1, 0, 8, 0, 0, -2
*SET,%_FNCNAME%(0,4,1), 0.0, -3, 0, 1, -2, 4, -1
*SET,%_FNCNAME%(0,5,1), 0.0, -1, 0, 1, -3, 3, 18
*SET,%_FNCNAME%(0,6,1), 0.0, -2, 0, 1, 20, 2, 4
*SET,%_FNCNAME%(0,7,1), 0.0, -3, 0, 1, 19, 3, -2
*SET,%_FNCNAME%(0,8,1), 0.0, -2, 16, 1, -3, 0, 0
*SET,%_FNCNAME%(0,9,1), 0.0, -3, 0, 1, -1, 3, -2
*SET,%_FNCNAME%(0,10,1), 0.0, 99, 0, 1, -3, 0, 0
! End of equation: zjxs*7/8*rouw*sqrt(h*(z1-{Z}))
!-->
ALLSEL
CMSEL,S,shangyoumian,AREA
SFA,all,1,PRES, %DYNWATER%
!隨後約束耦合面上的節點,並求解
DA,ALL,ALL,
ALLSEL
SOLVE
!從計算結果中提取節點反力,保存進數組
/post1
set,1
allsel
CMSEL,S,shangyoumian,AREA
NSLA,S,1
!將須要提取反力的節點編進二維數組,依次爲節點編號,x方向的反力,y方向的反力,z方向的反力
*get,n_node,node,,count
*dim,reacted_force,array,n_node,4
*get,nmin,node,,num,min
reacted_force(1,1)=nmin
*get,reacted_force(1,2),node,nmin,rf,fx
*get,reacted_force(1,3),node,nmin,rf,fy
*get,reacted_force(1,4),node,nmin,rf,fz
*do,i,2,n_node
*get,nnum,node,nmin,nxth
nmin=nnum
reacted_force(i,1)=nmin
*get,reacted_force(i,2),node,nmin,rf,fx
*get,reacted_force(i,3),node,nmin,rf,fy
*get,reacted_force(i,4),node,nmin,rf,fz
*enddo
allsel
!從新進入前處理模塊,附加質量
/PREP7
!定義mass21單元
et,99,mass21
nr=100 !用於實常數編號
*do,i,1,n_node
nnum=reacted_force(i,1)
z=nz(nnum)
hc=Z1-z
!高於水面的節點附加質量爲0
*IF,hc,LT,0,THEN
reacted_force(i,2)=0
reacted_force(i,3)=0
reacted_force(i,4)=0
*ENDIF
type,99
nr=nr+1
r,nr,abs(reacted_force(i,2)),abs(reacted_force(i,3)),abs(reacted_force(i,4))
real,nr
e,nnum
*enddo
Allsel
!!!!!!!!!!!!!最後要注意,用這個模型進行其餘計算時記得刪除前述施加的荷載
如下爲我給一個拱壩附加質量的效果圖以及兩種方法計算獲得的拱壩模態頻率的對比。
拱壩附加動水質量
Tab. 兩種附加動水質量方法的拱壩模態頻率的對比
|
第一種方法 |
第二種方法 |
第1階 |
1.5720 |
1.4046 |
第2階 |
1.7670 |
1.5841 |
第3階 |
2.5225 |
2.2500 |
第4階 |
2.8689 |
2.6630 |
第5階 |
3.3307 |
3.0073 |
參考文獻:
NB 35047-2015 水電工程水工建築物抗震規範
潘堅文《ABAQUS在水利工程中的應用》