Introduced changes required to make isoAdvector and interIsoFoam work with morphing meshes: 1) In the alphaEqn.H U is made relative to mesh motion before the interface advection step, 2) in isoAdvection::advect() alpha must be multiplied by Vsc0()/Vsc(). Implementation tested and verified with 1) a spherical interface in a cubic domain with no flow, where the domain walls are squeezed together and 2) a spherical interfacee inside the sloshingCylinder, again with no flow, so the sphere should stay spherical, which it does.

This commit is contained in:
Johan Roenby
2019-04-30 16:07:48 +02:00
committed by Andrew Heather
parent 88e042afd9
commit 61c87b5552
2 changed files with 20 additions and 1 deletions

View File

@ -1,6 +1,19 @@
{
// Temporarily making U relative to mesh motion
if (mesh.moving())
{
U -= fvc::reconstruct(mesh.phi());
}
// Updating alpha1
advector.advect();
// Making U absolute again after advection step
if (mesh.moving())
{
U += fvc::reconstruct(mesh.phi());
}
#include "rhofs.H"
rhoPhi = advector.getRhoPhi(rho1f, rho2f);