setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
-
setFields赋值的时候在边界会产生锯齿状的分布,如下图
如果想要在处于给定的几何域的边界上的网格赋值的时候插值的话,需要怎么做?另外请教一个问题,如果说我想直接对场的数据进行操作的话,除了直接将代码编译进求解器外,还有没有办法可以在不运行求解器的时候进行操作,有没有例子可以参考。
-
@anubis 如果不是xyz方向平行的线 就会这样
边界网格赋值 需要改代码 参考
更改壁面一层网格值
https://www.cfd-china.com/topic/3499可以在controlDict里面加代码 参考
努塞尔数
https://www.cfd-china.com/topic/3499 -
看样子像是alpha场啊
-
@队长别开枪 是的,我想要在初始化的时候给定气液界面处的网格一个处于0-1的值,而不是这种突变的值。 李老师给的努塞尔数的例子应该就是我想问的,以前看到过但是忘了怎么用。不过我这两天还在外面没有时间去尝试是不是能达到我的目的。
-
@anubis 试试
funkySetFields
,swak4Foam
里的工具 -
@队长别开枪 你那个工具好像是也可以处理这个问题?
-
@李东岳 简单的几何形状差别不大,我那个主要是处理复杂形状的,纯粹出于兴趣开发的
-
@队长别开枪 在 setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值 中说:
刚发现大佬是做PLIC-VOF的,我最近是想试试修改一下iso-advector的代码,因为iso-advector总会在非界面的位置出现轻微大于0和小于1的网格。不知道您的interPlicFoam在这方面会有类似的问题吗? 另外就是您在初始化的时候,会根据实际的气泡或者说气液界面位置去赋值每个网格的值吗(我觉得这会影响初始的界面重构),我是考虑在给初始的alpha场的时候,根据每个网格占据的气液相体积计算相应的体积分数来赋值,这也是我这个帖子提出的原因,因为我之前只会把代码写在求解器里进行编译。 -
@anubis 轻微越界影响不大,不放心可以打开
clip
开关。https://github.com/daidezhi/alphaInitializerFoam ,这个工具基于求交集布尔操作赋初值,应该就是你需要的,不过需要一个表征初始界面形状的面网格。 -
@队长别开枪 这个工具的功能确实是我想要实现的,非常感谢。 顺便请教一下,相交体积的计算您是怎么实现的,可以简单说一下思路吗,我自己本来这两天也在想做这个,但是没有想到特别好的办法。
-
@anubis 把体单元转换为封闭的面网格,使用第三方库求交集,链接中的使用的cork库,效率高但是精度低,不过应该能满足你的要求了。我们有最新的使用CGAL库的版本,而且使用了openmp并行,文章接受后就会开源。
-
@队长别开枪 是的 这个精度和效率完全够了 再次感谢大佬的工作
-
@队长别开枪 大佬大佬 感谢分享!!