• ANSYS附加动水质量(westergarrd公式)


    在水工结构的抗震计算中,不可避免的需要考虑动水压力的作用,当前规范中一般是要求将动水压力以附加质量的形式考虑,如果对压力用质量形式考虑有疑惑时,可以这样理解:结构发生振动时,会带动周围的水体发生运动,我们可以将这部分水体以质量的形式附加在结构表面,进而近似考虑动水压力的作用。但这里要对概念分清楚,动水压力并不等同于附加质量,附加质量只是动水压力作用的近似考虑,动力情况下,水体对结构不只是质量的影响,还有刚度和阻尼的影响。

    以下是基于westergarrd公式给ANSYS模型附加质量的一个简单命令,仅供参考:

    /PREP7

    H=242             !定义最大水深

    Z0=2210            !定义坝基面高程

    Z1=Z0+H              !定义水面高程

    rouw=1000            !定义水体密度,kg/m3

    zjxs=0.5             !拱坝动水压力折减系数0.5,重力坝为1.0 

    !定义mass21单元,单元类型编号99

    et,99,mass21

    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,. est_rstdynmaic_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在水利工程中的应用》

  • 相关阅读:
    华为实习日记——第二十三天
    华为实习日记——第二十二天
    华为实习日记——第二十一天
    华为实习日记——第二十天
    HDU 5102 The K-th Distance(模拟)
    HDU 4113 Construct the Great Wall(插头dp)
    UVALive 4849 String Phone(2-sat、01染色)
    HDU 4859 海岸线(最大流最小割)
    HDU 3879 Base Station(最大权闭合子图)
    POJ 3155 Hard Life(最大密度子图)
  • 原文地址:https://www.cnblogs.com/w-tao13614/p/10459316.html
Copyright © 2020-2023  润新知