From 86cc19bd8bf72779ec06b2c862f028cf063444bb Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Sat, 22 Aug 2015 18:09:44 +0100 Subject: [PATCH] reactingTwoPhaseEulerFoam: Added support for thermal diffusivity and thermal wall-functions --- .../Make/options | 2 +- .../kineticTheoryModel/kineticTheoryModel.C | 13 +++- .../kineticTheoryModel/kineticTheoryModel.H | 7 +- .../phaseCompressibleTurbulenceModels.C | 4 + .../phasePressureModel/phasePressureModel.C | 13 +++- .../phasePressureModel/phasePressureModel.H | 7 +- .../ThermoPhaseModel/ThermoPhaseModel.C | 77 +++++++++++++++++-- .../ThermoPhaseModel/ThermoPhaseModel.H | 38 ++++++++- .../phaseModel/phaseModel/phaseModel.H | 38 ++++++++- .../reactionThermo/hRefConstThermos.C | 48 +++++++----- .../EddyDiffusivity/EddyDiffusivity.C | 51 +++--------- .../EddyDiffusivity/EddyDiffusivity.H | 15 +--- .../ThermalDiffusivity/ThermalDiffusivity.C | 30 +++++++- .../ThermalDiffusivity/ThermalDiffusivity.H | 16 +++- ...convectiveHeatTransferFvPatchScalarField.C | 15 ++-- ...RateAdvectiveDiffusiveFvPatchScalarField.C | 10 ++- ...ayatillekeWallFunctionFvPatchScalarField.C | 16 ++-- .../alphatWallFunctionFvPatchScalarField.C | 33 ++++---- .../alphatWallFunctionFvPatchScalarField.H | 6 -- .../makeTurbulenceModel.H | 5 +- .../turbulentFluidThermoModels.C | 7 +- .../RAS/kOmegaSST/kOmegaSST.H | 2 - .../LES/bubbleColumn/0/alphat.air | 48 ++++++++++++ .../LES/bubbleColumn/0/alphat.water | 48 ++++++++++++ .../RAS/bubbleColumn/0/alphat.air | 48 ++++++++++++ .../RAS/bubbleColumn/0/alphat.water | 48 ++++++++++++ .../0/alphat.gas | 48 ++++++++++++ .../RAS/fluidisedBed/0/alphat.air | 48 ++++++++++++ .../RAS/fluidisedBed/0/alphat.particles | 47 +++++++++++ .../laminar/fluidisedBed/0/alphat.particles | 47 +++++++++++ 30 files changed, 691 insertions(+), 144 deletions(-) create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.air create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.water create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.air create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.water create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/0/alphat.gas create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.air create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.particles create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0/alphat.particles diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options index 832cefa73d..6a88d1d9ce 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options @@ -4,8 +4,8 @@ EXE_INC = \ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/transportModels/incompressible/transportModel \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/fvOptions/lnInclude \ diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 9d502f7dd4..bbf37904ca 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -41,7 +41,13 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -183,7 +189,10 @@ bool Foam::RASModels::kineticTheoryModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index bfa1f872cb..9aadb83d12 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -48,6 +48,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" #include "dragModel.H" #include "viscosityModel.H" @@ -72,7 +74,10 @@ class kineticTheoryModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C index 65d857d9c8..eb0a070044 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C @@ -29,6 +29,9 @@ License #include "addToRunTimeSelectionTable.H" #include "makeTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" + #include "laminar.H" #include "RASModel.H" #include "LESModel.H" @@ -39,6 +42,7 @@ makeBaseTurbulenceModel volScalarField, compressibleTurbulenceModel, PhaseCompressibleTurbulenceModel, + ThermalDiffusivity, phaseModel ); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index 8cca6f493f..adb23d40d2 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -40,7 +40,13 @@ Foam::RASModels::phasePressureModel::phasePressureModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -87,7 +93,10 @@ bool Foam::RASModels::phasePressureModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H index a2b17dc1c7..68734e5b4f 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H @@ -54,6 +54,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -71,7 +73,10 @@ class phasePressureModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C index 2befe1585a..e79a9469fd 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C @@ -110,10 +110,10 @@ template Foam::tmp Foam::ThermoPhaseModel::mu ( - const label patchI + const label patchi ) const { - return thermo_->mu(patchI); + return thermo_->mu(patchi); } @@ -129,10 +129,10 @@ template Foam::tmp Foam::ThermoPhaseModel::nu ( - const label patchI + const label patchi ) const { - return thermo_->nu(patchI); + return thermo_->nu(patchi); } @@ -148,10 +148,75 @@ template Foam::tmp Foam::ThermoPhaseModel::kappa ( - const label patchI + const label patchi ) const { - return thermo_->kappa(patchI); + return thermo_->kappa(patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::kappaEff +( + const volScalarField& alphat +) const +{ + return thermo_->kappaEff(alphat); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::kappaEff +( + const scalarField& alphat, + const label patchi +) const +{ + return thermo_->kappaEff(alphat, patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alpha() const +{ + return thermo_->alpha(); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alpha +( + const label patchi +) const +{ + return thermo_->alpha(patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alphaEff +( + const volScalarField& alphat +) const +{ + return thermo_->alphaEff(alphat); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alphaEff +( + const scalarField& alphat, + const label patchi +) const +{ + return thermo_->alphaEff(alphat, patchi); } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H index 0c2b243a83..923187931e 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H @@ -105,19 +105,51 @@ public: virtual tmp mu() const; //- Access the laminar dynamic viscosity - virtual tmp mu(const label patchI) const; + virtual tmp mu(const label patchi) const; //- Return the laminar kinematic viscosity virtual tmp nu() const; //- Access the laminar kinematic viscosity - virtual tmp nu(const label patchI) const; + virtual tmp nu(const label patchi) const; //- Return the laminar thermal conductivity virtual tmp kappa() const; //- Access the laminar thermal conductivity - virtual tmp kappa(const label patchI) const; + virtual tmp kappa(const label patchi) const; + + //- Return the laminar thermal conductivity + virtual tmp kappaEff + ( + const volScalarField& alphat + ) const; + + //- Access the laminar thermal conductivity + virtual tmp kappaEff + ( + const scalarField& alphat, + const label patchi + ) const; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alpha() const; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alpha(const label patchi) const; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alphaEff + ( + const volScalarField& alphat + ) const; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alphaEff + ( + const scalarField& alphat, + const label patchi + ) const; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H index 082bb6c019..34e371a040 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H @@ -246,19 +246,51 @@ public: virtual tmp mu() const = 0; //- Return the laminar dynamic viscosity on a patch - virtual tmp mu(const label patchI) const = 0; + virtual tmp mu(const label patchi) const = 0; //- Return the laminar kinematic viscosity virtual tmp nu() const = 0; //- Return the laminar kinematic viscosity on a patch - virtual tmp nu(const label patchI) const = 0; + virtual tmp nu(const label patchi) const = 0; //- Return the laminar thermal conductivity virtual tmp kappa() const = 0; //- Return the laminar thermal conductivity on a patch - virtual tmp kappa(const label patchI) const = 0; + virtual tmp kappa(const label patchi) const = 0; + + //- Return the laminar thermal conductivity + virtual tmp kappaEff + ( + const volScalarField& alphat + ) const = 0; + + //- Access the laminar thermal conductivity + virtual tmp kappaEff + ( + const scalarField& alphat, + const label patchi + ) const = 0; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alpha() const = 0; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alpha(const label patchi) const = 0; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alphaEff + ( + const volScalarField& alphat + ) const = 0; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alphaEff + ( + const scalarField& alphat, + const label patchi + ) const = 0; // Turbulence diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C index 25bc49fd48..47ae733b14 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C +++ b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C @@ -33,29 +33,17 @@ License #include "perfectGas.H" #include "perfectFluid.H" #include "rhoConst.H" -#include "incompressiblePerfectGas.H" -#include "hConstThermo.H" -#include "janafThermo.H" + #include "sensibleEnthalpy.H" -#include "absoluteEnthalpy.H" -#include "absoluteInternalEnergy.H" -#include "thermo.H" - -#include "constTransport.H" -#include "sutherlandTransport.H" - -#include "pureMixture.H" -#include "homogeneousMixture.H" -#include "inhomogeneousMixture.H" -#include "veryInhomogeneousMixture.H" -#include "multiComponentMixture.H" -#include "reactingMixture.H" -#include "singleStepReactingMixture.H" - -#include "thermoPhysicsTypes.H" #include "hRefConstThermo.H" +#include "constTransport.H" + +#include "pureMixture.H" +#include "multiComponentMixture.H" + +#include "thermoPhysicsTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -119,6 +107,19 @@ constTransport > > constRefFluidEThermoPhysics; +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + rhoConst + >, + sensibleInternalEnergy + > +> constRefRhoConstEThermoPhysics; + // pureMixture, sensibleEnthalpy: @@ -218,6 +219,15 @@ makeReactionMixtureThermo constRefFluidEThermoPhysics ); +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefRhoConstEThermoPhysics +); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.C b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.C index 8e66570e16..eec1be8c8e 100644 --- a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.C +++ b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.C @@ -30,6 +30,14 @@ License template void Foam::EddyDiffusivity::correctNut() { + // Read Prt if provided + Prt_ = dimensioned::lookupOrDefault + ( + "Prt", + this->coeffDict(), + 1.0 + ); + alphat_ = this->rho_*this->nut()/Prt_; alphat_.correctBoundaryConditions(); } @@ -41,7 +49,7 @@ template Foam::EddyDiffusivity::EddyDiffusivity ( const word& type, - const geometricOneField& alpha, + const alphaField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, @@ -62,23 +70,14 @@ Foam::EddyDiffusivity::EddyDiffusivity propertiesName ), - // Prt_ - // ( - // dimensioned::lookupOrAddToDict - // ( - // "Prt", - // this->coeffDict_, - // 1.0 - // ) - // ), - + // Cannot read Prt yet Prt_("Prt", dimless, 1.0), alphat_ ( IOobject ( - "alphat", + IOobject::groupName("alphat", U.group()), this->runTime_.timeName(), this->mesh_, IOobject::MUST_READ, @@ -89,34 +88,6 @@ Foam::EddyDiffusivity::EddyDiffusivity {} -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -template -Foam::autoPtr > -Foam::EddyDiffusivity::New -( - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& phi, - const transportModel& transport, - const word& propertiesName -) -{ - return autoPtr - ( - static_cast( - BasicTurbulenceModel::New - ( - rho, - U, - phi, - transport, - propertiesName - ).ptr()) - ); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template diff --git a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H index a01107f630..a6693fac10 100644 --- a/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H +++ b/src/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.H @@ -82,7 +82,7 @@ public: EddyDiffusivity ( const word& type, - const geometricOneField& alpha, + const alphaField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, @@ -92,19 +92,6 @@ public: ); - // Selectors - - //- Return a reference to the selected turbulence model - static autoPtr New - ( - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& phi, - const transportModel& trasportModel, - const word& propertiesName = turbulenceModel::propertiesName - ); - - //- Destructor virtual ~EddyDiffusivity() {} diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C index ad6de84714..4a85a59d07 100644 --- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C +++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.C @@ -31,7 +31,7 @@ template Foam::ThermalDiffusivity::ThermalDiffusivity ( const word& type, - const geometricOneField& alpha, + const alphaField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, @@ -56,6 +56,34 @@ Foam::ThermalDiffusivity::ThermalDiffusivity // * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // +template +Foam::autoPtr > +Foam::ThermalDiffusivity::New +( + const alphaField& alpha, + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& phi, + const transportModel& transport, + const word& propertiesName +) +{ + return autoPtr + ( + static_cast( + BasicTurbulenceModel::New + ( + alpha, + rho, + U, + phi, + transport, + propertiesName + ).ptr()) + ); +} + + template Foam::autoPtr > Foam::ThermalDiffusivity::New diff --git a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H index 5996798d87..2066e44a1d 100644 --- a/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H +++ b/src/TurbulenceModels/compressible/ThermalDiffusivity/ThermalDiffusivity.H @@ -53,7 +53,7 @@ class ThermalDiffusivity public: - typedef geometricOneField alphaField; + typedef typename BasicTurbulenceModel::alphaField alphaField; typedef volScalarField rhoField; typedef typename BasicTurbulenceModel::transportModel transportModel; @@ -64,7 +64,7 @@ public: ThermalDiffusivity ( const word& type, - const geometricOneField& alpha, + const alphaField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, @@ -76,6 +76,18 @@ public: // Selectors + //- Return a reference to the selected turbulence model + static autoPtr New + ( + const alphaField& alpha, + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& phi, + const transportModel& trasportModel, + const word& propertiesName = turbulenceModel::propertiesName + ); + + //- Return a reference to the selected turbulence model static autoPtr New ( diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C index 02e87c7a77..8ace068f48 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C @@ -110,14 +110,15 @@ void convectiveHeatTransferFvPatchScalarField::updateCoeffs() const label patchi = patch().index(); - const turbulenceModel& turbModel = db().lookupObject - ( - IOobject::groupName + const compressible::turbulenceModel& turbModel = + db().lookupObject ( - turbulenceModel::propertiesName, - dimensionedInternalField().group() - ) - ); + IOobject::groupName + ( + compressible::turbulenceModel::propertiesName, + dimensionedInternalField().group() + ) + ); const scalarField alphaEffw(turbModel.alphaEff(patchi)); diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C index 63d700d3a2..d3d5116348 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/totalFlowRateAdvectiveDiffusive/totalFlowRateAdvectiveDiffusiveFvPatchScalarField.C @@ -32,6 +32,7 @@ License #include "turbulentFluidThermoModel.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField:: totalFlowRateAdvectiveDiffusiveFvPatchScalarField ( @@ -154,10 +155,11 @@ void Foam::totalFlowRateAdvectiveDiffusiveFvPatchScalarField::updateCoeffs() const label patchI = patch().index(); const LESModel >& turbModel = - db().lookupObject - < - LESModel > - > ( + db().lookupObject + < + LESModel > + > + ( IOobject::groupName ( turbulenceModel::propertiesName, diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C index 98a5a05f5e..7a9983fc20 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C @@ -200,15 +200,15 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs() const label patchi = patch().index(); // Retrieve turbulence properties from model - - const turbulenceModel& turbModel = db().lookupObject - ( - IOobject::groupName + const compressible::turbulenceModel& turbModel = + db().lookupObject ( - turbulenceModel::propertiesName, - dimensionedInternalField().group() - ) - ); + IOobject::groupName + ( + compressible::turbulenceModel::propertiesName, + dimensionedInternalField().group() + ) + ); const scalar Cmu25 = pow025(Cmu_); diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C index 90d2236005..ece3ac9e36 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.C @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "alphatWallFunctionFvPatchScalarField.H" +#include "compressibleTurbulenceModel.H" #include "fvPatchFieldMapper.H" #include "volFields.H" #include "addToRunTimeSelectionTable.H" @@ -44,8 +45,6 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF), - rhoName_("rho"), - nutName_("nut"), Prt_(0.85) {} @@ -59,8 +58,6 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(ptf, p, iF, mapper), - rhoName_(ptf.rhoName_), - nutName_(ptf.nutName_), Prt_(ptf.Prt_) {} @@ -73,8 +70,6 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF, dict), - rhoName_(dict.lookupOrDefault("rho", "rho")), - nutName_(dict.lookupOrDefault("nut", "nut")), Prt_(dict.lookupOrDefault("Prt", 0.85)) {} @@ -85,8 +80,6 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(awfpsf), - rhoName_(awfpsf.rhoName_), - nutName_(awfpsf.nutName_), Prt_(awfpsf.Prt_) {} @@ -98,8 +91,6 @@ alphatWallFunctionFvPatchScalarField::alphatWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(awfpsf, iF), - rhoName_(awfpsf.rhoName_), - nutName_(awfpsf.nutName_), Prt_(awfpsf.Prt_) {} @@ -113,13 +104,23 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs() return; } - const scalarField& rhow = - patch().lookupPatchField(rhoName_); + const label patchi = patch().index(); - const scalarField& nutw = - patch().lookupPatchField(nutName_); + // Retrieve turbulence properties from model + const compressibleTurbulenceModel& turbModel = + db().lookupObject + ( + IOobject::groupName + ( + compressibleTurbulenceModel::propertiesName, + dimensionedInternalField().group() + ) + ); - operator==(rhow*nutw/Prt_); + const scalarField& rhow = turbModel.rho().boundaryField()[patchi]; + const tmp tnutw = turbModel.nut(patchi); + + operator==(rhow*tnutw/Prt_); fixedValueFvPatchScalarField::updateCoeffs(); } @@ -128,8 +129,6 @@ void alphatWallFunctionFvPatchScalarField::updateCoeffs() void alphatWallFunctionFvPatchScalarField::write(Ostream& os) const { fvPatchField::write(os); - writeEntryIfDifferent(os, "rho", "rho", rhoName_); - writeEntryIfDifferent(os, "nut", "nut", nutName_); os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl; writeEntry("value", os); } diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H index f44ee6b8cf..308128ecce 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatWallFunction/alphatWallFunctionFvPatchScalarField.H @@ -95,12 +95,6 @@ class alphatWallFunctionFvPatchScalarField { // Private data - //- Name of density field (default = rho) - word rhoName_; - - //- Name of turbulent viscosity field (default = nut) - word nutName_; - //- Turbulent Prandtl number (default = 0.85) scalar Prt_; diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H index 91c3a2e71b..2bf0664c16 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H @@ -23,7 +23,8 @@ License \*---------------------------------------------------------------------------*/ -#define makeBaseTurbulenceModel(Alpha, Rho, baseModel, BaseModel, Transport) \ +#define makeBaseTurbulenceModel( \ + Alpha, Rho, baseModel, BaseModel, TDModel, Transport) \ \ namespace Foam \ { \ @@ -41,7 +42,7 @@ License dictionary \ ); \ \ - typedef BaseModel > \ + typedef TDModel > \ Transport##BaseModel; \ \ \ diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C index d5342a15d7..db2d414070 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/turbulentFluidThermoModels.C @@ -23,12 +23,12 @@ License \*---------------------------------------------------------------------------*/ +#include "CompressibleTurbulenceModel.H" #include "compressibleTransportModel.H" #include "fluidThermo.H" #include "addToRunTimeSelectionTable.H" #include "makeTurbulenceModel.H" -#include "CompressibleTurbulenceModel.H" #include "ThermalDiffusivity.H" #include "EddyDiffusivity.H" @@ -43,17 +43,18 @@ makeBaseTurbulenceModel geometricOneField, volScalarField, compressibleTurbulenceModel, + CompressibleTurbulenceModel, ThermalDiffusivity, fluidThermo ); #define makeRASModel(Type) \ makeTemplatedTurbulenceModel \ - (fluidThermoThermalDiffusivity, RAS, Type) + (fluidThermoCompressibleTurbulenceModel, RAS, Type) #define makeLESModel(Type) \ makeTemplatedTurbulenceModel \ - (fluidThermoThermalDiffusivity, LES, Type) + (fluidThermoCompressibleTurbulenceModel, LES, Type) // -------------------------------------------------------------------------- // diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H index e3a3fcd332..1bbbedc91d 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H +++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.H @@ -141,8 +141,6 @@ protected: dimensionedScalar alphaOmega1_; dimensionedScalar alphaOmega2_; - dimensionedScalar Prt_; - dimensionedScalar gamma1_; dimensionedScalar gamma2_; diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.air b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.air new file mode 100644 index 0000000000..60979da94f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.air @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.water b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.water new file mode 100644 index 0000000000..3ae0a65592 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/LES/bubbleColumn/0/alphat.water @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.air b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.air new file mode 100644 index 0000000000..60979da94f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.air @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.water b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.water new file mode 100644 index 0000000000..3ae0a65592 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumn/0/alphat.water @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/0/alphat.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/0/alphat.gas new file mode 100644 index 0000000000..de0de30191 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/0/alphat.gas @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.air b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.air new file mode 100644 index 0000000000..60979da94f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.air @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type compressible::alphatWallFunction; + Prt 0.85; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.particles b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.particles new file mode 100644 index 0000000000..b047d8d119 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/fluidisedBed/0/alphat.particles @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.particles; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type calculated; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0/alphat.particles b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0/alphat.particles new file mode 100644 index 0000000000..b047d8d119 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/fluidisedBed/0/alphat.particles @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object alphat.particles; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type calculated; + value $internalField; + } + + defaultFaces + { + type empty; + } +} + +// ************************************************************************* //