From b494e5a9c81856f1fa17b4743ca01f30251a3b9b Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Mon, 24 Feb 2020 11:45:48 +0000 Subject: [PATCH] externalWallHeatFluxTemperature, turbulentTemperatureRadCoupledMixed, turbulentTemperatureCoupledBaffleMixed: Added phase support External and coupled Heat transfer boundary conditions are now supported for multiphase simulations and can be applied per-phase. --- ...allHeatFluxTemperatureFvPatchScalarField.C | 10 +++---- .../temperatureCoupledBase.C | 26 ++++++++++++------- .../temperatureCoupledBase.H | 4 +-- ...eratureRadCoupledMixedFvPatchScalarField.C | 8 +++--- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C index cbe43ee6a6..03a79843d9 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -358,7 +358,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() { case fixedPower: { - refGrad() = (Q_/gSum(patch().magSf()) + qr)/kappa(Tp); + refGrad() = (Q_/gSum(patch().magSf()) + qr)/kappa(*this); refValue() = Tp; valueFraction() = 0; @@ -366,7 +366,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() } case fixedHeatFlux: { - refGrad() = (q_ + qr)/kappa(Tp); + refGrad() = (q_ + qr)/kappa(*this); refValue() = Tp; valueFraction() = 0; @@ -417,7 +417,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() const scalarField kappaDeltaCoeffs ( - this->kappa(Tp)*patch().deltaCoeffs() + this->kappa(*this)*patch().deltaCoeffs() ); refGrad() = 0; @@ -452,7 +452,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() if (debug) { - const scalar Q = gSum(kappa(Tp)*patch().magSf()*snGrad()); + const scalar Q = gSum(kappa(*this)*patch().magSf()*snGrad()); Info<< patch().boundaryMesh().mesh().name() << ':' << patch().name() << ':' diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C index ee71406162..2aeee04fa6 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -67,30 +67,38 @@ Foam::temperatureCoupledBase::temperatureCoupledBase Foam::tmp Foam::temperatureCoupledBase::kappa ( - const scalarField& Tp + const fvPatchScalarField& Tp ) const { const fvMesh& mesh = patch_.boundaryMesh().mesh(); const label patchi = patch_.index(); - if (mesh.foundObject(basicThermo::dictName)) + const word& phase(Tp.internalField().group()); + const word fluidThermoName + ( + IOobject::groupName(basicThermo::dictName, phase) + ); + + if (mesh.foundObject(fluidThermoName)) { typedef compressible::turbulenceModel turbulenceModel; - if (mesh.foundObject(turbulenceModel::propertiesName)) + const word turbulenceModelName + ( + IOobject::groupName(turbulenceModel::propertiesName, phase) + ); + + if (mesh.foundObject(turbulenceModelName)) { const turbulenceModel& turbModel = - mesh.lookupObject - ( - turbulenceModel::propertiesName - ); + mesh.lookupObject( turbulenceModelName); return turbModel.kappaEff(patchi); } else { const fluidThermo& thermo = - mesh.lookupObject(basicThermo::dictName); + mesh.lookupObject(fluidThermoName); return thermo.kappa(patchi); } diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H index 5569baed8e..a93fbfef90 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -103,7 +103,7 @@ public: // Member Functions //- Given patch temperature calculate corresponding K field - tmp kappa(const scalarField& Tp) const; + tmp kappa(const fvPatchScalarField& Tp) const; //- Write void write(Ostream&) const; diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C index 912fcccd23..8191c02681 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -220,7 +220,7 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() } mpp.distribute(KDeltaNbr); - scalarField KDelta(kappa(Tp)*patch().deltaCoeffs()); + scalarField KDelta(kappa(*this)*patch().deltaCoeffs()); scalarField qr(Tp.size(), 0.0); if (qrName_ != "none") @@ -237,13 +237,13 @@ void turbulentTemperatureRadCoupledMixedFvPatchScalarField::updateCoeffs() valueFraction() = KDeltaNbr/(KDeltaNbr + KDelta); refValue() = TcNbr; - refGrad() = (qr + qrNbr)/kappa(Tp); + refGrad() = (qr + qrNbr)/kappa(*this); mixedFvPatchScalarField::updateCoeffs(); if (debug) { - scalar Q = gSum(kappa(Tp)*patch().magSf()*snGrad()); + scalar Q = gSum(kappa(*this)*patch().magSf()*snGrad()); Info<< patch().boundaryMesh().mesh().name() << ':' << patch().name() << ':'