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