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
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);
......
......@@ -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
-------------------------------------------------------------------------------
License
......@@ -852,6 +852,12 @@ void Foam::isoAdvection::advect()
// Do the isoAdvection on surface cells
timeIntegratedFlux();
// Adjust alpha for mesh motion
if (mesh_.moving())
{
alpha1In_ *= (mesh_.Vsc0()/mesh_.Vsc());
}
// Adjust dVf for unbounded cells
limitFluxes();
......
Markdown is supported
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