想请问一下各位OFer,通过命令
postProcess -func "grad(U)"
得到的速度梯度张量共有九个元素,打开数据文件后发现这九个元素是以一维数列的形式保存的,那这九个元素的排列顺序是什么呢?Google了大半天都没找出来.....
之前自己默认顺序是dudx,dudy,dudz,dvdx,dvdy,dvdz,dwdx,dwdy,dwdz,但算出来的结果有点怪,所以怀疑自己是不是在排列顺序上理解错了
想请问一下各位OFer,通过命令
postProcess -func "grad(U)"
得到的速度梯度张量共有九个元素,打开数据文件后发现这九个元素是以一维数列的形式保存的,那这九个元素的排列顺序是什么呢?Google了大半天都没找出来.....
之前自己默认顺序是dudx,dudy,dudz,dvdx,dvdy,dvdz,dwdx,dwdy,dwdz,但算出来的结果有点怪,所以怀疑自己是不是在排列顺序上理解错了
buoyantBoussinesqPimpleFoam在OpenFOAM-v2006的版本里还存在
@dzw05 你遇到的极值局部点距离给定压力条件的边界接近吗?我今天下午算的时候发现时间步过大时,距离fixedValue p_rgh边界最近的cell中心也会出现温度极值....调小了时间步后就没有了。我算的这段时间一直感觉温度和压强的联系太密切了...
https://cfd-china.com/topic/4194/求助-buoyantboussinesqpimplefoam-遇到的非物理温度边界/6?_=1605935257119
我之前用buoyantBoussinesqPimpleFoam遇到了完全一样的情况,后来发现是在fvSolution里面pimple的部分给了一个pRefCell和pRefValue,每次都是这个点温度莫名增高和降低。
现在我的解决办法是找到一个边界直接给定一个压力边界值,这样就不需要调用这两个给出莫名其妙结果的设置了。
如果有什么更好的解决办法可以一起交流一下。
各位OFer:
请问是否可能在一个算例中对速度的inlet/outlet采用cyclic的边界条件,但对其他变量如pressure采用zeroGradient的边界条件呢?Google了一圈好像都没有发现理想的解决办法...
@东岳 是的,一开始我也以为是网格的问题,甚至试过用blockmesh生成一个长方体计算域(四周是cyclic,上下分别为slip和noslip),里面都是立方体的网格,但还是会出现相同的情况。
但是我翻回自己学这个solver时测试的一个所谓"RB对流"算例,长方体的计算域每个面都是noSlip,通过上下表面温度差来驱动流动。这个算例里的温度场就非常正常,全场的温度最大最小值分别是下壁面和上壁面的温度....所以我怀疑会不会时cylic边界的问题?但是cyclic和cyclicAMI我都尝试了,似乎问题还是在。
@东岳 感谢东岳老师。但是我现在进一步debug后发现,这个错误永远出现在processor 0的边界处。
如果我是用单线程运行,那这个非物理的高温条带将会出现在cyclic的边界上,和我上面给出的图很相似。但是如果我通过scotch对网格进行decompose,那这个非物理温度条带会出现在计算域的内部,并且也是在processor 0上出现(scotch的原因,processo 0的所包含的计算域不一定在边界上)。
例如这个算例,小蓝点(红圈内)则是我用threshold标出来的非物理高温区的一部分,白色网格则是processor 0 的区域。
这样的非物理高温区会在算例开始的十部之内出现,并且一直波动。我试过把buoyantBoussinesqPimpleFoam中温度方程的对流项关掉,得到的结果是正确的。现在正在进一步debug想看看问题究竟出在哪里......
各位OFer:
本人初次接触OpenFOAM,希望用buoyantBoussinesqPimpleFoam/LES考虑温度作用的城市环境流动问题,现在在计算过程中遇到了非物理的温度边界,目前试了很多方法都没有解决....
计算域如下
中间是cubes作为简化后的建筑物,计算域四边采用的cyclicAMI的边界条件(在decompose时放在了同一个processor里进行处理)。在$x$方向上设置了momentumSource来驱动流动。
为了测试solver我先将上边界、下边界、建筑物表面以及计算域内温度均设定为288K,但计算经过了几十步后,在cyclic的边界上却出现了如下的温度场
放大后
并且该处的温度极值会一直维持,并且通过p_rgh的做用对流场产生影响。
想请问一下大家是否遇到过类似的问题? 有什么相应的解决方法呢?非常感谢!