From 222e403794c737846af5193c0cc89ce3a7d190fe Mon Sep 17 00:00:00 2001 From: sergio <sergio> Date: Wed, 30 Apr 2014 12:00:17 +0100 Subject: [PATCH] ENH: changing externalWallHeatFluxTemperature BC to work using mixed type. --- ...allHeatFluxTemperatureFvPatchScalarField.C | 39 ++++++++----------- ...allHeatFluxTemperatureFvPatchScalarField.H | 2 +- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C index ea273e25984..12d97372125 100644 --- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.C @@ -72,9 +72,9 @@ externalWallHeatFluxTemperatureFvPatchScalarField thicknessLayers_(), kappaLayers_() { - this->refValue() = 0.0; - this->refGrad() = 0.0; - this->valueFraction() = 1.0; + refValue() = 0.0; + refGrad() = 0.0; + valueFraction() = 1.0; } @@ -242,17 +242,13 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() return; } - scalarField q(size(), 0.0); - const scalarField Tc(patchInternalField()); const scalarField Tp(*this); - const scalarField KWall(kappa(Tp)); - const scalarField KDelta(KWall*patch().deltaCoeffs()); + scalarField hp(patch().size(), 0.0); switch (mode_) { case fixedHeatFlux: { - q = q_; break; } case fixedHeatTransferCoeff: @@ -269,7 +265,7 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() } } } - q = (Ta_ - Tp)/(1.0/h_ + totalSolidRes); + hp = 1.0/(1.0/h_ + totalSolidRes); break; } default: @@ -283,27 +279,24 @@ void Foam::externalWallHeatFluxTemperatureFvPatchScalarField::updateCoeffs() } } - forAll(*this, i) + if (mode_ == fixedHeatFlux) { - if (q[i] > 0) //in - { - this->refGrad()[i] = q[i]/KWall[i]; - this->refValue()[i] = 0.0; - this->valueFraction()[i] = 0.0; - } - else //out - { - this->refGrad()[i] = 0.0; - this->refValue()[i] = q[i]/KDelta[i] + Tc[i]; - this->valueFraction()[i] = 1.0; - } + refGrad() = q_/kappa(Tp); + refValue() = 0.0; + valueFraction() = 0.0; + } + else if (mode_ == fixedHeatTransferCoeff) + { + refGrad() = 0.0; + refValue() = Ta_; + valueFraction() = hp/(hp + kappa(Tp)*patch().deltaCoeffs()); } mixedFvPatchScalarField::updateCoeffs(); if (debug) { - scalar Q = gSum(KWall*patch().magSf()*snGrad()); + scalar Q = gSum(kappa(Tp)*patch().magSf()*snGrad()); Info<< patch().boundaryMesh().mesh().name() << ':' << patch().name() << ':' diff --git a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H index c07344e8b64..b4ca13a461e 100644 --- a/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H +++ b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/externalWallHeatFluxTemperature/externalWallHeatFluxTemperatureFvPatchScalarField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License -- GitLab