前言
依据水工抗震规范中关于渡槽动水压力的部分编一个用于ANSYS渡槽模型动水压力施加的命令流,是我研究生时一直想要做的一件事,原因嘛主要是想对比一下规范提供的方法和ANSYS声学流体单元模拟水体这两种方法的结果。但是由于时间关系,毕业以前并没有完成,所幸毕业工作之后还有点空闲时间,就把这个命令编了一下。不过我估计几乎不会有人用这个命令了以及规范的这种方法了,毕竟从理论上来说,用声学单元模拟得到的结果肯定是比规范的方法精确的,而且操作也很简单,不涉及编命令。但是不管怎么样,还是放上来充个数吧。
命令依据NB 35047-2015《水电工程水工建筑物抗震设计规范》中附录B 渡槽槽体内动水压力计算部分编写,分为两个,一个用于矩形渡槽,另一个用于U型渡槽。
矩形渡槽的动水荷载命令说明
命令运行前的准备工作
-
保证模型的坐标系为:Y方向为重力方向,X方向为横槽向,Z方向为纵槽向;
- 计算中需要用到ANSYS重启动技术,因为施加的部分动水荷载的数值需要由渡槽截面槽底中心处的水平或竖直加速度响应值计算得到,所以命令中加入了导入地震波的命令,需要提前准备好地震波文件accel_x.txt、accel_y.txt、accel_z.txt并记得修改步长DT与总步数NT;
- 需先将槽底面和槽壁面编为组元:bottom_areas, left_areas,right_areas
-
修改相关参数(红色)。
pi=3.1415926 !圆周率
H_water=2 !槽内水深
l_water=2 !半槽宽
rou_water=1000 !水体密度
M_water=H_water*l_water*rou_water*2 ! 1m长度的水体质量
node_control=158 !控制点------截面槽底中心处的节点号
coord_y_control=ny(node_control) !得到控制点的y坐标
coord_x_control=nx(node_control)
coord_z_control=nz(node_control)
coord_y_water=coord_y_control+H_water !水面高度坐标
/prep7
!定义mass21单元
et,99,mass21
!定义弹簧单元
et,98,combin14
!初始实常数
nr=100
!读入地震波
*SET,NT,200 !地震加速度步数
*SET,DT,0.01 !地震加速度步长
*DIM,accel_x,,NT
*DIM,accel_y,,NT
*DIM,accel_z,,NT
*VREAD,accel_x,'accel_x','txt'
(F12.9)
*VREAD,accel_y,'accel_y','txt'
(F12.9)
*VREAD,accel_z,'accel_z'