From 16868a2b7b59e2eb902dafdec44109a05b688357 Mon Sep 17 00:00:00 2001 From: sergio Date: Mon, 11 Apr 2016 10:54:59 -0700 Subject: [PATCH 1/4] ENH: Provides support for laminar models for hoSimpleFoam --- .../solvers/compressible/rhoSimpleFoam/createFields.H | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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, From e0e7c58b492f3277b3051d20b20c046717d9dcca Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 12 Apr 2016 15:02:31 -0700 Subject: [PATCH 2/4] ENH: Adding zeroGradient BC's for k and epsilon in the DES/LES framework. --- .../applyBoundaryLayer/createFields.H | 18 ++++++++++++- .../SpalartAllmarasDES/SpalartAllmarasDES.C | 26 +++++++++++++++++-- .../LES/LESeddyViscosity/LESeddyViscosity.C | 11 +++++--- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 11 ++++++-- 4 files changed, 58 insertions(+), 8 deletions(-) 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/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 ) ); } From d5b9eeaad35456e051ecd745d1060185f8903fb4 Mon Sep 17 00:00:00 2001 From: sergio Date: Tue, 19 Apr 2016 09:53:56 -0700 Subject: [PATCH 3/4] ENH: Change header with correct information --- .../turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H index 18d1d4cb4a..6581f61f40 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H @@ -64,7 +64,7 @@ Description kappa lookup; 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 From 40e13d2a1a571a5950a0da521df0ac31443b34a2 Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 20 Apr 2016 11:08:17 -0700 Subject: [PATCH 4/4] ENH: Changing header information in turbulentTemperatureCoupledBaffleMixedFvPatchScalarField & turbulentTemperatureRadCoupledMixedFvPatchScalarField --- .../turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H | 2 +- .../turbulentTemperatureRadCoupledMixedFvPatchScalarField.H | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H index 6581f61f40..1b6668977c 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed/turbulentTemperatureCoupledBaffleMixedFvPatchScalarField.H @@ -62,7 +62,7 @@ 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); value uniform 300; 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);