diff --git a/applications/solvers/compressible/rhoSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/createFields.H index 80f317cd85..61cea5c2e5 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoSimpleFoam/createFields.H @@ -69,9 +69,9 @@ dimensionedScalar rhoMin ); Info<< "Creating turbulence model\n" << endl; -autoPtr turbulence +autoPtr turbulence ( - compressible::New + compressible::turbulenceModel::New ( rho, U, diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/createFields.H b/applications/utilities/preProcessing/applyBoundaryLayer/createFields.H index a5847f74ee..0adeb49b72 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/createFields.H +++ b/applications/utilities/preProcessing/applyBoundaryLayer/createFields.H @@ -38,7 +38,23 @@ volVectorField U ); Info<< "Calculating wall distance field" << endl; -const volScalarField& y(wallDist::New(mesh).y()); +volScalarField y +( + IOobject + ( + "y", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh, + dimensionedScalar("zero", dimLength, 0.0), + zeroGradientFvPatchScalarField::typeName +); +y.internalField() = wallDist::New(mesh).y().internalField(); +y.correctBoundaryConditions(); + // Set the mean boundary-layer thickness dimensionedScalar ybl("ybl", dimLength, 0); diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H index 18d1d4cb4a..1b6668977c 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H @@ -62,9 +62,9 @@ Description type compressible::turbulentTemperatureCoupledBaffleMixed; Tnbr T; kappa lookup; - KappaName kappa; + kappaName kappa; thicknessLayers (0.1 0.2 0.3 0.4); - kappaLayers (1 2 3 4) + kappaLayers (1 2 3 4); value uniform 300; } \endverbatim diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H index 6bd2aaa6e9..77365b2aa6 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed/turbulentTemperatureRadCoupledMixedFvPatchScalarField.H @@ -55,7 +55,7 @@ Description type compressible::turbulentTemperatureRadCoupledMixed; Tnbr T; kappa lookup; - KappaName kappa; + kappaName kappa; QrNbr Qr; // or none. Name of Qr field on neighbour region Qr Qr; // or none. Name of Qr field on local region thicknessLayers (0.1 0.2 0.3 0.4); diff --git a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C index f5dce6ab61..3767153d78 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -457,7 +457,29 @@ tmp SpalartAllmarasDES::k() const { const volScalarField chi(this->chi()); const volScalarField fv1(this->fv1(chi)); - return sqr(this->nut()/ck_/dTilda(chi, fv1, fvc::grad(this->U_))); + + tmp tdTilda + ( + new volScalarField + ( + IOobject + ( + "dTilda", + this->mesh_.time().timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + this->mesh_, + dimensionedScalar("0", dimLength, 0.0), + zeroGradientFvPatchField::typeName + ) + ); + volScalarField& dTildaF = tdTilda(); + dTildaF = dTilda(chi, fv1, fvc::grad(this->U_)); + dTildaF.correctBoundaryConditions(); + + return sqr(this->nut()/ck_/dTildaF); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/LESeddyViscosity/LESeddyViscosity.C b/src/TurbulenceModels/turbulenceModels/LES/LESeddyViscosity/LESeddyViscosity.C index 2a58c71e35..d867084917 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/LESeddyViscosity/LESeddyViscosity.C +++ b/src/TurbulenceModels/turbulenceModels/LES/LESeddyViscosity/LESeddyViscosity.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -94,7 +94,7 @@ tmp LESeddyViscosity::epsilon() const { tmp tk(this->k()); - return tmp + tmp tepsilon ( new volScalarField ( @@ -106,9 +106,14 @@ tmp LESeddyViscosity::epsilon() const IOobject::NO_READ, IOobject::NO_WRITE ), - Ce_*tk()*sqrt(tk())/this->delta() + Ce_*tk()*sqrt(tk())/this->delta(), + zeroGradientFvPatchScalarField::typeName ) ); + volScalarField& epsilon = tepsilon(); + epsilon.correctBoundaryConditions(); + + return tepsilon; } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C index a029db7ad3..59a8ca1af3 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -300,6 +300,11 @@ tmp SpalartAllmaras::DnuTildaEff() const template tmp SpalartAllmaras::k() const { + WarningInFunction + << "Turbulence kinetic energy not defined for " + << "Spalart-Allmaras model. Returning zero field" + << endl; + return tmp ( new volScalarField @@ -311,7 +316,8 @@ tmp SpalartAllmaras::k() const this->mesh_ ), this->mesh_, - dimensionedScalar("0", dimensionSet(0, 2, -2, 0, 0), 0) + dimensionedScalar("0", dimensionSet(0, 2, -2, 0, 0), 0), + zeroGradientFvPatchField::typeName ) ); } @@ -336,7 +342,8 @@ tmp SpalartAllmaras::epsilon() const this->mesh_ ), this->mesh_, - dimensionedScalar("0", dimensionSet(0, 2, -3, 0, 0), 0) + dimensionedScalar("0", dimensionSet(0, 2, -3, 0, 0), 0), + zeroGradientFvPatchField::typeName ) ); }