Skip to content
Permalink
Browse files

TwoResistanceHeatTransferPhaseSystem: Changed stabilisation term

The stabilisation term for the heat transfer with the interface
temperature has been changed to mirror the local heat transfer in the
phase, rather than an effective heat transfer across both phases. This
makes the stabilisation term match the actual temperature-based transfer
terms more accurately. The difference is particularly significant when
the mass transfer rate is high, and cases of this type gain a
significant stability benefit from this change as a result.

Patch contributed by Juho Peltola, VTT.
  • Loading branch information...
Will Bainbridge
Will Bainbridge committed Jan 25, 2019
1 parent 653b88d commit 7e799e9fef83e3ac17c706c055347e72e9a62ebf
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -173,26 +173,17 @@ heatTransfer() const
heatTransferModelIter().second()->K()
);

const volScalarField KEff
(
Ks.first()()*Ks.second()()
/max
(
Ks.first()() + Ks.second()(),
dimensionedScalar(heatTransferModel::dimK, small)
)
);

forAllConstIter(phasePair, pair, iter)
{
const phaseModel& phase = iter();

const volScalarField& he(phase.thermo().he());
const volScalarField Cpv(phase.thermo().Cpv());
const volScalarField& K(Ks[iter.index()]);

*eqns[phase.name()] +=
Ks[iter.index()]*(Tf - phase.thermo().T())
+ KEff/Cpv*he - fvm::Sp(KEff/Cpv, he);
K*(Tf - phase.thermo().T())
+ K/Cpv*he - fvm::Sp(K/Cpv, he);
}
}

0 comments on commit 7e799e9

Please sign in to comment.
You can’t perform that action at this time.