MomentumTransportModels: Added omega() function
Replaces the local definition of the omega function in functionObjects::turbulenceFields. Will also be used in interfacial transfers and coupling in multiphase turbulence modelling where different turbulence models are used in different phases.
This commit is contained in:
@ -279,6 +279,14 @@ Foam::RASModels::kineticTheoryModel::epsilon() const
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::RASModels::kineticTheoryModel::omega() const
|
||||
{
|
||||
NotImplemented;
|
||||
return nut_;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volSymmTensorField>
|
||||
Foam::RASModels::kineticTheoryModel::sigma() const
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -203,6 +203,9 @@ public:
|
||||
//- Return the turbulence kinetic energy dissipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
//- Return the stress tensor [m^2/s^2]
|
||||
virtual tmp<volSymmTensorField> sigma() const;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -114,6 +114,14 @@ Foam::RASModels::phasePressureModel::epsilon() const
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::RASModels::phasePressureModel::omega() const
|
||||
{
|
||||
NotImplemented;
|
||||
return nut_;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volSymmTensorField>
|
||||
Foam::RASModels::phasePressureModel::sigma() const
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -145,6 +145,9 @@ public:
|
||||
//- Return the turbulence kinetic energy dissipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
//- Return the stress tensor [m^2/s^2]
|
||||
virtual tmp<volSymmTensorField> sigma() const;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -161,6 +161,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -187,6 +187,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
};
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -175,6 +175,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
};
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -162,6 +162,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(0.09*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
};
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -193,6 +193,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
virtual const volScalarField& q() const
|
||||
{
|
||||
return q_;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -140,7 +140,7 @@ template<class BasicMomentumTransportModel>
|
||||
tmp<volScalarField>
|
||||
DeardorffDiffStress<BasicMomentumTransportModel>::epsilon() const
|
||||
{
|
||||
volScalarField k(this->k());
|
||||
const volScalarField k(this->k());
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
@ -150,6 +150,20 @@ DeardorffDiffStress<BasicMomentumTransportModel>::epsilon() const
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
tmp<volScalarField>
|
||||
DeardorffDiffStress<BasicMomentumTransportModel>::omega() const
|
||||
{
|
||||
const volScalarField k(this->k());
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
IOobject::groupName("omega", this->alphaRhoPhi_.group()),
|
||||
(this->Ce_/this->Ck_)*sqrt(k)/this->delta()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
void DeardorffDiffStress<BasicMomentumTransportModel>::correct()
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -140,6 +140,9 @@ public:
|
||||
//- Return the turbulence kinetic energy dissipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
//- Correct sub-grid stress, eddy-Viscosity and related properties
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -57,6 +57,16 @@ LESeddyViscosity<BasicMomentumTransportModel>::LESeddyViscosity
|
||||
viscosity
|
||||
),
|
||||
|
||||
Ck_
|
||||
(
|
||||
dimensioned<scalar>::lookupOrAddToDict
|
||||
(
|
||||
"Ck",
|
||||
this->coeffDict_,
|
||||
0.094
|
||||
)
|
||||
),
|
||||
|
||||
Ce_
|
||||
(
|
||||
dimensioned<scalar>::lookupOrAddToDict
|
||||
@ -76,6 +86,7 @@ bool LESeddyViscosity<BasicMomentumTransportModel>::read()
|
||||
{
|
||||
if (eddyViscosity<LESModel<BasicMomentumTransportModel>>::read())
|
||||
{
|
||||
Ck_.readIfPresent(this->coeffDict());
|
||||
Ce_.readIfPresent(this->coeffDict());
|
||||
|
||||
return true;
|
||||
@ -101,6 +112,20 @@ LESeddyViscosity<BasicMomentumTransportModel>::epsilon() const
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
tmp<volScalarField>
|
||||
LESeddyViscosity<BasicMomentumTransportModel>::omega() const
|
||||
{
|
||||
tmp<volScalarField> tk(this->k());
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
IOobject::groupName("omega", this->alphaRhoPhi_.group()),
|
||||
(Ce_/Ck_)*sqrt(tk())/this->delta()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace LESModels
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -58,6 +58,7 @@ protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
dimensionedScalar Ck_;
|
||||
dimensionedScalar Ce_;
|
||||
|
||||
|
||||
@ -98,6 +99,9 @@ public:
|
||||
//- Return sub-grid disipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -46,7 +46,7 @@ tmp<volScalarField> Smagorinsky<BasicMomentumTransportModel>::k
|
||||
|
||||
volScalarField a(this->Ce_/this->delta());
|
||||
volScalarField b((2.0/3.0)*tr(D));
|
||||
volScalarField c(2*Ck_*this->delta()*(dev(D) && D));
|
||||
volScalarField c(2*this->Ck_*this->delta()*(dev(D) && D));
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
@ -61,7 +61,7 @@ void Smagorinsky<BasicMomentumTransportModel>::correctNut()
|
||||
{
|
||||
volScalarField k(this->k(fvc::grad(this->U_)));
|
||||
|
||||
this->nut_ = Ck_*this->delta()*sqrt(k);
|
||||
this->nut_ = this->Ck_*this->delta()*sqrt(k);
|
||||
this->nut_.correctBoundaryConditions();
|
||||
fvConstraints::New(this->mesh_).constrain(this->nut_);
|
||||
}
|
||||
@ -90,16 +90,6 @@ Smagorinsky<BasicMomentumTransportModel>::Smagorinsky
|
||||
alphaRhoPhi,
|
||||
phi,
|
||||
viscosity
|
||||
),
|
||||
|
||||
Ck_
|
||||
(
|
||||
dimensioned<scalar>::lookupOrAddToDict
|
||||
(
|
||||
"Ck",
|
||||
this->coeffDict_,
|
||||
0.094
|
||||
)
|
||||
)
|
||||
{
|
||||
if (type == typeName)
|
||||
@ -114,29 +104,7 @@ Smagorinsky<BasicMomentumTransportModel>::Smagorinsky
|
||||
template<class BasicMomentumTransportModel>
|
||||
bool Smagorinsky<BasicMomentumTransportModel>::read()
|
||||
{
|
||||
if (LESeddyViscosity<BasicMomentumTransportModel>::read())
|
||||
{
|
||||
Ck_.readIfPresent(this->coeffDict());
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
tmp<volScalarField> Smagorinsky<BasicMomentumTransportModel>::epsilon() const
|
||||
{
|
||||
volScalarField k(this->k(fvc::grad(this->U_)));
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
IOobject::groupName("epsilon", this->alphaRhoPhi_.group()),
|
||||
this->Ce_*k*sqrt(k)/this->delta()
|
||||
);
|
||||
return LESeddyViscosity<BasicMomentumTransportModel>::read();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -90,11 +90,6 @@ class Smagorinsky
|
||||
{
|
||||
protected:
|
||||
|
||||
// Protected data
|
||||
|
||||
dimensionedScalar Ck_;
|
||||
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Return SGS kinetic energy
|
||||
@ -149,9 +144,6 @@ public:
|
||||
return k(fvc::grad(this->U_));
|
||||
}
|
||||
|
||||
//- Return sub-grid disipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Correct Eddy-Viscosity and related properties
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -189,6 +189,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Return the effective diffusivity for R
|
||||
tmp<volSymmTensorField> DREff() const;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -183,6 +183,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -188,6 +188,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -180,6 +180,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Return the effective diffusivity for R
|
||||
tmp<volSymmTensorField> DREff() const;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -344,6 +344,24 @@ SpalartAllmaras<BasicMomentumTransportModel>::epsilon() const
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
tmp<volScalarField>
|
||||
SpalartAllmaras<BasicMomentumTransportModel>::omega() const
|
||||
{
|
||||
WarningInFunction
|
||||
<< "Turbulence specific dissipation rate not defined for "
|
||||
<< "Spalart-Allmaras model. Returning zero field"
|
||||
<< endl;
|
||||
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
this->mesh_,
|
||||
dimensionedScalar(dimless/dimTime, 0)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
void SpalartAllmaras<BasicMomentumTransportModel>::correct()
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -194,6 +194,9 @@ public:
|
||||
//- Return the turbulence kinetic energy dissipation rate
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -181,6 +181,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -189,6 +189,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(0.09*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
};
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -238,6 +238,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Return turbulence stress normal to streamlines
|
||||
virtual tmp<volScalarField> v2() const
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -212,7 +212,7 @@ Foam::laminarModel<BasicMomentumTransportModel>::k() const
|
||||
(
|
||||
IOobject::groupName("k", this->alphaRhoPhi_.group()),
|
||||
this->mesh_,
|
||||
dimensionedScalar(sqr(this->U_.dimensions()), 0)
|
||||
dimensionedScalar(sqr(dimVelocity), 0)
|
||||
);
|
||||
}
|
||||
|
||||
@ -225,7 +225,20 @@ Foam::laminarModel<BasicMomentumTransportModel>::epsilon() const
|
||||
(
|
||||
IOobject::groupName("epsilon", this->alphaRhoPhi_.group()),
|
||||
this->mesh_,
|
||||
dimensionedScalar(sqr(this->U_.dimensions())/dimTime, 0)
|
||||
dimensionedScalar(sqr(dimVelocity)/dimTime, 0)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class BasicMomentumTransportModel>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::laminarModel<BasicMomentumTransportModel>::omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
IOobject::groupName("omega", this->alphaRhoPhi_.group()),
|
||||
this->mesh_,
|
||||
dimensionedScalar(dimless/dimTime, 0)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -168,6 +168,10 @@ public:
|
||||
// i.e. 0 for laminar flow
|
||||
virtual tmp<volScalarField> epsilon() const;
|
||||
|
||||
//- Return the turbulence specific dissipation rate,
|
||||
// i.e. 0 for laminar flow
|
||||
virtual tmp<volScalarField> omega() const;
|
||||
|
||||
//- Return the stress tensor [m^2/s^2], i.e. 0 for laminar flow
|
||||
virtual tmp<volSymmTensorField> sigma() const;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -206,6 +206,9 @@ public:
|
||||
//- Return the turbulence kinetic energy dissipation rate
|
||||
virtual tmp<volScalarField> epsilon() const = 0;
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const = 0;
|
||||
|
||||
//- Return the stress tensor [m^2/s^2]
|
||||
virtual tmp<volSymmTensorField> sigma() const = 0;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -237,6 +237,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2018-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -207,6 +207,17 @@ public:
|
||||
return epsilon_;
|
||||
}
|
||||
|
||||
//- Return the turbulence specific dissipation rate
|
||||
virtual tmp<volScalarField> omega() const
|
||||
{
|
||||
return volScalarField::New
|
||||
(
|
||||
"omega",
|
||||
epsilon_/(Cmu_*k_),
|
||||
epsilon_.boundaryField().types()
|
||||
);
|
||||
}
|
||||
|
||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||
virtual void correct();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -191,7 +191,7 @@ bool Foam::functionObjects::turbulenceFields::execute()
|
||||
}
|
||||
case compressibleField::omega:
|
||||
{
|
||||
processField<scalar>(f, omega(model));
|
||||
processField<scalar>(f, model.omega());
|
||||
break;
|
||||
}
|
||||
case compressibleField::nut:
|
||||
@ -249,7 +249,7 @@ bool Foam::functionObjects::turbulenceFields::execute()
|
||||
}
|
||||
case compressibleField::omega:
|
||||
{
|
||||
processField<scalar>(f, omega(model));
|
||||
processField<scalar>(f, model.omega());
|
||||
break;
|
||||
}
|
||||
case compressibleField::nut:
|
||||
@ -308,7 +308,7 @@ bool Foam::functionObjects::turbulenceFields::execute()
|
||||
}
|
||||
case incompressibleField::omega:
|
||||
{
|
||||
processField<scalar>(f, omega(model));
|
||||
processField<scalar>(f, model.omega());
|
||||
break;
|
||||
}
|
||||
case incompressibleField::nut:
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -161,10 +161,6 @@ protected:
|
||||
const tmp<GeometricField<Type, fvPatchField, volMesh>>& tvalue
|
||||
);
|
||||
|
||||
//- Return omega calculated from k and epsilon
|
||||
template<class Model>
|
||||
tmp<volScalarField> omega(const Model& model) const;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2012-2022 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -73,37 +73,4 @@ void Foam::functionObjects::turbulenceFields::processField
|
||||
}
|
||||
|
||||
|
||||
template<class Model>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::functionObjects::turbulenceFields::omega
|
||||
(
|
||||
const Model& model
|
||||
) const
|
||||
{
|
||||
const scalar Cmu = 0.09;
|
||||
|
||||
// Assume k and epsilon are available
|
||||
const volScalarField k(model.k());
|
||||
const volScalarField epsilon(model.epsilon());
|
||||
|
||||
return tmp<volScalarField>
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("omega", phaseName_),
|
||||
k.mesh().time().timeName(),
|
||||
k.mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE,
|
||||
false
|
||||
),
|
||||
epsilon/(Cmu*k),
|
||||
epsilon.boundaryField().types()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
Reference in New Issue
Block a user