From 2602868b0051f357c54f4478db2a61e8ba6e5c07 Mon Sep 17 00:00:00 2001 From: Henry <Henry> Date: Tue, 5 Feb 2013 14:51:01 +0000 Subject: [PATCH] Update wallHeatTransfer BC for turbulence --- .../wallHeatTransferFvPatchScalarField.C | 184 ----------------- .../wallHeatTransferFvPatchScalarField.H | 194 ------------------ .../wallHeatTransferFvPatchScalarField.C | 17 +- .../wallHeatTransferFvPatchScalarField.H | 0 4 files changed, 8 insertions(+), 387 deletions(-) delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H rename src/{thermophysicalModels/basic => turbulenceModels/compressible/turbulenceModel}/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C (91%) rename src/{thermophysicalModels/basic => turbulenceModels/compressible/turbulenceModel}/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H (100%) diff --git a/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C b/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C deleted file mode 100644 index e6782e8b3a9..00000000000 --- a/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C +++ /dev/null @@ -1,184 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -\*---------------------------------------------------------------------------*/ - -#include "wallHeatTransferFvPatchScalarField.H" -#include "addToRunTimeSelectionTable.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField -( - const fvPatch& p, - const DimensionedField<scalar, volMesh>& iF -) -: - mixedFvPatchScalarField(p, iF), - Tinf_(p.size(), 0.0), - alphaWall_(p.size(), 0.0) -{ - refValue() = 0.0; - refGrad() = 0.0; - valueFraction() = 0.0; -} - - -Foam::wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField -( - const wallHeatTransferFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField<scalar, volMesh>& iF, - const fvPatchFieldMapper& mapper -) -: - mixedFvPatchScalarField(ptf, p, iF, mapper), - Tinf_(ptf.Tinf_, mapper), - alphaWall_(ptf.alphaWall_, mapper) -{} - - -Foam::wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField -( - const fvPatch& p, - const DimensionedField<scalar, volMesh>& iF, - const dictionary& dict -) -: - mixedFvPatchScalarField(p, iF), - Tinf_("Tinf", dict, p.size()), - alphaWall_("alphaWall", dict, p.size()) -{ - refValue() = Tinf_; - refGrad() = 0.0; - valueFraction() = 0.0; - - if (dict.found("value")) - { - fvPatchField<scalar>::operator= - ( - scalarField("value", dict, p.size()) - ); - } - else - { - evaluate(); - } -} - - -Foam::wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField -( - const wallHeatTransferFvPatchScalarField& tppsf -) -: - mixedFvPatchScalarField(tppsf), - Tinf_(tppsf.Tinf_), - alphaWall_(tppsf.alphaWall_) -{} - - -Foam::wallHeatTransferFvPatchScalarField::wallHeatTransferFvPatchScalarField -( - const wallHeatTransferFvPatchScalarField& tppsf, - const DimensionedField<scalar, volMesh>& iF -) -: - mixedFvPatchScalarField(tppsf, iF), - Tinf_(tppsf.Tinf_), - alphaWall_(tppsf.alphaWall_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -void Foam::wallHeatTransferFvPatchScalarField::autoMap -( - const fvPatchFieldMapper& m -) -{ - scalarField::autoMap(m); - Tinf_.autoMap(m); - alphaWall_.autoMap(m); -} - - -void Foam::wallHeatTransferFvPatchScalarField::rmap -( - const fvPatchScalarField& ptf, - const labelList& addr -) -{ - mixedFvPatchScalarField::rmap(ptf, addr); - - const wallHeatTransferFvPatchScalarField& tiptf = - refCast<const wallHeatTransferFvPatchScalarField>(ptf); - - Tinf_.rmap(tiptf.Tinf_, addr); - alphaWall_.rmap(tiptf.alphaWall_, addr); -} - - -void Foam::wallHeatTransferFvPatchScalarField::updateCoeffs() -{ - if (updated()) - { - return; - } - - const fvPatchScalarField& Cpw = - patch().lookupPatchField<volScalarField, scalar>("Cp"); - - const fvPatchScalarField& kByCpw = - patch().lookupPatchField<volScalarField, scalar>("kByCp"); - - valueFraction() = - 1.0/ - ( - 1.0 - + Cpw*kByCpw*patch().deltaCoeffs()/alphaWall_ - ); - - mixedFvPatchScalarField::updateCoeffs(); -} - - -void Foam::wallHeatTransferFvPatchScalarField::write(Ostream& os) const -{ - fvPatchScalarField::write(os); - Tinf_.writeEntry("Tinf", os); - alphaWall_.writeEntry("alphaWall", os); - writeEntry("value", os); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchTypeField(fvPatchScalarField, wallHeatTransferFvPatchScalarField); -} - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H b/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H deleted file mode 100644 index cf5284a087d..00000000000 --- a/applications/solvers/multiphase/compressibleInterFoam/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H +++ /dev/null @@ -1,194 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. - -Class - Foam::wallHeatTransferFvPatchScalarField - -Description - Enthalpy boundary conditions for wall heat transfer - -SourceFiles - wallHeatTransferFvPatchScalarField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef wallHeatTransferFvPatchScalarField_H -#define wallHeatTransferFvPatchScalarField_H - -#include "mixedFvPatchFields.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class wallHeatTransferFvPatch Declaration -\*---------------------------------------------------------------------------*/ - -class wallHeatTransferFvPatchScalarField -: - public mixedFvPatchScalarField -{ - // Private data - - //- Tinf - scalarField Tinf_; - - //- alphaWall - scalarField alphaWall_; - - -public: - - //- Runtime type information - TypeName("wallHeatTransfer"); - - - // Constructors - - //- Construct from patch and internal field - wallHeatTransferFvPatchScalarField - ( - const fvPatch&, - const DimensionedField<scalar, volMesh>& - ); - - //- Construct from patch, internal field and dictionary - wallHeatTransferFvPatchScalarField - ( - const fvPatch&, - const DimensionedField<scalar, volMesh>&, - const dictionary& - ); - - //- Construct by mapping given wallHeatTransferFvPatchScalarField - // onto a new patch - wallHeatTransferFvPatchScalarField - ( - const wallHeatTransferFvPatchScalarField&, - const fvPatch&, - const DimensionedField<scalar, volMesh>&, - const fvPatchFieldMapper& - ); - - //- Construct as copy - wallHeatTransferFvPatchScalarField - ( - const wallHeatTransferFvPatchScalarField& - ); - - //- Construct and return a clone - virtual tmp<fvPatchScalarField> clone() const - { - return tmp<fvPatchScalarField> - ( - new wallHeatTransferFvPatchScalarField(*this) - ); - } - - //- Construct as copy setting internal field reference - wallHeatTransferFvPatchScalarField - ( - const wallHeatTransferFvPatchScalarField&, - const DimensionedField<scalar, volMesh>& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp<fvPatchScalarField> clone - ( - const DimensionedField<scalar, volMesh>& iF - ) const - { - return tmp<fvPatchScalarField> - ( - new wallHeatTransferFvPatchScalarField(*this, iF) - ); - } - - - // Member functions - - // Access - - //- Return Tinf - const scalarField& Tinf() const - { - return Tinf_; - } - - //- Return reference to Tinf to allow adjustment - scalarField& Tinf() - { - return Tinf_; - } - - //- Return alphaWall - const scalarField& alphaWall() const - { - return alphaWall_; - } - - //- Return reference to alphaWall to allow adjustment - scalarField& alphaWall() - { - return alphaWall_; - } - - - // Mapping functions - - //- Map (and resize as needed) from self given a mapping object - virtual void autoMap - ( - const fvPatchFieldMapper& - ); - - //- Reverse map the given fvPatchField onto this fvPatchField - virtual void rmap - ( - const fvPatchScalarField&, - const labelList& - ); - - - // Evaluation functions - - //- Update the coefficients associated with the patch field - virtual void updateCoeffs(); - - - //- Write - virtual void write(Ostream&) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C similarity index 91% rename from src/thermophysicalModels/basic/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C rename to src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C index da9ff9b2bbd..1508cab8ea2 100644 --- a/src/thermophysicalModels/basic/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.C @@ -26,8 +26,7 @@ License #include "wallHeatTransferFvPatchScalarField.H" #include "addToRunTimeSelectionTable.H" #include "fvPatchFieldMapper.H" -#include "volFields.H" -#include "basicThermo.H" +#include "turbulenceModel.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -149,19 +148,19 @@ void Foam::wallHeatTransferFvPatchScalarField::updateCoeffs() return; } - const basicThermo& thermo = basicThermo::lookupThermo(*this); - const label patchi = patch().index(); + const compressible::turbulenceModel& turbModel = + db().lookupObject<compressible::turbulenceModel> + ( + "turbulenceModel" + ); - const scalarField& pw = thermo.p().boundaryField()[patchi]; - const scalarField& Tw = thermo.T().boundaryField()[patchi]; - const scalarField Cpw(thermo.Cp(pw, Tw, patchi)); + const label patchi = patch().index(); valueFraction() = 1.0/ ( 1.0 - + Cpw*thermo.alpha().boundaryField()[patchi] - *patch().deltaCoeffs()/alphaWall_ + + turbModel.kappaEff(patchi)*patch().deltaCoeffs()/alphaWall_ ); mixedFvPatchScalarField::updateCoeffs(); diff --git a/src/thermophysicalModels/basic/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H b/src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H similarity index 100% rename from src/thermophysicalModels/basic/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H rename to src/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/wallHeatTransfer/wallHeatTransferFvPatchScalarField.H -- GitLab