因为你编译的openfoam-adapter里,已经对流固耦合交界面的force变量引用了,OF在运行完成后,adapter会引用force变量,precice运行完毕后,会覆盖这个force变量。
precice就是给openfoam施加了一个狄利克雷位移边界条件-理解了这句话就全明白了。
Mina Lee
帖子
-
precice tourorials中的受力问题 -
流固耦合,换了质量更好的网格流体突然就不收敛了?你好
PIMPLE: iteration 40 **time step continuity errors : sum local = 20238.39271, global = -1326.825454, cumulative = -1286.292262** **time step continuity errors : sum local = 1965.022984, global = -493.7266286, cumulative = -1780.018891** PIMPLE: iteration 22 GAMG: Solving for p, Initial residual = 0.1839153372, Final residual = 1.265686901e-06, No Iterations 20 GAMG: Solving for p, Initial residual = 0.1398796637, Final residual = 1.397575026e-06, No Iterations 17 GAMG: Solving for p, Initial residual = 0.1463017811, Final residual = 1.437462198e-06, No Iterations 16 GAMG: Solving for p, Initial residual = 0.121320625, Final residual = 6.97291136e-08, No Iterations 20 PIMPLE: iteration 23 .GAMG: Solving for p, Initial residual = 0.1600126604, Final residual = 1.256444652e-06, No Iterations 23 GAMG: Solving for p, Initial residual = 0.09022545056, Final residual = 7.317342264e-07, No Iterations 20 GAMG: Solving for p, Initial residual = 0.08084307981, Final residual = 7.297894683e-07, No Iterations 18 GAMG: Solving for p, Initial residual = 0.06296048891, Final residual = 7.500379861e-08, No Iterations 22
你的问题在于:
1、瞬态项上,你的瞬态项很难收敛,残差爆掉了,这个似乎与你的瞬态项离散方式有关,可以试一下二阶向后差分。ddtSchemes { default CrankNicolson 0.9; }
2、你的泊松方程收敛性很差,外循环很难收敛,残差很高,你定义的外循环收敛条件根本达不到,泊松方程在非正交修正后,迭代次数反而变多,证明你的网格质量可能较差。
建议:1.更换瞬态项离散方式。2.增加非正交修正次数,提高你的网格质量。
注意:外循环定义50次合理,一般难收敛问题,最多10次就可以收敛了。流固耦合交界面前几个时间步不收敛很正常,但是你这个是流体不收敛,这就不对了,建议你先单独跑一下流体看看,你这个流体设置不太好。
祝好~ -
大步长下变形网格发散@lwjetmann 可以去查一下solid4foam,这里边提供了RBF求解器,solid4foam的RBF库已经处理好并行问题了,但是你需要做一下改动,因为据我所知(个人见解,真伪自辩!):这个RBF库只能实现被动位移,显然,你要做的仿真是需要写一个主动位移函数的。
dynamicOversetFvMesh确实可以定义运动,因为都是求解位移拉普拉斯方程,区别就是扩散系数是选择均一的?还是逆距离的?还是。。。@lwjetmann 在 大步长下变形网格发散 中说:
但是不知道overset的边界怎么在变形
理论上来说,位移拉普拉斯方程,就是给所有网格单元“中心”定义的,你要好好读一下代码,位移拉普拉斯方程是根据已知的位移边界条件,求解其余单元的位移值,这个需要插值到网格节点上的。换句话说,是不是overset边界,根本不影响变形。fixed边界,才会影响变形。
如果你要用重叠网格,记住,不要用逆距离,OF的这个方法存在BUG!不要问我为什么,因为我也不知道怎么解决这个问题。
祝好~
-
大步长下变形网格发散可以尝试一下RBF求解器,RBF支持的动网格幅度很大,远超扩散和逆距离,当然,也可以尝试一下overset。
https://www.bilibili.com/video/BV18a4y1D7zB/?vd_source=17ca8ef5f5c666dfc54376ddcfdd33da -
目前是否存在库或求解器:可以实现 重叠域运动的同时背景域网格发生形变? -
openfoam如何结合主动控制和被动控制?可不可以结合codestream实现旋转呢?