openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)

关于Lid-driven Cavity Flow 的前部分操作写在下面的文章中:

https://blog.csdn.net/weixin_39124457/article/details/88926300

学习openfoam的第六周啦!不得不吐槽,我这学习进度是真的慢。这一段时间的琐事太多,加上临近毕业答辩,分给of的时间不多。之前很大一部分时间都是复习(预习)流体力学(fd)的基础知识去了。带着对fd的浅陋见解,接下来好好地专心地把玩of吧!

之前做顶盖驱动流的算例时,只是跟着流程做了一遍,但是后面还有一些内容,今天补上吧!

第一要做的是提高网格分辨率(mesh resolution)

首先,我们打开终端,cd到of的run文件夹:

cd $FOAM_RUN

好习惯就是不在原来的文件上修修改改,而是备份一个!

mkdir cavityFine
cp -r cavity/constant cavityFine
cp -r cavity/system cavityFine
cd cavityFine

现在,我们来到新的文件夹内,里面的内容还是和原来的一样:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第1张图片

我们这次通过增加网格来提高网格的分辨率,通过修改system/blockMeshDict的设置:从

x、y方向各为原来的3倍。

输入blockMesh指令(退回到cavityFine文件夹上才行,不然会报错),再输入paraFoam看一下新的网格:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第2张图片

对比一下上一次的↓:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第3张图片

明显看出网格的分辨率提高了。

我们之前不是只复制了constant和system的文件夹吗?还有一个“0”呢?不也是直接复制过去就行了吗?这个我也不太懂,只是说,这个需要匹配(mapField),以后会慢慢了解,有熟悉的大神请指教!

mapField ../cavity -consistent

然后cavityFine的文件夹里多了个"0”文件夹(教材里面是0.5),可能是之前修改过一些设置吧。

在system/controlDict的文件里我将endTime改成0.9s,deltaT改成0.0015,writeControl改成runTime,writeInterval改成0.1。

运行后,paraFoam查看:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第4张图片速度场

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第5张图片这个是修改之前的

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第6张图片压力场

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第7张图片这个是修改之前的

感觉上,速度场的结果因为网格分辨率的增加而变得更加清晰了。压力场的特征点则是随着单个网格而按比例缩小了,蓝色或红色缩得更小了。

第二步,我们还可以修改网格的分布属性(mesh grading)

文件在tutorial里面就配好了,我们先将其复制过来:

cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityGrade $FOAM_RUN
cd $FOAM_RUN

打开system里面的blockMeshDict文件:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第8张图片openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第9张图片

可以看到,对顶盖空腔流的网格设置,从一个大格子修改成四个小方格。如下图所示:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第10张图片

这样的设置是为了分别设置后面的grading。具体看看结果:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第11张图片

是不是看起来,中间的网格更大,而四周的网格更小了?这就是simpleGrading的效果。这里稍微讲解一下:

以第一行的(2 2 1)为例,x方向是2,是什么意思呢?意思是最右边的网格与最左边网格的宽度之比为2,即:

\delta right/\delta left=2

y方向则是上比下,综合来看就是正方向比负方向。另外3个也是一样的分发,只是因为方向不同,所以有的比例是0.5,实际上就是上下反过来了。这样设置之后,就呈现出中间大,四周窄的效果了。这样的做法是有一定道理的。有一些关键的位置需要更加精确,比如一些工程师比较关心的位置,则需要更多的网格。但是,如果其他无关紧要的位置也要这么多相同的网格的话,那么整一个网格量就会大大增加,从而导致计算量的增加。所以,抓住重点是建立网格的关键。在顶盖空腔流中,中心相比与四周并没有那么重要,因此网格可以大一些。试想,如果都按照四周的大小来设置网格,那么网格数会是现在的1.5倍(对于此例)。

在controlDict上修改设置:

可以算出,最小的网格大小是3.45mm,根据以下的公式,算出deltaT是2.5ms,writeInterval被改成40,这样,和最开始的一样,也是每0.1秒输出一份数据来。

运行并查看:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第12张图片压力项,与修改之前的相比,更加精准了,然而网格数没变。

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第13张图片速度场,虽然没有增加分辨率之后来得精确,但无疑是好上不少。

3. 增大雷诺数!

将文件clone(克隆):

run
foamCloneCase -latestTime cavity cavityHighRe
cd cavityHighRe

这里增大雷诺数的方法就是降低运动粘度到0.001,

查看效果:

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第14张图片

有点不清楚,那么增加网格数好了!

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第15张图片好像没有很改善。。

openFoam4.0 学习记录(三):Tutorials之Lid-driven Cavity Flow (后续)_第16张图片这个是增加网格数,提高雷诺数后的压力场,可以看出整体是下降了(看颜色)。

可见,高雷诺数下,有倾向于非对称的趋势了。

 

小结:提高分辨率、改变控制时间、修改雷诺数等等,它们之间是相互关联的。不能只修改其中某一项而不管其他,所以得想得更全面一些!

你可能感兴趣的:(openfoam)