关于Lid-driven Cavity Flow 的前部分操作写在下面的文章中:
https://blog.csdn.net/weixin_39124457/article/details/88926300
学习openfoam的第六周啦!不得不吐槽,我这学习进度是真的慢。这一段时间的琐事太多,加上临近毕业答辩,分给of的时间不多。之前很大一部分时间都是复习(预习)流体力学(fd)的基础知识去了。带着对fd的浅陋见解,接下来好好地专心地把玩of吧!
之前做顶盖驱动流的算例时,只是跟着流程做了一遍,但是后面还有一些内容,今天补上吧!
首先,我们打开终端,cd到of的run文件夹:
cd $FOAM_RUN
好习惯就是不在原来的文件上修修改改,而是备份一个!
mkdir cavityFine
cp -r cavity/constant cavityFine
cp -r cavity/system cavityFine
cd cavityFine
现在,我们来到新的文件夹内,里面的内容还是和原来的一样:
我们这次通过增加网格来提高网格的分辨率,通过修改system/blockMeshDict的设置:从
到
x、y方向各为原来的3倍。
输入blockMesh指令(退回到cavityFine文件夹上才行,不然会报错),再输入paraFoam看一下新的网格:
对比一下上一次的↓:
明显看出网格的分辨率提高了。
我们之前不是只复制了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查看:
感觉上,速度场的结果因为网格分辨率的增加而变得更加清晰了。压力场的特征点则是随着单个网格而按比例缩小了,蓝色或红色缩得更小了。
文件在tutorial里面就配好了,我们先将其复制过来:
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityGrade $FOAM_RUN
cd $FOAM_RUN
打开system里面的blockMeshDict文件:
可以看到,对顶盖空腔流的网格设置,从一个大格子修改成四个小方格。如下图所示:
这样的设置是为了分别设置后面的grading。具体看看结果:
是不是看起来,中间的网格更大,而四周的网格更小了?这就是simpleGrading的效果。这里稍微讲解一下:
以第一行的(2 2 1)为例,x方向是2,是什么意思呢?意思是最右边的网格与最左边网格的宽度之比为2,即:
y方向则是上比下,综合来看就是正方向比负方向。另外3个也是一样的分发,只是因为方向不同,所以有的比例是0.5,实际上就是上下反过来了。这样设置之后,就呈现出中间大,四周窄的效果了。这样的做法是有一定道理的。有一些关键的位置需要更加精确,比如一些工程师比较关心的位置,则需要更多的网格。但是,如果其他无关紧要的位置也要这么多相同的网格的话,那么整一个网格量就会大大增加,从而导致计算量的增加。所以,抓住重点是建立网格的关键。在顶盖空腔流中,中心相比与四周并没有那么重要,因此网格可以大一些。试想,如果都按照四周的大小来设置网格,那么网格数会是现在的1.5倍(对于此例)。
在controlDict上修改设置:
可以算出,最小的网格大小是3.45mm,根据以下的公式,算出deltaT是2.5ms,writeInterval被改成40,这样,和最开始的一样,也是每0.1秒输出一份数据来。
运行并查看:
将文件clone(克隆):
run
foamCloneCase -latestTime cavity cavityHighRe
cd cavityHighRe
这里增大雷诺数的方法就是降低运动粘度到0.001,
查看效果:
有点不清楚,那么增加网格数好了!
这个是增加网格数,提高雷诺数后的压力场,可以看出整体是下降了(看颜色)。
可见,高雷诺数下,有倾向于非对称的趋势了。
小结:提高分辨率、改变控制时间、修改雷诺数等等,它们之间是相互关联的。不能只修改其中某一项而不管其他,所以得想得更全面一些!