ADCIRC

ADCIRC

实例01 | Docker01 | Docker02 | ERA |

fort.14 |


ADCIRC模型(An Advanced Circulation Model For Oceanic,Coastal and Estuarine Waters)是由北卡罗来纳大学海洋科学研究所的Luettich教授和美国圣母大学的Westerink教授联合研制的,可应用于海洋、海岸、河口跨尺度区域的水动力计算的数学模型。

在笛卡尔坐标系中,该模型采用沿水深积分的时均连续方程和运动方程,具体形式如下。在笛卡尔坐标系中,该模型采用沿水深积分的时均连续方程和运动方程,具体形式如下。


为避免或减小伽留金有限元离散出现的虚假振荡,ADCIRC采用通用波动连续性方程(GWCE)来代替原有的连续性方程。GWCE是对原始的连续性方程取时间导数,将对空间求导的深度积分的动量方程带入上一方程,再加上将原始连续性方程乘上一个权重系数的乘积得到的,与原有连续性方程相比,在没有对流加速度情况下,采用通用波动连续性方程,可以对波长相当于两倍空间步长的短波产生阻尼作用,使得对长波的计算更加方便和精确;同时,GWCE方程是自然解耦的,且质量矩阵与时间无关,因此模型的求解较为简便,从而大大提高了计算效率和稳定性。



2.ADCIRC模块使用流程

1)ADCIRC基本知识:

功能:计算潮位和平均流速

最大的优点:加各种建筑物(防波堤、潜堤等)和取水口

输入输出文件

边界条件:开边界(fort.19)、闭边界

动力因素:大气压及风应力(fort.22)、波浪辐射应力(fort.23)、底摩阻

2)ADCIRC输入输出文件:
输入文件
fort.12 初始条件(一般不用)
fort.14 网格信息界信息(可由SMS生成)
fort.15 模型计算控制与边参数(可由SMS生成)
fort.19 开边界水位序列
fort.20 取水口条件信息
fort.21 摩擦系数信息(一般不用)
fort.22 气象条件信息(风和大气压力)
fort.23 波浪辐射应力信息

输出文件
fort.16 运行信息
frot.51 测站潮位调和常数
fort.52 测站流速调和常数
fort.53 全部节点潮位潮汐分量调和常数
fort.54 全部节点流速潮汐分量调和常数
fort.61 测站潮位时间序列
fort.62 测站流速时间序列
fort.63 全部节点潮位时间序列
fort.64 全部节点流速时间序列
fort.71 测站大气压力时间序列
fort.72 测站风速时间序列
fort.73 全部节点大气压力时间序列
fort.74 全部节点风速时间序列

3)开边界条件:

1.潮汐分量给出
2.潮位
4、闭边界条件:
0 外部本质边界条件无垂向流,无强迫切向流速,也就是通常说的滑移边界
1 内部无垂向流速条件,无强迫切向流速
2 外部边界条件 有垂向流速,无强迫切向流速
3 外部障碍 垂向流速可有可无,无强迫切向流速,
4 内部障碍 垂向流速可有可无,无强迫切向流速,
10 外部边界,流速都为0,无滑移边界
11 内部边界,流速都为0,无滑移边界
12 外部边界,有垂向流速,无切向流速
13 外部障碍 垂向流速可有可无,切向流速为0
20 外部本质边界条件无垂向流,无强迫切向流速,也就是通常说的滑移边界
21 内部无垂向流速条件,无强迫切向流速
22 外部边界条件 有垂向流速,无强迫切向流速
23 外部障碍 垂向流速可有可无,无强迫切向流速,
24 内部障碍 垂向流速可有可无,无强迫切向流速,
20-24与0-4相同,不过相比条件较弱,流在质量守恒中不积分,动量守恒中积分
30 辐射边界条件,潮波可自由进出


4)SMS-ADCIRC使用
设置海岸线文件,两种方法,文件格式
确定计算区域,两种方法,人工、自动
定义边界类型
读入水深信息,文件格式
建立多边形,相当于ANSYS中的面
设置多边形属性(包含网格信息)
网格设置

生成网格信息文件,文件格式 注意事项,SMS中的漏洞

主要控制参数的设置(fort.15)

其他输入文件设置与生成(fort.19,fort.22,fort.23等)

计算问题

后处理问题


3.SMS10.0安装文件和破解方法

可邮件咨询

4.SMS10.0 tutorials中的ADCIRC算例文件和计算步骤

链接:http://pan.baidu.com/s/1bn7yGUF 密码:tpgx

5. 算例运行需要的LeProvost文件

链接:http://pan.baidu.com/s/1pJFhKsr 密码:7z1v

或SMS主页下载即可


另外ADCIRC+SWAN耦合模型也是目前沿海风暴潮,热带气旋诱发的沿海洪水模拟最先进和广泛使用的模型。模拟风暴潮时,一般采用二维的基于浅水方程的形式,其中包括连续性方程和水平动量方程。连续性方程的公式依赖于广义波连续性方程或GWCE,它有助于处理由原始Galerkin有限元公式引起的寄生振荡。


安装ADCIRC(来源)
基础准备

(1)编译器:此次为GNU系列

(2)CMAKE,要求V2.8.12及以上,一般系统自带,没有可编译安装。下载地址:https://cmake.org/download/设置环境变量

vi ~/.bashrc
export CMAKE=$APP/cmake-3.12.2 #安装路径
export PATH=$CMAKE/bin:$PATH
source ~/.bashrc
编译

./configure --prefix=$CMAKE
make
make install


(3)其他库NETCDF(可选项,建议选)XDMF (可选项,本次未选)MPICH2(可选项,建议选)NETCDF和MPICH2的安装可以参考之前的文章:WRF模式安装。



环境变量NETCDFHOME=(netcdf的安装路径)XDMFHOME=(如果选择XDMF)

安装ADCIRC此次安装的版本为v54.01,解压后进入目录。给scripts目录下的脚本增加执行权限

cd scripts
chmod +x *sh
cmake编译

mkdir build
cd build
#cmake生成makefile
cmake .. -DBUILD_ADCIRC=ON -DBUILD_PADCIRC=ON -DBUILD_ADCPREP=ON -DENABLE_OUTPUT_NETCDF=ON -DBUILD_PADCSWAN=ON
make
部分选项说明:-DBUILD_ADCIRC=ON #编译ADCIRC-DBUILD_PADCIRC=ON #并行版本-DBUILD_ADCPREP=ON #编译ADPREP-DBUILD_PADCSWAN=ON #编译并行ADCIRC+SWAN-DENABLE_OUTPUT_NETCDF=ON #使用NETCDF格式输出-DENABLE_OUTPUT_XDMF=ON #使用XDMF格式输出编译成功生成相应的执行文件(adcirc adcprep padcirc padcswan)


20230627 tzf_docker

20230628 examples



ADCIRC+SWAN学习笔记(一)cmake编译源码
ADCIRC+SWAN学习笔记(二)官网算例测试
B站
SMS
wiki
Matlab实现Holland风场
OceanMesh2D


Last update: 2023-08-19|Pageview:259
Research Blog: EC | EC_INFO | EC_WORK |


BypResearch