mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
turbulenceModels: minor function reorganization
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -32,6 +32,46 @@ namespace Foam
|
|||||||
namespace LESModels
|
namespace LESModels
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
tmp<volScalarField> Smagorinsky<BasicTurbulenceModel>::k
|
||||||
|
(
|
||||||
|
const tmp<volTensorField>& gradU
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
volSymmTensorField D(symm(gradU));
|
||||||
|
|
||||||
|
volScalarField a(this->Ce_/this->delta());
|
||||||
|
volScalarField b((2.0/3.0)*tr(D));
|
||||||
|
volScalarField c(2*Ck_*this->delta()*(dev(D) && D));
|
||||||
|
|
||||||
|
return tmp<volScalarField>
|
||||||
|
(
|
||||||
|
new volScalarField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
IOobject::groupName("k", this->U_.group()),
|
||||||
|
this->runTime_.timeName(),
|
||||||
|
this->mesh_
|
||||||
|
),
|
||||||
|
sqr((-b + sqrt(sqr(b) + 4*a*c))/(2*a))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
void Smagorinsky<BasicTurbulenceModel>::correctNut()
|
||||||
|
{
|
||||||
|
volScalarField k(this->k(fvc::grad(this->U_)));
|
||||||
|
|
||||||
|
this->nut_ = Ck_*this->delta()*sqrt(k);
|
||||||
|
this->nut_.correctBoundaryConditions();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
@ -95,25 +135,11 @@ bool Smagorinsky<BasicTurbulenceModel>::read()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
|
||||||
tmp<volScalarField> Smagorinsky<BasicTurbulenceModel>::k
|
|
||||||
(
|
|
||||||
const tmp<volTensorField>& gradU
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
volSymmTensorField D(symm(gradU));
|
|
||||||
|
|
||||||
volScalarField a(this->Ce_/this->delta());
|
|
||||||
volScalarField b((2.0/3.0)*tr(D));
|
|
||||||
volScalarField c(2*Ck_*this->delta()*(dev(D) && D));
|
|
||||||
|
|
||||||
return sqr((-b + sqrt(sqr(b) + 4*a*c))/(2*a));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
tmp<volScalarField> Smagorinsky<BasicTurbulenceModel>::epsilon() const
|
tmp<volScalarField> Smagorinsky<BasicTurbulenceModel>::epsilon() const
|
||||||
{
|
{
|
||||||
|
volScalarField k(this->k(fvc::grad(this->U_)));
|
||||||
|
|
||||||
return tmp<volScalarField>
|
return tmp<volScalarField>
|
||||||
(
|
(
|
||||||
new volScalarField
|
new volScalarField
|
||||||
@ -122,26 +148,14 @@ tmp<volScalarField> Smagorinsky<BasicTurbulenceModel>::epsilon() const
|
|||||||
(
|
(
|
||||||
IOobject::groupName("epsilon", this->U_.group()),
|
IOobject::groupName("epsilon", this->U_.group()),
|
||||||
this->runTime_.timeName(),
|
this->runTime_.timeName(),
|
||||||
this->mesh_,
|
this->mesh_
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
),
|
||||||
this->Ce_*k()*sqrt(k())/this->delta()
|
this->Ce_*k*sqrt(k)/this->delta()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
|
||||||
void Smagorinsky<BasicTurbulenceModel>::correctNut()
|
|
||||||
{
|
|
||||||
volScalarField k(this->k(fvc::grad(this->U_)));
|
|
||||||
|
|
||||||
this->nut_ = Ck_*this->delta()*sqrt(k);
|
|
||||||
this->nut_.correctBoundaryConditions();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
void Smagorinsky<BasicTurbulenceModel>::correct()
|
void Smagorinsky<BasicTurbulenceModel>::correct()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -100,6 +100,7 @@ protected:
|
|||||||
// calculated from the given velocity gradient
|
// calculated from the given velocity gradient
|
||||||
tmp<volScalarField> k(const tmp<volTensorField>& gradU) const;
|
tmp<volScalarField> k(const tmp<volTensorField>& gradU) const;
|
||||||
|
|
||||||
|
//- Update the SGS eddy viscosity
|
||||||
virtual void correctNut();
|
virtual void correctNut();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -174,13 +174,6 @@ Foam::RASModel<BasicTurbulenceModel>::New
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
|
||||||
void Foam::RASModel<BasicTurbulenceModel>::correct()
|
|
||||||
{
|
|
||||||
BasicTurbulenceModel::correct();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
template<class BasicTurbulenceModel>
|
template<class BasicTurbulenceModel>
|
||||||
bool Foam::RASModel<BasicTurbulenceModel>::read()
|
bool Foam::RASModel<BasicTurbulenceModel>::read()
|
||||||
{
|
{
|
||||||
@ -207,4 +200,11 @@ bool Foam::RASModel<BasicTurbulenceModel>::read()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasicTurbulenceModel>
|
||||||
|
void Foam::RASModel<BasicTurbulenceModel>::correct()
|
||||||
|
{
|
||||||
|
BasicTurbulenceModel::correct();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
Reference in New Issue
Block a user