diff --git a/src/turbulenceModels/RAS/compressible/Make/files b/src/turbulenceModels/RAS/compressible/Make/files index aab9098c3db7310d01990abe8ef0a78ef3d7c0e1..34ecc3436558373821dc5e30e743f4d60b1e4c3e 100644 --- a/src/turbulenceModels/RAS/compressible/Make/files +++ b/src/turbulenceModels/RAS/compressible/Make/files @@ -15,6 +15,7 @@ kOmegaSST/kOmegaSST.C wallFunctions/mutWallFunctions/mutStandardRoughWallFunction/mutStandardRoughWallFunctionFvPatchScalarField.C /* Patch fields */ +derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C diff --git a/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C new file mode 100644 index 0000000000000000000000000000000000000000..9cd3901fe3d323791cb2307475c78dbe9e38498e --- /dev/null +++ b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C @@ -0,0 +1,203 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*---------------------------------------------------------------------------*/ + +#include "turbulentHeatFluxTemperatureFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "RASModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace compressible +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(p, iF), + q_(p.size(), 0.0), + rhoName_("undefinedRho") +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + fixedGradientFvPatchScalarField(ptf, p, iF, mapper), + q_(ptf.q_, mapper), + rhoName_(ptf.rhoName_) +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const dictionary& dict +) +: + fixedGradientFvPatchScalarField(p, iF), + q_("q", dict, p.size()), + rhoName_(dict.lookup("rho")) +{ + fvPatchField<scalar>::operator=(patchInternalField()); + gradient() = 0.0; +} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf +) +: + fixedGradientFvPatchScalarField(thftpsf), + q_(thftpsf.q_), + rhoName_(thftpsf.rhoName_) +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(thftpsf, iF), + q_(thftpsf.q_), + rhoName_(thftpsf.rhoName_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void turbulentHeatFluxTemperatureFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + fixedGradientFvPatchScalarField::autoMap(m); + q_.autoMap(m); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + fixedGradientFvPatchScalarField::rmap(ptf, addr); + + const turbulentHeatFluxTemperatureFvPatchScalarField& thftptf = + refCast<const turbulentHeatFluxTemperatureFvPatchScalarField> + ( + ptf + ); + + q_.rmap(thftptf.q_, addr); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + const label patchI = patch().index(); + + const RASModel& ras = db().lookupObject<RASModel>("RASProperties"); + + const scalarField alphaEffp = ras.alphaEff()().boundaryField()[patchI]; + + const basicThermo& thermo = + db().lookupObject<basicThermo>("thermophysicalProperties"); + +// const scalarField& Tp = thermo.T().boundaryField()[patchI]; + const scalarField& Tp = *this; + + const scalarField Cpp = thermo.Cp(Tp, patchI); + + const scalarField& rhop = + patch().lookupPatchField<volScalarField, scalar>(rhoName_); + + const scalar Ap = gSum(patch().magSf()); + + gradient() = q_/(Ap*rhop*Cpp*alphaEffp); + + fixedGradientFvPatchScalarField::updateCoeffs(); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::write +( + Ostream& os +) const +{ + fvPatchScalarField::write(os); + q_.writeEntry("q", os); + os.writeKeyword("rho") << rhoName_ << token::END_STATEMENT << nl; + gradient().writeEntry("gradient", os); + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField +( + fvPatchScalarField, + turbulentHeatFluxTemperatureFvPatchScalarField +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace compressible +} // End namespace Foam + + +// ************************************************************************* // + diff --git a/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H new file mode 100644 index 0000000000000000000000000000000000000000..c2ee7be012558b958acdc6e29e30f6f47701f4b3 --- /dev/null +++ b/src/turbulenceModels/RAS/compressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H @@ -0,0 +1,176 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::turbulentHeatFluxTemperatureFvPatchScalarField + +Description + Fixed heat flux boundary condition for temperature. + +SourceFiles + turbulentHeatFluxTemperatureFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef turbulentHeatFluxTemperatureFvPatchScalarFields_H +#define turbulentHeatFluxTemperatureFvPatchScalarFields_H + +#include "fvPatchFields.H" +#include "fixedGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace compressible +{ + +/*---------------------------------------------------------------------------*\ + Class turbulentHeatFluxTemperatureFvPatchScalarField Declaration +\*---------------------------------------------------------------------------*/ + +class turbulentHeatFluxTemperatureFvPatchScalarField +: + public fixedGradientFvPatchScalarField +{ +// Private data + + //- Heat flux [W] + scalarField q_; + + //- Name of density field + word rhoName_; + + +public: + + //- Runtime type information + TypeName("turbulentHeatFluxTemperature"); + + + // Constructors + + //- Construct from patch and internal field + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>& + ); + + //- Construct from patch, internal field and dictionary + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const dictionary& + ); + + //- Construct by mapping given + // turbulentHeatFluxTemperatureFvPatchScalarField onto + // a new patch + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField&, + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp<fvPatchScalarField> clone() const + { + return tmp<fvPatchScalarField> + ( + new turbulentHeatFluxTemperatureFvPatchScalarField(*this) + ); + } + + //- Construct as copy setting internal field reference + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField&, + 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 turbulentHeatFluxTemperatureFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + // 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(); + + + // I-O + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace compressible +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/turbulenceModels/RAS/incompressible/Make/files b/src/turbulenceModels/RAS/incompressible/Make/files index 6584fc611340767ff6d9d63b7d24cbed89ec9047..8319edbe82a9f36af0b753f1792d392298699e3e 100644 --- a/src/turbulenceModels/RAS/incompressible/Make/files +++ b/src/turbulenceModels/RAS/incompressible/Make/files @@ -24,6 +24,7 @@ wallFunctions/nutWallFunctions/nutStandardWallFunction/nutStandardWallFunctionFv wallFunctions/nutWallFunctions/nutStandardRoughWallFunction/nutStandardRoughWallFunctionFvPatchScalarField.C /* Patch fields */ +derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C diff --git a/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C new file mode 100644 index 0000000000000000000000000000000000000000..f51ccb7251d24134dcee605d64d3d4c4c32455ac --- /dev/null +++ b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C @@ -0,0 +1,191 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +\*---------------------------------------------------------------------------*/ + +#include "turbulentHeatFluxTemperatureFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace incompressible +{ + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(p, iF), + q_(p.size(), 0.0), + alphaEffName_("undefinedAlphaEff"), + CpName_("undefinedCp") +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const fvPatchFieldMapper& mapper +) +: + fixedGradientFvPatchScalarField(ptf, p, iF, mapper), + q_(ptf.q_, mapper), + alphaEffName_(ptf.alphaEffName_), + CpName_(ptf.CpName_) +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const fvPatch& p, + const DimensionedField<scalar, volMesh>& iF, + const dictionary& dict +) +: + fixedGradientFvPatchScalarField(p, iF), + q_("q", dict, p.size()), + alphaEffName_(dict.lookup("alphaEff")), + CpName_(dict.lookup("Cp")) +{ + fvPatchField<scalar>::operator=(patchInternalField()); + gradient() = 0.0; +} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf +) +: + fixedGradientFvPatchScalarField(thftpsf), + q_(thftpsf.q_), + alphaEffName_(thftpsf.alphaEffName_), + CpName_(thftpsf.CpName_) +{} + + +turbulentHeatFluxTemperatureFvPatchScalarField:: +turbulentHeatFluxTemperatureFvPatchScalarField +( + const turbulentHeatFluxTemperatureFvPatchScalarField& thftpsf, + const DimensionedField<scalar, volMesh>& iF +) +: + fixedGradientFvPatchScalarField(thftpsf, iF), + q_(thftpsf.q_), + alphaEffName_(thftpsf.alphaEffName_), + CpName_(thftpsf.CpName_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void turbulentHeatFluxTemperatureFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + scalarField::autoMap(m); + q_.autoMap(m); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + fixedGradientFvPatchScalarField::rmap(ptf, addr); + + const turbulentHeatFluxTemperatureFvPatchScalarField& thftptf = + refCast<const turbulentHeatFluxTemperatureFvPatchScalarField> + ( + ptf + ); + + q_.rmap(thftptf.q_, addr); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + const scalarField& alphaEffp = + patch().lookupPatchField<volScalarField, scalar>(alphaEffName_); + + const scalarField& Cpp = + patch().lookupPatchField<volScalarField, scalar>(CpName_); + + gradient() = q_/(Cpp*alphaEffp); + + fixedGradientFvPatchScalarField::updateCoeffs(); +} + + +void turbulentHeatFluxTemperatureFvPatchScalarField::write(Ostream& os) const +{ + fixedGradientFvPatchScalarField::write(os); + q_.writeEntry("q", os); + os.writeKeyword("alphaEff") << alphaEffName_ << token::END_STATEMENT << nl; + os.writeKeyword("Cp") << CpName_ << token::END_STATEMENT << nl; + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField +( + fvPatchScalarField, + turbulentHeatFluxTemperatureFvPatchScalarField +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace incompressible +} // End namespace Foam + + +// ************************************************************************* // + diff --git a/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H new file mode 100644 index 0000000000000000000000000000000000000000..de677f0e91b0ac91a0c72e978e1f3158a034f2d5 --- /dev/null +++ b/src/turbulenceModels/RAS/incompressible/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.H @@ -0,0 +1,179 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd. + \\/ 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 2 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, write to the Free Software Foundation, + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Class + Foam::turbulentHeatFluxTemperatureFvPatchScalarField + +Description + Fixed heat flux boundary condition for temperature. + +SourceFiles + turbulentHeatFluxTemperatureFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef turbulentHeatFluxTemperatureFvPatchScalarFields_H +#define turbulentHeatFluxTemperatureFvPatchScalarFields_H + +#include "fvPatchFields.H" +#include "fixedGradientFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace incompressible +{ + +/*---------------------------------------------------------------------------*\ + Class turbulentHeatFluxTemperatureFvPatchScalarField Declaration +\*---------------------------------------------------------------------------*/ + +class turbulentHeatFluxTemperatureFvPatchScalarField +: + public fixedGradientFvPatchScalarField +{ +// Private data + + //- Heat flux [W/m2] + scalarField q_; + + //- Name of effective thermal diffusivity field + word alphaEffName_; + + //- Name of specific heat capacity field + word CpName_; + + +public: + + //- Runtime type information + TypeName("turbulentHeatFluxTemperature"); + + + // Constructors + + //- Construct from patch and internal field + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>& + ); + + //- Construct from patch, internal field and dictionary + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const dictionary& + ); + + //- Construct by mapping given + // turbulentHeatFluxTemperatureFvPatchScalarField onto + // a new patch + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField&, + const fvPatch&, + const DimensionedField<scalar, volMesh>&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp<fvPatchScalarField> clone() const + { + return tmp<fvPatchScalarField> + ( + new turbulentHeatFluxTemperatureFvPatchScalarField(*this) + ); + } + + //- Construct as copy setting internal field reference + turbulentHeatFluxTemperatureFvPatchScalarField + ( + const turbulentHeatFluxTemperatureFvPatchScalarField&, + 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 turbulentHeatFluxTemperatureFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + // 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(); + + + // I-O + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace incompressible +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* //