如何在每个时间步更新边界条件



  • 各位Openfoam pioneer 请教大家一个问题

    问题概述----如何根据上一时间步的流场的某些点(或某个截面/线)的速度值,采用某公式计算后,作为下一时间步流场的边界条件。

    详细描述-----目前在做一个可压缩自由剪切层的模拟,计算域是一个矩形,入口条件给了tanh 速度曲线,可防止出现强烈的激波。在上游u, v 速度上给了随机扰动,促进剪切层形成。采用了codedFixedvalue, 植入了代码。 这些是已经做完的。

    现在计划 从流场中提取出时间t 的 速度,该速度可以是y方向某条线上,或者按一定规律在流场中分布的点上的速度,然后根据某公式,在一个算例中对应一个公式,获得一个值,作为入口边界条件,y方向的速度,这样计算进行两到三个时间周期。

    1. 由于采用了codedFixedValue 设置了边界条件,所以grooyBC 等这样的方案可能不大合适。如果有可行的话,改成grooyBC没问题的。

    2 。如何提取前一时间步的流场信息,直接用代码的方式。

    请大家赐教。



  • 大家有做类似工作的方便赐教下吗





  • groovy 条件只在早期的of-v1.7有,后面和funkySetFields一起整合到了swak4Foam中。groovy有timelines的功能。



  • @Foamer24 感谢回答,您觉得Groovy可以解决我的问题, 一是添加扰动,二是基于流场状态反馈得到入口条件,并在每个时间步上添加。 对Swak4Foam没用过,还请赐教


 

Forest
Mountains