求助: buoyantBoussinesqPimpleFoam 遇到的非物理温度边界



  • 各位OFer:

    本人初次接触OpenFOAM,希望用buoyantBoussinesqPimpleFoam/LES考虑温度作用的城市环境流动问题,现在在计算过程中遇到了非物理的温度边界,目前试了很多方法都没有解决....

    计算域如下MESH_3D.png

    中间是cubes作为简化后的建筑物,计算域四边采用的cyclicAMI的边界条件(在decompose时放在了同一个processor里进行处理)。在$x$方向上设置了momentumSource来驱动流动。

    为了测试solver我先将上边界、下边界、建筑物表面以及计算域内温度均设定为288K,但计算经过了几十步后,在cyclic的边界上却出现了如下的温度场

    T_t10.png

    放大后

    ZoomIn_T_BC_singularity.png

    并且该处的温度极值会一直维持,并且通过p_rgh的做用对流场产生影响。

    想请问一下大家是否遇到过类似的问题? 有什么相应的解决方法呢?非常感谢!



  • 这个看起来只是表姐条件设置错了 需要更深层次debug



  • @东岳 感谢东岳老师。但是我现在进一步debug后发现,这个错误永远出现在processor 0的边界处。

    如果我是用单线程运行,那这个非物理的高温条带将会出现在cyclic的边界上,和我上面给出的图很相似。但是如果我通过scotch对网格进行decompose,那这个非物理温度条带会出现在计算域的内部,并且也是在processor 0上出现(scotch的原因,processo 0的所包含的计算域不一定在边界上)。

    scotch_processor0_temperatureMax_marked.png

    例如这个算例,小蓝点(红圈内)则是我用threshold标出来的非物理高温区的一部分,白色网格则是processor 0 的区域。

    这样的非物理高温区会在算例开始的十部之内出现,并且一直波动。我试过把buoyantBoussinesqPimpleFoam中温度方程的对流项关掉,得到的结果是正确的。现在正在进一步debug想看看问题究竟出在哪里......



  • 网格看起来质量都挺高吧?



  • @东岳 是的,一开始我也以为是网格的问题,甚至试过用blockmesh生成一个长方体计算域(四周是cyclic,上下分别为slip和noslip),里面都是立方体的网格,但还是会出现相同的情况。

    但是我翻回自己学这个solver时测试的一个所谓"RB对流"算例,长方体的计算域每个面都是noSlip,通过上下表面温度差来驱动流动。这个算例里的温度场就非常正常,全场的温度最大最小值分别是下壁面和上壁面的温度....所以我怀疑会不会时cylic边界的问题?但是cyclic和cyclicAMI我都尝试了,似乎问题还是在。



  • 不好判断 但感觉就是设置的问题 如果可以上传算例并且网格数量小的话 我可以给你看看


Log in to reply