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

以下是基于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,.\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在水利工程中的应用》

ANSYS附加动水质量(westergarrd公式)的更多相关文章

  1. ANSYS渡槽槽身动水压力的施加(2)——U型渡槽

    U型渡槽动水压力荷载施加命令及说明 程序中需要用到ANSYS重启动,因为需提取前一步加速度结果以施加部分动水压力: 默认Y方向为重力方向,X方向为横槽向,Z方向为纵槽向: 需准备地震波文件: 需先将槽 ...

  2. ANSYS渡槽槽身动水压力的施加(1)——矩形渡槽

    前言 依据水工抗震规范中关于渡槽动水压力的部分编一个用于ANSYS渡槽模型动水压力施加的命令流,是我研究生时一直想要做的一件事,原因嘛主要是想对比一下规范提供的方法和ANSYS声学流体单元模拟水体这两 ...

  3. Silverlight动画学习笔记(三):缓动函数

    (一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效 ...

  4. HTML5 摇一摇加强版之一次失败的探索

    最近在看设备传感器的API,当然也少不了研究一下让微信称神的“摇一摇”了.关于“摇一摇”的实现,网上很多资料所以不详细说了,但总是有布局.效果不全等各种问题,所以作为一名资深copypaster,代码 ...

  5. TOPSIS算法

    title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 ​ C ...

  6. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis

    论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...

  7. Harmonic Number(调和级数+欧拉常数)

    题意:求f(n)=1/1+1/2+1/3+1/4-1/n   (1 ≤ n ≤ 108).,精确到10-8    (原题在文末) 知识点:      调和级数(即f(n))至今没有一个完全正确的公式, ...

  8. A----奇怪的玩意

      题目: 我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.该stripies是透明的无定形变形虫似的生物,生活在果冻状的营养培养基平板菌落.大部分的时间stripies在移动.当他 ...

  9. luogu P2181 对角线

    题目大意: 给一个n边形,求出在所有任意三条对角线都不相交于同一个点的情况下,交点个数是多少.(即交点个数最多是多少) 分析: 题目很水,但是公式不好想. 由于任意三条对角线不会交于一点,所以所有的交 ...

随机推荐

  1. 在c/c++中调用Java方法

    JNI就是Java Native Interface, 即可以实现Java调用本地库, 也可以实现C/C++调用Java代码, 从而实现了两种语言的互通, 可以让我们更加灵活的使用. 通过使用JNI可 ...

  2. JMeter—定时器(八)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第三节定时器 JMeter中的定时器一般用来设置延迟与同步.定时器的执行优先级高于取样器,在同一作用域下有多个定 ...

  3. python第三天 变量 作业

    作业1,模拟登陆:1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户 使用文件:user_file.txt  用户列表文件.     格式:{'张三':'12 ...

  4. 关于无限试用JetBrains产品的方案

    JetBrains免费试用期限为30天,通过对其试用机制的设想,找到了其破解试用机制的方案,具体如下: 在选择试用JetBrains产品的时候,它会在 C:\Users\用户名\对应产品\config ...

  5. 【PAT】B1053 住房空置率(20 分)

    #include<cstdio> #include<string.h> #include<algorithm> using namespace std; int m ...

  6. Beta冲刺! Day3 - 砍柴

    Beta冲刺! Day3 - 砍柴 今日已完成 晨瑶:追查进度:确定推荐算法 昭锡:查看Note模块的处理逻辑.查找主页UI的解决方案 永盛:数据库的大量整合和新建,备份和还原:完成部分新的逻辑 立强 ...

  7. var a = {m:1}; var b = a; a.n = b ={n:1}; console.log(a);console.log(b);

    var a = {m:1}; var b = a; a.n = b ={n:1}; console.log(a); console.log(b); 确定b为{n:1},所以a为 {m:1,n:{n:1 ...

  8. 【夯实PHP基础】微信小程序开发 2017.02.06

    本文地址 分享提纲 1. 概述 2. 简易教程 1. 概述 1)[小程序是什么] 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 2)[快速体验 ...

  9. <20180923>中秋节日期间的维护日志

    (一) 陌生环境下断网是有风险的,提前做好准备. 1.1 某企业的机柜自2017年5月开始就没有作硬件更新和维护了: 趁着这次节日空挡可做一个机柜的重新整理维护: 首先看了下是老款某知名品牌的型号为6 ...

  10. dp 动态规划 之C - Apple Catching 简单基础

    终于开始写dp了,还很不熟练 It is a little known fact that cows love apples. Farmer John has two apple trees (whi ...