surfaceFilmModels::phaseChange: Updated energy transfer for consistency energy equation

Currently heat is assumed to be removed by heat-transfer to the wall so the
energy remains unchanged by the phase-change.  This approximation can only be
removed if the interface to the transfer models is extended to support transfers
to and from the film AND the primary region.
This commit is contained in:
Henry Weller 2017-07-12 14:30:38 +01:00
parent b4e88f260b
commit 4d6a47972f
2 changed files with 13 additions and 5 deletions

View file

@ -121,6 +121,7 @@ void solidification::correctModel
const thermoSingleLayer& film = filmType<thermoSingleLayer>();
const scalarField& T = film.T();
const scalarField& hs = film.hs();
const scalarField& alpha = film.alpha();
const scalar rateLimiter = min
@ -145,6 +146,7 @@ void solidification::correctModel
// Heat is assumed to be removed by heat-transfer to the wall
// so the energy remains unchanged by the phase-change.
dEnergy[celli] += dm*hs[celli];
}
}
}

View file

@ -109,6 +109,7 @@ void standardPhaseChange::correctModel
const scalarField& YInf = film.YPrimary()[vapId];
const scalarField& pInf = film.pPrimary();
const scalarField& T = film.T();
const scalarField& hs = film.hs();
const scalarField& rho = film.rho();
const scalarField& rhoInf = film.rhoPrimary();
const scalarField& muInf = film.muPrimary();
@ -121,6 +122,8 @@ void standardPhaseChange::correctModel
forAll(dMass, celli)
{
scalar dm = 0;
if (delta[celli] > deltaMin_)
{
// cell pressure [Pa]
@ -145,7 +148,7 @@ void standardPhaseChange::correctModel
const scalar Cp = filmThermo.Cp(pc, Tloc);
const scalar Tcorr = max(0.0, T[celli] - Tb);
const scalar qCorr = limMass[celli]*Cp*(Tcorr);
dMass[celli] = qCorr/hVap;
dm = qCorr/hVap;
}
else
{
@ -180,12 +183,15 @@ void standardPhaseChange::correctModel
const scalar hm = Sh*Dab/(L_ + ROOTVSMALL);
// add mass contribution to source
dMass[celli] =
dt*magSf[celli]*rhoInfc*hm*(Ys - YInf[celli])/(1.0 - Ys);
dm = dt*magSf[celli]*rhoInfc*hm*(Ys - YInf[celli])/(1.0 - Ys);
}
dMass[celli] = min(limMass[celli], max(0.0, dMass[celli]));
dEnergy[celli] = dMass[celli]*hVap;
dMass[celli] += min(limMass[celli], max(dm, 0));
// Heat is assumed to be removed by heat-transfer to the wall
// so the energy remains unchanged by the phase-change.
dEnergy[celli] += dm*hs[celli];
// dEnergy[celli] += dm*(hs[celli] + hVap);
}
}
}