Commit 61c87b55 authored by Johan Roenby's avatar Johan Roenby Committed by Andrew Heather
Browse files

Introduced changes required to make isoAdvector and interIsoFoam work with...

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.
parent 88e042af
// Temporarily making U relative to mesh motion
if (mesh.moving())
U -= fvc::reconstruct(mesh.phi());
// Updating alpha1
// Making U absolute again after advection step
if (mesh.moving())
U += fvc::reconstruct(mesh.phi());
#include "rhofs.H"
rhoPhi = advector.getRhoPhi(rho1f, rho2f);
......@@ -6,7 +6,7 @@
\\/ M anipulation |
isoAdvector | Copyright (C) 2016-2017 DHI
Modified work | Copyright (C) 2018 Johan Roenby
Modified work | Copyright (C) 2019 Johan Roenby
......@@ -852,6 +852,12 @@ void Foam::isoAdvection::advect()
// Do the isoAdvection on surface cells
// Adjust alpha for mesh motion
if (mesh_.moving())
alpha1In_ *= (mesh_.Vsc0()/mesh_.Vsc());
// Adjust dVf for unbounded cells
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment