求问如何在自定义边界条件中获取之前时刻的物理量数值
-
各位老师好,我最近在尝试开发一个入口边界条件,希望根据压力的变化调整进口的质量流率,主要目的是为了使某存在泄露的区域保持压力恒定。我这边的思路是想尝试类似PID控制的算法,基于压力的变化调整入口质量流率,但是不知道有什么方法可以获取之前一个或多个时刻的压力值,并在当前时刻边界条件中使用,希望有经验的老师能指点一下,感谢!
-
http://dyfluid.com/code.html 你看看这里面有没有帮助
不过你要获取之前的多个时刻的压力值,太多了也不行。看起来要做一个动态数组,计算的时候每次把这个都存起来,然后方便以后调用。
-
@李东岳 李老师,我看了一下,好像没有涉及提取之前时刻压力值的。我只需要之前两个时刻即可,而且该区域压力基本稳定,存储scalar就行,不用场。我有一个思路是在主程序中保存之前时刻的值,然后传递给边界条件,不知道这样是否好实现?
-
@李东岳 在 求问如何在自定义边界条件中获取之前时刻的物理量数值 中说:
如果只需要前两个时刻,可以用p.oldTime()以及p.oldTime().oldTime()
存储scalar就行,不用场
是不是还得看哪个网格点的压力?
谢谢李老师,不用具体哪个网格点,该区域的压力基本上是均匀的,取一个平均值就行,那我去试试看。
-
@李东岳 李老师,我尝试了oltTime是可以的。不过还有个新的问题,因为我想做的边界条件是要在之前时刻的基础上自适应调整的,如U(t)=U(t-1)+dU,因此除了上一时刻的内部场,还得获取上一时刻的边界输入U(t-1),但是边界场好像没有oltTime这个功能,是否需要建立一个全局变量来存储U(t-1)?
-
@huangyuhui723 我尝试了可以通过U.boundaryField().oldTime()进行调用,可供参考。
8/9