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,.\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公式)的更多相关文章
- ANSYS渡槽槽身动水压力的施加(2)——U型渡槽
U型渡槽动水压力荷载施加命令及说明 程序中需要用到ANSYS重启动,因为需提取前一步加速度结果以施加部分动水压力: 默认Y方向为重力方向,X方向为横槽向,Z方向为纵槽向: 需准备地震波文件: 需先将槽 ...
- ANSYS渡槽槽身动水压力的施加(1)——矩形渡槽
前言 依据水工抗震规范中关于渡槽动水压力的部分编一个用于ANSYS渡槽模型动水压力施加的命令流,是我研究生时一直想要做的一件事,原因嘛主要是想对比一下规范提供的方法和ANSYS声学流体单元模拟水体这两 ...
- Silverlight动画学习笔记(三):缓动函数
(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效 ...
- HTML5 摇一摇加强版之一次失败的探索
最近在看设备传感器的API,当然也少不了研究一下让微信称神的“摇一摇”了.关于“摇一摇”的实现,网上很多资料所以不详细说了,但总是有布局.效果不全等各种问题,所以作为一名资深copypaster,代码 ...
- TOPSIS算法
title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 C ...
- 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...
- Harmonic Number(调和级数+欧拉常数)
题意:求f(n)=1/1+1/2+1/3+1/4-1/n (1 ≤ n ≤ 108).,精确到10-8 (原题在文末) 知识点: 调和级数(即f(n))至今没有一个完全正确的公式, ...
- A----奇怪的玩意
题目: 我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.该stripies是透明的无定形变形虫似的生物,生活在果冻状的营养培养基平板菌落.大部分的时间stripies在移动.当他 ...
- luogu P2181 对角线
题目大意: 给一个n边形,求出在所有任意三条对角线都不相交于同一个点的情况下,交点个数是多少.(即交点个数最多是多少) 分析: 题目很水,但是公式不好想. 由于任意三条对角线不会交于一点,所以所有的交 ...
随机推荐
- sql server递归
with cte as ( select belongsAgent from [QPProxyDB].[dbo].[BS_ProxyInfo] where ProxyID = @ProxyID uni ...
- dumpe2fs 命令的使用,转储 ext2/ext3/ext4 文件系统信息
使用man 命令可以查看 dumpe2fs 命令具体的使用的方法: NAME dumpe2fs - dump ext2/ext3/ext4 filesystem information SYNOPSI ...
- C语言变量定义与数据溢出(初学者)
1.变量定义的一般形式为:类型说明符.变量名标识符等:例:int a,b,c;(abc为整型变量) 在书写变量定义时应注意以下几点: (1)允许在一个类型说明符后,定义多个相同类型的变量.各变量之间用 ...
- vue实例详解
Vue实例的构造函数 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的 虽然没有完全遵循 MVVM 模式, Vue 的设计无疑受到了它的启发.因此在文档中经常会使用 ...
- Luogu P4727-- 【HNOI2009】图的同构记数
Description 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和 ...
- UOJ 【UR #5】怎样跑得更快
[UOJ#62]怎样跑得更快 题面 这个题让人有高斯消元的冲动,但肯定是不行的. 这个题算是莫比乌斯反演的一个非常巧妙的应用(不看题解不会做). 套路1: 因为\(b(i)\)能表达成一系列\(x(i ...
- innerHTML、innerText和outerHTML、outerText的区别
区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内 ...
- POJ1419 Graph Coloring
嘟嘟嘟 求无向图的最大独立集. 有这么一回事:最大独立集=补图的最大团. 所谓的最大团,就是一个子图,满足图中任意两点都有边. 然后ssy巨佬告诉了我一个很没有道理强的做法:随机. 每一次random ...
- npm 常用命令 查看版本、安装、卸载
npm list // 查看本地已安装模块清单 npm list [packageName] // 查看本地已安装模块版本 npm info [packageName] //查看模块的详细信息 包括各 ...
- oracle 索引扫描类型的分类与构造
1. INDEX RANGE SCAN--请记住这个INDEX RANGE SCAN扫描方式drop table t purge;create table t as select * from dba ...