OpenFOAM可以动态设定求解区域嘛?



  • 现在模拟一个流动过程,其中,某一时刻,某些网格点是固定点不用求解,在OpenFOAM中能做到这一点嘛?



  • OpenFOAM里面multizone方法就是这么样的。但是是划分不同的zone。你这个不同的网格点,目前的想法是还是全部求解,求解后对某些网格点不进行时间步进,是否可以?



  • @东岳 我曾经尝试着计算完后,将固定的点速度置0,但是这样就存在一个问题,就是这些点附近的流畅是不满足连续方程的。我希望能从矩阵上对这些点进行处理(类似与有限元中处理固定边界条件时用的置1法),这样求解出来的值就是满足连续方程。
    这个的应用背景是凝固过程的流动计算。目前比较流行计算流动的模型是连续模型,其思想是在整个计算域内建立NS方程,然后动量方程中加入一个阻力项-Ku,对于完全凝固的区域,K是一个很大的数,液相区域K=0。这样最终的求解结果里,固相速度就近似为0,看上去和固体一样,而液相区域正常流动。现在遇到的问题是,凝固后期,固相占据大部分区域,按理说这一部分是不需要求解的,但是计算中还是会计算,浪费很多计算时间,还容易不收敛。我希望将凝固的部分忽略不算,只算液相区域,但是这个区域是不断变化的。
    关于chtMultiRegionFoam求解器,他是通过对不同区域建立独立的矩阵求解,而不是统一的矩阵,这样求解是不是会在边界处产生误差?这种误差大吗?



  • chtMultiRegionFoam边界是通过插值处理的,先求左边,插值到右边。求右边,插值到左边。跟AMI原理一样。

    这个的应用背景是凝固过程的流动计算。目前比较流行计算流动的模型是连续模型,其思想是在整个计算域内建立NS方程,然后动量方程中加入一个阻力项-Ku,对于完全凝固的区域,K是一个很大的数,液相区域K=0。这样最终的求解结果里,固相速度就近似为0,看上去和固体一样,而液相区域正常流动。现在遇到的问题是,凝固后期,固相占据大部分区域,按理说这一部分是不需要求解的,但是计算中还是会计算,浪费很多计算时间,还容易不收敛。我希望将凝固的部分忽略不算,只算液相区域,但是这个区域是不断变化的。

    这个很有意思。类似多孔介质的处理。

    我希望能从矩阵上对这些点进行处理(类似与有限元中处理固定边界条件时用的置1法),这样求解出来的值就是满足连续方程。

    我觉得是可以的,但从代码上感觉实现很费事,另外,你还需要处理这部分的网格连接性和边界问题。原本某个网格和某个网格连接,但你去掉后,网格和边界连接。
    感觉可行,不过目前我也没思路:zoule:

    看起来和网格生死单元类似,要不你看看死亡单元那面怎么处理的?这块的代码我没看过



  • @史浩 ANSYS用的是单元生死技术,帝国理工好像是移动标架法。


 

Forest
Mountains