From ae9522f01751a307da78842b87b7bb59a28b195d Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Sun, 12 Feb 2017 17:19:27 +0000 Subject: [PATCH] functionObjects::scalarTransport: Added support for optional laminar and turbulent diffusion coefficients Description Evolves a passive scalar transport equation. - To specify the field name set the \c field entry - To employ the same numerical schemes as another field set the \c schemesField entry, - A constant diffusivity may be specified with the \c D entry, - Alternatively if a turbulence model is available a turbulent diffusivity may be constructed from the laminar and turbulent viscosities using the optional diffusivity coefficients \c alphaD and \c alphaDt (which default to 1): \verbatim D = alphaD*nu + alphaDt*nut \endverbatim Resolves feature request https://bugs.openfoam.org/view.php?id=2453 --- .../solvers/scalarTransport/scalarTransport.C | 12 ++++------ .../solvers/scalarTransport/scalarTransport.H | 23 +++++++++++++++---- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/functionObjects/solvers/scalarTransport/scalarTransport.C b/src/functionObjects/solvers/scalarTransport/scalarTransport.C index 954a5d6e4de..bcb02d7ec4b 100644 --- a/src/functionObjects/solvers/scalarTransport/scalarTransport.C +++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.C @@ -89,7 +89,7 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::scalarTransport::D turbulenceModel::propertiesName ); - return model.nuEff(); + return alphaD_*model.nu() + alphaDt_*model.nut(); } else if (mesh_.foundObject<cmpModel>(turbulenceModel::propertiesName)) { @@ -98,7 +98,7 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::scalarTransport::D turbulenceModel::propertiesName ); - return model.muEff(); + return alphaD_*model.mu() + alphaDt_*model.mut(); } else { @@ -169,11 +169,9 @@ bool Foam::functionObjects::scalarTransport::read(const dictionary& dict) rhoName_ = dict.lookupOrDefault<word>("rho", "rho"); schemesField_ = dict.lookupOrDefault<word>("schemesField", fieldName_); - constantD_ = false; - if (dict.readIfPresent("D", D_)) - { - constantD_ = true; - } + constantD_ = dict.readIfPresent("D", D_); + alphaD_ = dict.lookupOrDefault("alphat", 1.0); + alphaDt_ = dict.lookupOrDefault("alphaDt", 1.0); dict.readIfPresent("nCorr", nCorr_); diff --git a/src/functionObjects/solvers/scalarTransport/scalarTransport.H b/src/functionObjects/solvers/scalarTransport/scalarTransport.H index 86c92bdee77..8d056cbe3a9 100644 --- a/src/functionObjects/solvers/scalarTransport/scalarTransport.H +++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -30,11 +30,18 @@ Group Description Evolves a passive scalar transport equation. - - To specify the field name set the 'field' entry + - To specify the field name set the \c field entry - To employ the same numerical schemes as another field set - the 'schemesField' entry, - - The diffusivity can be set manually using the 'D' entry, or retrieved - from the turbulence model (if applicable). + the \c schemesField entry, + - A constant diffusivity may be specified with the \c D entry, + + - Alternatively if a turbulence model is available a turbulent diffusivity + may be constructed from the laminar and turbulent viscosities using the + optional diffusivity coefficients \c alphaD and \c alphaDt (which default + to 1): + \verbatim + D = alphaD*nu + alphaDt*nut + \endverbatim See also Foam::functionObjects::fvMeshFunctionObject @@ -83,6 +90,12 @@ class scalarTransport //- Flag to indicate whether a constant, uniform D_ is specified bool constantD_; + //- Laminar diffusion coefficient (optional) + scalar alphaD_; + + //- Turbulent diffusion coefficient (optional) + scalar alphaDt_; + //- Number of corrector iterations (optional) label nCorr_; -- GitLab