一维溃坝数值

发表时间:2019-03-16 17:20

一维溃坝数值模拟

1.案例介绍

本计算实例采用Massflow软件模拟一维尺度下简单溃坝问题。计算模型及尺寸见下图1和2。底面地形表面流体高度设为0.05m;x方向长度为2m, 坝体上流体高度1m;所有边界条件为默认设置,即墙边界条件;基底模型采用曼宁模型,相应曼宁系数设为0.02。土压力系数设为常数1。

2.操作步骤

第一步:新建一个文件夹,命名为caseX,将程序执行文件Massflow.exe和dll_custom文件夹拷贝到该文件夹目录下。
第二步:进行计算前的一些设置准备。包括基本参数设置、模型导入以及分析步设置等。针对计算案例的初始流体高度和初始地形,用户可在dll_custom文件夹下自行修改相应的代码,通过MicrosoftVisualStudio(VS)编译的动态链接库dll_custom.dll文件拷到当前工作文件夹目录下。通过用户自定义构建模型需要在create_h_custom.f90进行的设置如下:
do i=1-mbc,nx+mbc
do j=1-mbc,ny+mbc
if(x(i,j)<=0)then
q(1,i,j)=1
else
q(1,i,j)=0.1
endif
enddo
enddo
如果通过命令创建模型,则可在命令流文件中直接输入相关命令,忽略此步骤。该案例的边界条件采用默认,即墙边界。其他模型参数直接在命令流文件input.txt中输入。
第三步:所有参数设置完成后,双击执行文件Massflow.exe运行。
第四步:与理论结果比较。为了验证Massflow计算结果的准确性,本案例选取实为Stoker (1957)理论计算中的案例,为了便于比较Massflow计算值与理论值的差异,将0.1s时刻计算值与Stoker理论值的表面Y方向高度H和运动速度值V对比列出,见下图13和图14。

3.本计算实例的命令流文件—input.txt

命令流1: 通过dll_custom.dll 设置地形和流体高度
*type,1
*erosion,0
*density,0
*nregions,1
*ndim,2
*mbc,0
*remesh,0
*parallel,0
*create,grid,input,all,201,3,-1,0,0.01,0.1
*create,topo,custom,all
*create,h,custom,all
*create,bound,custom,all
*material,1,density,1000
*material,1,friction,1,0
*material_assign,1,0,1
*time,0,1,0.001
*output,1,tecplot,1,all,1,0.01

命令流2: 通过命令设置地形和流体高度
*type,1
*erosion,0
*density,0
*nregions,1
*ndim,2
*mbc,0
*remesh,0
*parallel,0
*create,grid,input,all,201,3,-1,0,0.01,0.1
*k,1,-1,0,1
*k,2,0,0,1
*k,3,0,1,1
*k,4,-1,1,1
*rect,1,1,2,3,4,1,surface
*create,topo,custom,all
*create,surface,gui,1
*create,bound,custom,1
*material,1,density,1000
*material,1,friction,1,0
*material_assign,1,0,1
*time,0,1,0.001
*output,1,tecplot,1,all,1,0.01


分享到:
QQ交流群
微信公众号