二维自适应网格
-
参考论文Dynamic meshing around fluid-fluid interfaces with applications to droplet tracking in contraction geometries附录B 里面的代码,修改OpenFOAM自带的三维自适应网格算法,不过没有成功。我选用了一个最简单的2D导热问题,来调试这个代码,后俩发现在hexRef4.C(这个文件原来是hexRef8.C用于处理三维问题)的函数createInternalFaces里有一个判断if(edgeMidPointI==-1),这个出现了问题,而论文里并没有写这个,edgeMidPointI这个变量是传递到函数storeMidPointInfo这个函数中,所以现在想改写一下这个函数,但我对这个函数的原理还没有看明白,不知有人实现了OpenFOAM下2D自适应没? 想交流一下,如果最终能把代码调通,我会把代码也共享一下。
-
@supersoldier
没看文章,不过3D网格自适应可以直接用,不过2D的需要更改网格boundary的类型,变成pesudo-2D即可。所以不需要更改代码。 -
我试过采用symmetryPlane和cyclic边界,但是三维方向上网格还是被切了,我现在只想让x和y方向切网格。这个pesudo-2D是指在三维方向上采用类似symmetryPlane和cyclic边界条件处理吗? 我找了一下 ,好像是这个意思。 谢谢你的回复@administrators
-
@supersoldier
是的,不能用empty
,用的是什么我也记不太清了,13年曾经别人提出过自适应网格不能用于2D算例,后来我改变了下polyMesh
下面的boundary可以实现,但是现在记不得用的什么类型了。不过肯定不用改源代码。头像好萌 -
@cfd-china 当时Z方向上的一层网格有被加密码?
-
@supersoldier 没有。网格就是2D网格。不过把
boundary
类型改了。 -
@浪迹天大 The OpenFOAM Technology Primer 这本书动网格一章里面有讲自适应网格的,OpenFOAM求解器大多可以添加自适应,而且步骤比较简单。:happy:
-
关于openfoam 2D AMR的成功的论文目前就三篇,有源代码的除了这篇,还有https://www.academia.edu/16217705/Two-dimensional_adaptive_meshing_in_OpenFOAM这一篇,不过里面的hex4的源代码没有公开,CFDonline上有个人写了hex4的代码公开在github上,不过有很多毛病也用不了。很好奇什么边界条件可以不使z方向被切割。
-
前面提到的边界条件我也都试过了,没有能防止z被不分割的,如果你成功了能分享一下吗?
-
@harvee 嗯 ,这两个我也看过。直接修改边界,目前我也没成功,我看hexRef.C代码里面,没看到有说对于某个特定的边界,可以不切割Z方向的网格,还在研究中。现在还在看代码,如果能成功我会分享的。希望能快点搞出来:laughing:
-
好像有点误解,我的意思是说自适应网格可以用在2D网格,例如cavity蒜粒那种2D网格,但是还是会多个方向切分。就和
snappyHexMesh
一样。 -
恩恩,我也希望能早点弄出来,共勉。我现在在用rhoCentralDyFoam做二维的计算,frontAndBack可以用empty边界条件。另外,在4.0以前的版本中,我用的这个solver有很多bug,基本没一个能跑AMR的。至于别的DyFoam我不是太了解。感觉关键就是meshcutting engine的问题,hex4要是能搞出来就算解决了一个大问题了。btw,AMR的sensor的设定也是一个巨大的坑,那个dynamicFvReineDict里的refinement相关的parameter感觉也有问题,比如加密范围的指定等。
-
@supersoldier 好久没来了,2d的问题进展的如何啊?我最近在尝试做AMR的并行运算,level一高网格数过大nodes之间的数值传达总会出error,我想可能是跟内存大小和nodes之间的通讯设置有关系。你有试过高level的并行运算吗?我的case背景网格用的uniform 1mm,到level6(15.625um)就算不动了,你有什么建议吗?
-
@harvee @harvee 不好意思一直没回复 ,最近都没弄了,在搞化学反应一直又问题,你有什么进展吗?cfd-online上那个帖子有回复,我一直也没看。cfd-online二维自适应
-
已经找到了论文Dynamic meshing around fluid-fluid interfaces with applications to droplet tracking in contraction geometries作者的代码,使用OpenFOAM2.1版本测试了一下结果没有问题,代码下载位置,大家可以下来试试。
-
不是特别懂自适应网格的问题。还请研究这方面的朋友用比较简单的语言向外行解释一下:
- 为什么要用自适应?传统网格不能解决的什么样的问题,但自适应网格能解决得更有效率?
- 自适应网格是怎么实现的?什么样的主要变量在控制网格自动地变小,或者变大?
- 有什么样的实际应用场合?
- 自适应遇到什么样的瓶颈?
-
请问你的2D自适应网格代码调试成功了吗?想请教相关问题
-
@random_ran 浸入边界法,在物面附近需要较细的网格
8/24