diff --git a/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C b/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C index 98f14ceaec..37906ed9fe 100644 --- a/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C +++ b/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C @@ -209,7 +209,14 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() { fvVectorMatrix& eqn = *eqns[iter().name()]; - eqn -= fvm::Sp(K, eqn.psi()); + const volScalarField phaseK + ( + iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + *K + ); + + eqn -= fvm::Sp(phaseK, eqn.psi()); } } } @@ -481,7 +488,17 @@ Foam::MomentumTransferPhaseSystem::AFfs() const forAllConstIter(phaseInterface, interface, iter) { - addField(iter(), "AFf", Kf, AFfs); + addField + ( + iter(), + "AFf", + fvc::interpolate + ( + iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + )*Kf, + AFfs + ); } } @@ -820,7 +837,12 @@ Foam::MomentumTransferPhaseSystem::phiKdPhis ( iter(), "phiKdPhi", - -fvc::interpolate(rAUs[iter().index()]*K) + fvc::interpolate + ( + -iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + *rAUs[iter().index()]*K + ) *fvc::absolute ( this->MRF().absolute(iter.otherPhase().phi()), @@ -866,7 +888,13 @@ Foam::MomentumTransferPhaseSystem::phiKdPhifs ( iter(), "phiKdPhif", - -rAUfs[iter().index()]*Kf + -rAUfs[iter().index()] + *fvc::interpolate + ( + -iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + ) + *Kf *fvc::absolute ( this->MRF().absolute(iter.otherPhase().phi()), @@ -912,7 +940,10 @@ Foam::MomentumTransferPhaseSystem::KdUByAs ( iter(), "KdUByA", - -rAUs[iter().index()]*K*iter.otherPhase().U(), + -rAUs[iter().index()] + *iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + *K*iter.otherPhase().U(), KdUByAs ); } diff --git a/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/OneResistanceHeatTransferPhaseSystem/OneResistanceHeatTransferPhaseSystem.C b/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/OneResistanceHeatTransferPhaseSystem/OneResistanceHeatTransferPhaseSystem.C index 31dab0bd25..1380a37a52 100644 --- a/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/OneResistanceHeatTransferPhaseSystem/OneResistanceHeatTransferPhaseSystem.C +++ b/applications/solvers/modules/multiphaseEuler/phaseSystems/PhaseSystems/OneResistanceHeatTransferPhaseSystem/OneResistanceHeatTransferPhaseSystem.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -95,9 +95,16 @@ heatTransfer() const const volScalarField& he = phase.thermo().he(); const volScalarField Cpv(phase.thermo().Cpv()); + const volScalarField phaseK + ( + iter.otherPhase() + /max(iter.otherPhase(), iter.otherPhase().residualAlpha()) + *K + ); + *eqns[phase.name()] += - K*(otherPhase.thermo().T() - phase.thermo().T() + he/Cpv) - - fvm::Sp(K/Cpv, he); + phaseK*(otherPhase.thermo().T() - phase.thermo().T() + he/Cpv) + - fvm::Sp(phaseK/Cpv, he); } }