overpimpleDyMFoam +颗粒边界处理
-
@lys 在 overpimpleDyMFoam +颗粒边界处理 中说:
会有部分颗粒进入固体内部
具体没太细看啊,我插一句,是不是需要看一下你这个颗粒定义在哪套网格上了,如果定义在A网格上,壁面在B网格上,那是不是肯定会发生这个现象。
-
@lys 比如ueq里面的 + parcels.SU(U) 这一项,其他的有加么
// Solve the Momentum equation MRF.correctBoundaryVelocity(U); tmp<fvVectorMatrix> tUEqn ( fvm::ddt(rho, U) + fvm::div(phi, U) + MRF.DDt(rho, U) + turbulence->divDevTau(U) == rho()*g + parcels.SU(U) + fvOptions(rho, U) ); fvVectorMatrix& UEqn = tUEqn.ref(); UEqn.relax(); fvOptions.constrain(UEqn); if (pimple.momentumPredictor()) { solve(UEqn == -fvc::grad(p)); fvOptions.correct(U); K = 0.5*magSqr(U); }
-
@lys 嗯,就是确认一下别拉下什么东西没加就难受了。
所以说,那些particle 应该是在
步时还在网格里,然后网格发生变化,可能就不在网格里了,这部分parcel就没办法算了。- 把parcel.evolve() 放到 bool changed = mesh.update() 前面,让parcel用上一步的旧网格试试看
- 另外如果你的Euler time step
足够小,就是你每次更新网格的间隔减小,会不会也一定程度上减少这样的发生呢? - 调整动网格或者在parcel部分,判断内部是否有parcel,有parcel就挪他们到wall表面。
2022年8月20日 11:25
20/21
2023年4月7日 02:26