From ec8b2eb97b2f4c2ed748a2ac8dbe5e105cdae6a1 Mon Sep 17 00:00:00 2001 From: Vuko Vukcevic Date: Thu, 29 Jun 2017 08:56:04 +0200 Subject: [PATCH] nuRatio boundary conditions for epsilon and omega Given a desired nuRatio, the boundary conditions automatically calculate epsilon/omega from k. --- .../incompressible/RAS/Make/files | 2 + .../nuRatioEpsilonFvPatchScalarField.C | 205 ++++++++++++++++++ .../nuRatioEpsilonFvPatchScalarField.H | 182 ++++++++++++++++ .../nuRatioOmegaFvPatchScalarField.C | 185 ++++++++++++++++ .../nuRatioOmegaFvPatchScalarField.H | 178 +++++++++++++++ 5 files changed, 752 insertions(+) create mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.C create mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.H create mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.C create mode 100644 src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.H diff --git a/src/turbulenceModels/incompressible/RAS/Make/files b/src/turbulenceModels/incompressible/RAS/Make/files index 81bc14284..9c374d144 100644 --- a/src/turbulenceModels/incompressible/RAS/Make/files +++ b/src/turbulenceModels/incompressible/RAS/Make/files @@ -59,6 +59,8 @@ $(wallFunctionFunctionObjects)/velocityConvection/velocityConvectionFunctionObje derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthDissipationRateInlet/turbulentMixingLengthDissipationRateInletFvPatchScalarField.C derivedFvPatchFields/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInletFvPatchScalarField.C +derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.C +derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.C backwardsCompatibility/wallFunctions/backwardsCompatibilityWallFunctions.C diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.C new file mode 100644 index 000000000..f5ad169cf --- /dev/null +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.C @@ -0,0 +1,205 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | foam-extend: Open Source CFD + \\ / O peration | Version: 4.0 + \\ / A nd | Web: http://www.foam-extend.org + \\/ M anipulation | For copyright notice see file Copyright +------------------------------------------------------------------------------- +License + This file is part of foam-extend. + + foam-extend 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. + + foam-extend 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 foam-extend. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "nuRatioEpsilonFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "RASModel.H" +#include "fvPatchFieldMapper.H" +#include "surfaceFields.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF +) +: + inletOutletFvPatchScalarField(p, iF), + nuRatio_(1), + Cmu_(0.09), + kName_("undefined-k"), + phiName_("undefined-phi") +{ + this->refValue() = 0.0; + this->refGrad() = 0.0; + this->valueFraction() = 0.0; +} + + +Foam::nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField +( + const nuRatioEpsilonFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + inletOutletFvPatchScalarField(ptf, p, iF, mapper), + nuRatio_(ptf.nuRatio_), + Cmu_(ptf.Cmu_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +Foam::nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + inletOutletFvPatchScalarField(p, iF), + nuRatio_(readScalar(dict.lookup("nuRatio"))), + Cmu_(dict.lookupOrDefault("Cmu", 0.09)), + kName_(dict.lookupOrDefault("kName", "k")), + phiName_(dict.lookupOrDefault("phiName", "phi")) +{ + if (nuRatio_< SMALL) + { + FatalErrorIn + ( + "nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField" + "(const fvPatch& p, const DimensionedField& iF, " + "const dictionary& dict)" + ) << "Invalid eddy viscosity ratio (nuRatio) specified: " << nuRatio_ + << "\n on patch " << this->patch().name() + << " of field " << this->dimensionedInternalField().name() + << " in file " << this->dimensionedInternalField().objectPath() + << exit(FatalError); + } + + if (Cmu_ < SMALL) + { + FatalErrorIn + ( + "nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField" + "(const fvPatch& p, const DimensionedField& iF, " + "const dictionary& dict)" + ) << "Invalid Cmu_ constant specified: " << Cmu_ + << "\n on patch " << this->patch().name() + << " of field " << this->dimensionedInternalField().name() + << " in file " << this->dimensionedInternalField().objectPath() + << exit(FatalError); + } + + fvPatchScalarField::operator=(scalarField("value", dict, p.size())); + + this->refValue() = 0.0; + this->refGrad() = 0.0; + this->valueFraction() = 0.0; +} + + +Foam::nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField +( + const nuRatioEpsilonFvPatchScalarField& ptf +) +: + inletOutletFvPatchScalarField(ptf), + nuRatio_(ptf.nuRatio_), + Cmu_(ptf.Cmu_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +Foam::nuRatioEpsilonFvPatchScalarField::nuRatioEpsilonFvPatchScalarField +( + const nuRatioEpsilonFvPatchScalarField& ptf, + const DimensionedField& iF +) +: + inletOutletFvPatchScalarField(ptf, iF), + nuRatio_(ptf.nuRatio_), + Cmu_(ptf.Cmu_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::nuRatioEpsilonFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + // Get turbulent kinetic energy field for this patch + const fvPatchScalarField& kp = + lookupPatchField(kName_); + + // Get flux field for this patch + const fvsPatchScalarField& phip = + lookupPatchField(phiName_); + + // Get RASModel + const incompressible::RASModel& rasModel = + this->dimensionedInternalField().mesh().lookupObject + < + incompressible::RASModel + >("RASProperties"); + + // Get laminar viscosity for this patch + const fvPatchScalarField& nup = + rasModel.nu().boundaryField()[this->patch().index()]; + + this->refValue() = Cmu_*sqrt(kp)/nuRatio_/nup; + this->valueFraction() = neg(phip); + + inletOutletFvPatchScalarField::updateCoeffs(); +} + + +void Foam::nuRatioEpsilonFvPatchScalarField::write +( + Ostream& os +) const +{ + fvPatchScalarField::write(os); + os.writeKeyword("nuRatio") << nuRatio_ << token::END_STATEMENT << nl; + os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl; + os.writeKeyword("kName") << kName_ << token::END_STATEMENT << nl; + os.writeKeyword("phiName") << phiName_ << token::END_STATEMENT << nl; + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField + ( + fvPatchScalarField, + nuRatioEpsilonFvPatchScalarField + ); +} + +// ************************************************************************* // diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.H new file mode 100644 index 000000000..62d26f9fe --- /dev/null +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioEpsilon/nuRatioEpsilonFvPatchScalarField.H @@ -0,0 +1,182 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | foam-extend: Open Source CFD + \\ / O peration | Version: 4.0 + \\ / A nd | Web: http://www.foam-extend.org + \\/ M anipulation | For copyright notice see file Copyright +------------------------------------------------------------------------------- +License + This file is part of foam-extend. + + foam-extend 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. + + foam-extend 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 foam-extend. If not, see . + +Class + Foam::nuRatioEpsilonFvPatchScalarField + +Description + Calculate turbulent dissipation rate (epsilon) from the provided eddy + viscosity ratio. Note: derived from inletOutlet so it can readily be used + for both inlets and outlets. + + Example of the boundary condition specification: + \verbatim + inlet + { + type nuRatioEpsilon; + nuRatio 10; // Eddy viscosity ratio + Cmu 0.09; // Default value 0.09 + kName k; // Name of the turbulent energy field + // (k by default) + phiName phi; // Name of the flux field + // (phi by default) + value uniform 1; // placeholder + } + \endverbatim + +SourceFiles + nuRatioEpsilonFvPatchScalarField.C + +Author + Vuko Vukcevic, Wikki Ltd. All rights reserved. + +\*---------------------------------------------------------------------------*/ + +#ifndef nuRatioEpsilonFvPatchScalarField_H +#define nuRatioEpsilonFvPatchScalarField_H + +#include "inletOutletFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class eddyViscosityRatioTurbulenceDissipationRateFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +class nuRatioEpsilonFvPatchScalarField +: + public inletOutletFvPatchScalarField +{ + // Private data + + //- Target viscosity ratio + scalar nuRatio_; + + //- Cmu constant + scalar Cmu_; + + //- Name of the turbulent energy field + word kName_; + + //- Name of the flux field + word phiName_; + + +public: + + //- Runtime type information + TypeName("nuRatioEpsilon"); + + + // Constructors + + //- Construct from patch and internal field + nuRatioEpsilonFvPatchScalarField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + nuRatioEpsilonFvPatchScalarField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given + // nuRatioEpsilonFvPatchScalarField + // onto a new patch + nuRatioEpsilonFvPatchScalarField + ( + const nuRatioEpsilonFvPatchScalarField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + nuRatioEpsilonFvPatchScalarField + ( + const nuRatioEpsilonFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new nuRatioEpsilonFvPatchScalarField + ( + *this + ) + ); + } + + //- Construct as copy setting internal field reference + nuRatioEpsilonFvPatchScalarField + ( + const nuRatioEpsilonFvPatchScalarField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new nuRatioEpsilonFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member 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/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.C new file mode 100644 index 000000000..01100cd4d --- /dev/null +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.C @@ -0,0 +1,185 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | foam-extend: Open Source CFD + \\ / O peration | Version: 4.0 + \\ / A nd | Web: http://www.foam-extend.org + \\/ M anipulation | For copyright notice see file Copyright +------------------------------------------------------------------------------- +License + This file is part of foam-extend. + + foam-extend 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. + + foam-extend 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 foam-extend. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "nuRatioOmegaFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "RASModel.H" +#include "fvPatchFieldMapper.H" +#include "surfaceFields.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF +) +: + inletOutletFvPatchScalarField(p, iF), + nuRatio_(1), + kName_("undefined-k"), + phiName_("undefined-phi") +{ + this->refValue() = 0.0; + this->refGrad() = 0.0; + this->valueFraction() = 0.0; +} + + +Foam::nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField +( + const nuRatioOmegaFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + inletOutletFvPatchScalarField(ptf, p, iF, mapper), + nuRatio_(ptf.nuRatio_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +Foam::nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + inletOutletFvPatchScalarField(p, iF), + nuRatio_(readScalar(dict.lookup("nuRatio"))), + kName_(dict.lookupOrDefault("kName", "k")), + phiName_(dict.lookupOrDefault("phiName", "phi")) +{ + if (nuRatio_< SMALL) + { + FatalErrorIn + ( + "nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField" + "(const fvPatch& p, const DimensionedField& iF, " + "const dictionary& dict)" + ) << "Invalid eddy viscosity ratio (nuRatio) specified: " << nuRatio_ + << "\n on patch " << this->patch().name() + << " of field " << this->dimensionedInternalField().name() + << " in file " << this->dimensionedInternalField().objectPath() + << exit(FatalError); + } + + fvPatchScalarField::operator=(scalarField("value", dict, p.size())); + + this->refValue() = 0.0; + this->refGrad() = 0.0; + this->valueFraction() = 0.0; +} + + +Foam::nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField +( + const nuRatioOmegaFvPatchScalarField& ptf +) +: + inletOutletFvPatchScalarField(ptf), + nuRatio_(ptf.nuRatio_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +Foam::nuRatioOmegaFvPatchScalarField::nuRatioOmegaFvPatchScalarField +( + const nuRatioOmegaFvPatchScalarField& ptf, + const DimensionedField& iF +) +: + inletOutletFvPatchScalarField(ptf, iF), + nuRatio_(ptf.nuRatio_), + kName_(ptf.kName_), + phiName_(ptf.phiName_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void Foam::nuRatioOmegaFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + // Get turbulent kinetic energy field for this patch + const fvPatchScalarField& kp = + lookupPatchField(kName_); + + // Get flux field for this patch + const fvsPatchScalarField& phip = + lookupPatchField(phiName_); + + // Get RASModel + const incompressible::RASModel& rasModel = + this->dimensionedInternalField().mesh().lookupObject + < + incompressible::RASModel + >("RASProperties"); + + // Get laminar viscosity for this patch + const fvPatchScalarField& nup = + rasModel.nu().boundaryField()[this->patch().index()]; + + this->refValue() = kp/(nuRatio_*nup); + this->valueFraction() = neg(phip); + + inletOutletFvPatchScalarField::updateCoeffs(); +} + + +void Foam::nuRatioOmegaFvPatchScalarField::write +( + Ostream& os +) const +{ + fvPatchScalarField::write(os); + os.writeKeyword("nuRatio") << nuRatio_ << token::END_STATEMENT << nl; + os.writeKeyword("kName") << kName_ << token::END_STATEMENT << nl; + os.writeKeyword("phiName") << phiName_ << token::END_STATEMENT << nl; + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + makePatchTypeField + ( + fvPatchScalarField, + nuRatioOmegaFvPatchScalarField + ); +} + +// ************************************************************************* // diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.H new file mode 100644 index 000000000..aa0abd4b8 --- /dev/null +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/nuRatioOmega/nuRatioOmegaFvPatchScalarField.H @@ -0,0 +1,178 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | foam-extend: Open Source CFD + \\ / O peration | Version: 4.0 + \\ / A nd | Web: http://www.foam-extend.org + \\/ M anipulation | For copyright notice see file Copyright +------------------------------------------------------------------------------- +License + This file is part of foam-extend. + + foam-extend 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. + + foam-extend 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 foam-extend. If not, see . + +Class + Foam::nuRatioOmegaFvPatchScalarField + +Description + Calculate turbulent dissipation rate (epsilon) from the provided eddy + viscosity ratio. Note: derived from inletOutlet so it can readily be used + for both inlets and outlets. + + Example of the boundary condition specification: + \verbatim + inlet + { + type nuRatioOmega; + nuRatio 10; // Eddy viscosity ratio + kName k; // Name of the turbulent energy field + // (k by default) + phiName phi; // Name of the flux field + // (phi by default) + value uniform 1; // placeholder + } + \endverbatim + +SourceFiles + nuRatioOmegaFvPatchScalarField.C + +Author + Vuko Vukcevic, Wikki Ltd. All rights reserved. + +\*---------------------------------------------------------------------------*/ + +#ifndef nuRatioOmegaFvPatchScalarField_H +#define nuRatioOmegaFvPatchScalarField_H + +#include "inletOutletFvPatchFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class eddyViscosityRatioTurbulenceDissipationRateFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +class nuRatioOmegaFvPatchScalarField +: + public inletOutletFvPatchScalarField +{ + // Private data + + //- Target viscosity ratio + scalar nuRatio_; + + //- Name of the turbulent energy field + word kName_; + + //- Name of the flux field + word phiName_; + + +public: + + //- Runtime type information + TypeName("nuRatioOmega"); + + + // Constructors + + //- Construct from patch and internal field + nuRatioOmegaFvPatchScalarField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + nuRatioOmegaFvPatchScalarField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given + // nuRatioOmegaFvPatchScalarField + // onto a new patch + nuRatioOmegaFvPatchScalarField + ( + const nuRatioOmegaFvPatchScalarField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + nuRatioOmegaFvPatchScalarField + ( + const nuRatioOmegaFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new nuRatioOmegaFvPatchScalarField + ( + *this + ) + ); + } + + //- Construct as copy setting internal field reference + nuRatioOmegaFvPatchScalarField + ( + const nuRatioOmegaFvPatchScalarField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new nuRatioOmegaFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* //