mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
drop thermalDissipation (effective, equilibrium or otherwise) from turbulenceModels
- keeps sources in sync for the 1.6 release and it'll get fiddled with for the 1.7 release anyhow
This commit is contained in:
@ -76,7 +76,6 @@ LESModel::LESModel
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
turbulence_(true), // TODO: turbulence_(lookup("turbulence")),
|
|
||||||
printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
|
printCoeffs_(lookupOrDefault<Switch>("printCoeffs", false)),
|
||||||
coeffDict_(subDictPtr(type + "Coeffs")),
|
coeffDict_(subDictPtr(type + "Coeffs")),
|
||||||
|
|
||||||
@ -181,56 +180,6 @@ autoPtr<LESModel> LESModel::New
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
tmp<volScalarField> LESModel::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
- this->rho() * this->epsilon()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> LESModel::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
this->muEff()*dev(twoSymm(tgradU()))
|
|
||||||
- ((2.0/3.0)*I) * this->rho() * this->k()
|
|
||||||
) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void LESModel::correct(const tmp<volTensorField>&)
|
void LESModel::correct(const tmp<volTensorField>&)
|
||||||
{
|
{
|
||||||
delta_().correct();
|
delta_().correct();
|
||||||
|
|||||||
@ -80,7 +80,6 @@ protected:
|
|||||||
|
|
||||||
// Protected data
|
// Protected data
|
||||||
|
|
||||||
Switch turbulence_;
|
|
||||||
Switch printCoeffs_;
|
Switch printCoeffs_;
|
||||||
dictionary coeffDict_;
|
dictionary coeffDict_;
|
||||||
|
|
||||||
@ -293,15 +292,6 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct Eddy-Viscosity and related properties.
|
//- Correct Eddy-Viscosity and related properties.
|
||||||
// This calls correct(const tmp<volTensorField>& gradU) by supplying
|
// This calls correct(const tmp<volTensorField>& gradU) by supplying
|
||||||
// gradU calculated locally.
|
// gradU calculated locally.
|
||||||
|
|||||||
@ -191,56 +191,6 @@ autoPtr<RASModel> RASModel::New
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
tmp<volScalarField> RASModel::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
- this->rho() * this->epsilon()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> RASModel::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
this->muEff()*dev(twoSymm(tgradU()))
|
|
||||||
- ((2.0/3.0)*I) * this->rho() * this->k()
|
|
||||||
) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
scalar RASModel::yPlusLam(const scalar kappa, const scalar E) const
|
scalar RASModel::yPlusLam(const scalar kappa, const scalar E) const
|
||||||
{
|
{
|
||||||
scalar ypl = 11.0;
|
scalar ypl = 11.0;
|
||||||
|
|||||||
@ -345,15 +345,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const = 0;
|
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const = 0;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Return yPlus for the given patch
|
//- Return yPlus for the given patch
|
||||||
virtual tmp<scalarField> yPlus(const label patchI) const;
|
virtual tmp<scalarField> yPlus(const label patchI) const;
|
||||||
|
|
||||||
|
|||||||
@ -177,50 +177,6 @@ tmp<fvVectorMatrix> laminar::divDevRhoReff(volVectorField& U) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool laminar::read()
|
bool laminar::read()
|
||||||
{
|
{
|
||||||
return RASModel::read();
|
return RASModel::read();
|
||||||
|
|||||||
@ -112,15 +112,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
|
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct the laminar viscosity
|
//- Correct the laminar viscosity
|
||||||
virtual void correct();
|
virtual void correct();
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
turbulenceModel.C
|
turbulenceModel.C
|
||||||
laminar/laminar.C
|
laminar/laminar.C
|
||||||
dissipationSelector/dissipationSelector.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libcompressibleTurbulenceModel
|
LIB = $(FOAM_LIBBIN)/libcompressibleTurbulenceModel
|
||||||
|
|||||||
@ -1,111 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "dissipationSelector.H"
|
|
||||||
#include "dictionary.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace compressible
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<>
|
|
||||||
const char* NamedEnum<dissipationSelector::treatment, 3>::names[] =
|
|
||||||
{
|
|
||||||
"none",
|
|
||||||
"cascade",
|
|
||||||
"equilibrium"
|
|
||||||
};
|
|
||||||
|
|
||||||
const NamedEnum<dissipationSelector::treatment, 3>
|
|
||||||
dissipationSelector::typeNames;
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
dissipationSelector::dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel& turbModel,
|
|
||||||
const treatment treatmentType
|
|
||||||
)
|
|
||||||
:
|
|
||||||
turbModel_(turbModel),
|
|
||||||
treatment_(treatmentType)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
dissipationSelector::dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel& turbModel,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
turbModel_(turbModel),
|
|
||||||
treatment_(none)
|
|
||||||
{
|
|
||||||
|
|
||||||
word modelType;
|
|
||||||
|
|
||||||
if (dict.readIfPresent<word>("dissipation", modelType))
|
|
||||||
{
|
|
||||||
treatment_ = typeNames[modelType];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField>
|
|
||||||
dissipationSelector::dissipation() const
|
|
||||||
{
|
|
||||||
if (treatment_ == cascade)
|
|
||||||
{
|
|
||||||
return turbModel_.thermalDissipation();
|
|
||||||
}
|
|
||||||
else if (treatment_ == equilibrium)
|
|
||||||
{
|
|
||||||
return turbModel_.thermalDissipationEquilibrium();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// a bit wasteful, but we'll avoid it with 'enabled' query anyhow
|
|
||||||
tmp<volScalarField> tField = turbModel_.thermalDissipation();
|
|
||||||
tField() = 0.0;
|
|
||||||
|
|
||||||
return tField;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace compressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,158 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::compressible::dissipationSelector
|
|
||||||
|
|
||||||
Description
|
|
||||||
Simplistic runtime selectable handling of thermal dissipation
|
|
||||||
|
|
||||||
Example use:
|
|
||||||
@code
|
|
||||||
dissipationSelector thermalDissipation(turbulence, dictionary);
|
|
||||||
|
|
||||||
fvScalarMatrix hEqn ( ... );
|
|
||||||
|
|
||||||
if (thermalDissipation.enabled())
|
|
||||||
{
|
|
||||||
hEqn += thermalDissipation.dissipation();
|
|
||||||
}
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
dissipationSelector.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef compressibledissipationSelector_H
|
|
||||||
#define compressibledissipationSelector_H
|
|
||||||
|
|
||||||
#include "NamedEnum.H"
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "compressible/turbulenceModel/turbulenceModel.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace compressible
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class dissipationSelector Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class dissipationSelector
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Type of treatment
|
|
||||||
enum treatment
|
|
||||||
{
|
|
||||||
none,
|
|
||||||
cascade,
|
|
||||||
equilibrium
|
|
||||||
};
|
|
||||||
|
|
||||||
static const NamedEnum<treatment, 3> typeNames;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const turbulenceModel& turbModel_;
|
|
||||||
|
|
||||||
//- Type of treatment
|
|
||||||
treatment treatment_;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// Declare name of the class and its debug switch
|
|
||||||
ClassName("dissipationSelector");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct given treatment type
|
|
||||||
dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel&,
|
|
||||||
const treatment = none
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct given treatment type
|
|
||||||
dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
//- Get the treatment type
|
|
||||||
treatment treatmentType() const
|
|
||||||
{
|
|
||||||
return treatment_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
treatment treatmentType(const treatment val)
|
|
||||||
{
|
|
||||||
treatment old = treatment_;
|
|
||||||
treatment_ = val;
|
|
||||||
return old;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
const char* name() const
|
|
||||||
{
|
|
||||||
return typeNames[treatment_];
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
bool enabled() const
|
|
||||||
{
|
|
||||||
return treatment_ != none;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmp<volScalarField> dissipation() const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace compressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -195,50 +195,6 @@ tmp<fvVectorMatrix> laminar::divDevRhoReff(volVectorField& U) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->mu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool laminar::read()
|
bool laminar::read()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -122,15 +122,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
|
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct the laminar viscosity
|
//- Correct the laminar viscosity
|
||||||
virtual void correct();
|
virtual void correct();
|
||||||
|
|
||||||
|
|||||||
@ -210,15 +210,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const = 0;
|
virtual tmp<fvVectorMatrix> divDevRhoReff(volVectorField& U) const = 0;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const = 0;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const = 0;
|
|
||||||
|
|
||||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||||
virtual void correct() = 0;
|
virtual void correct() = 0;
|
||||||
|
|
||||||
|
|||||||
@ -139,56 +139,6 @@ autoPtr<LESModel> LESModel::New
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
tmp<volScalarField> LESModel::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
- this->epsilon()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> LESModel::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
this->nuEff()*dev(twoSymm(tgradU()))
|
|
||||||
- ((2.0/3.0)*I) * this->k()
|
|
||||||
) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void LESModel::correct(const tmp<volTensorField>&)
|
void LESModel::correct(const tmp<volTensorField>&)
|
||||||
{
|
{
|
||||||
turbulenceModel::correct();
|
turbulenceModel::correct();
|
||||||
|
|||||||
@ -241,15 +241,6 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct Eddy-Viscosity and related properties.
|
//- Correct Eddy-Viscosity and related properties.
|
||||||
// This calls correct(const tmp<volTensorField>& gradU) by supplying
|
// This calls correct(const tmp<volTensorField>& gradU) by supplying
|
||||||
// gradU calculated locally.
|
// gradU calculated locally.
|
||||||
|
|||||||
@ -176,55 +176,6 @@ autoPtr<RASModel> RASModel::New
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
tmp<volScalarField> RASModel::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
- this->epsilon()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> RASModel::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- (
|
|
||||||
this->nuEff()*dev(twoSymm(tgradU()))
|
|
||||||
- ((2.0/3.0)*I) * this->k()
|
|
||||||
) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
scalar RASModel::yPlusLam(const scalar kappa, const scalar E) const
|
scalar RASModel::yPlusLam(const scalar kappa, const scalar E) const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -326,15 +326,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
|
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Return yPlus for the given patch
|
//- Return yPlus for the given patch
|
||||||
virtual tmp<scalarField> yPlus(const label patchI) const;
|
virtual tmp<scalarField> yPlus(const label patchI) const;
|
||||||
|
|
||||||
|
|||||||
@ -176,50 +176,6 @@ tmp<fvVectorMatrix> laminar::divDevReff(volVectorField& U) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool laminar::read()
|
bool laminar::read()
|
||||||
{
|
{
|
||||||
return RASModel::read();
|
return RASModel::read();
|
||||||
|
|||||||
@ -104,15 +104,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
|
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct the laminar viscosity
|
//- Correct the laminar viscosity
|
||||||
virtual void correct();
|
virtual void correct();
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
turbulenceModel.C
|
turbulenceModel.C
|
||||||
laminar/laminar.C
|
laminar/laminar.C
|
||||||
dissipationSelector/dissipationSelector.C
|
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModel
|
LIB = $(FOAM_LIBBIN)/libincompressibleTurbulenceModel
|
||||||
|
|||||||
@ -1,111 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "dissipationSelector.H"
|
|
||||||
#include "dictionary.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
template<>
|
|
||||||
const char* NamedEnum<dissipationSelector::treatment, 3>::names[] =
|
|
||||||
{
|
|
||||||
"none",
|
|
||||||
"cascade",
|
|
||||||
"equilibrium"
|
|
||||||
};
|
|
||||||
|
|
||||||
const NamedEnum<dissipationSelector::treatment, 3>
|
|
||||||
dissipationSelector::typeNames;
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
dissipationSelector::dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel& turbModel,
|
|
||||||
const treatment treatmentType
|
|
||||||
)
|
|
||||||
:
|
|
||||||
turbModel_(turbModel),
|
|
||||||
treatment_(treatmentType)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
dissipationSelector::dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel& turbModel,
|
|
||||||
const dictionary& dict
|
|
||||||
)
|
|
||||||
:
|
|
||||||
turbModel_(turbModel),
|
|
||||||
treatment_(none)
|
|
||||||
{
|
|
||||||
|
|
||||||
word modelType;
|
|
||||||
|
|
||||||
if (dict.readIfPresent<word>("dissipation", modelType))
|
|
||||||
{
|
|
||||||
treatment_ = typeNames[modelType];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField>
|
|
||||||
dissipationSelector::dissipation() const
|
|
||||||
{
|
|
||||||
if (treatment_ == cascade)
|
|
||||||
{
|
|
||||||
return turbModel_.thermalDissipation();
|
|
||||||
}
|
|
||||||
else if (treatment_ == equilibrium)
|
|
||||||
{
|
|
||||||
return turbModel_.thermalDissipationEquilibrium();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// a bit wasteful, but we'll avoid it with 'enabled' query anyhow
|
|
||||||
tmp<volScalarField> tField = turbModel_.thermalDissipation();
|
|
||||||
tField() = 0.0;
|
|
||||||
|
|
||||||
return tField;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -1,158 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2 of the License, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
|
|
||||||
Class
|
|
||||||
Foam::incompressible::dissipationSelector
|
|
||||||
|
|
||||||
Description
|
|
||||||
Simplistic runtime selectable handling of thermal dissipation
|
|
||||||
|
|
||||||
Example use:
|
|
||||||
@code
|
|
||||||
dissipationSelector thermalDissipation(turbulence, dictionary);
|
|
||||||
|
|
||||||
fvScalarMatrix hEqn ( ... );
|
|
||||||
|
|
||||||
if (thermalDissipation.enabled())
|
|
||||||
{
|
|
||||||
hEqn += thermalDissipation.dissipation();
|
|
||||||
}
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
SourceFiles
|
|
||||||
dissipationSelector.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef dissipationSelector_H
|
|
||||||
#define dissipationSelector_H
|
|
||||||
|
|
||||||
#include "NamedEnum.H"
|
|
||||||
#include "dictionary.H"
|
|
||||||
#include "incompressible/turbulenceModel/turbulenceModel.H"
|
|
||||||
#include "volFields.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
namespace Foam
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace incompressible
|
|
||||||
{
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
Class dissipationSelector Declaration
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
class dissipationSelector
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
//- Type of treatment
|
|
||||||
enum treatment
|
|
||||||
{
|
|
||||||
none,
|
|
||||||
cascade,
|
|
||||||
equilibrium
|
|
||||||
};
|
|
||||||
|
|
||||||
static const NamedEnum<treatment, 3> typeNames;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Protected data
|
|
||||||
|
|
||||||
const turbulenceModel& turbModel_;
|
|
||||||
|
|
||||||
//- Type of treatment
|
|
||||||
treatment treatment_;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
// Declare name of the class and its debug switch
|
|
||||||
ClassName("dissipationSelector");
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
|
||||||
|
|
||||||
//- Construct given treatment type
|
|
||||||
dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel&,
|
|
||||||
const treatment = none
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct given treatment type
|
|
||||||
dissipationSelector
|
|
||||||
(
|
|
||||||
const turbulenceModel&,
|
|
||||||
const dictionary&
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
|
||||||
|
|
||||||
//- Get the treatment type
|
|
||||||
treatment treatmentType() const
|
|
||||||
{
|
|
||||||
return treatment_;
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
treatment treatmentType(const treatment val)
|
|
||||||
{
|
|
||||||
treatment old = treatment_;
|
|
||||||
treatment_ = val;
|
|
||||||
return old;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
const char* name() const
|
|
||||||
{
|
|
||||||
return typeNames[treatment_];
|
|
||||||
}
|
|
||||||
|
|
||||||
//- Set the treatment type, return old value
|
|
||||||
bool enabled() const
|
|
||||||
{
|
|
||||||
return treatment_ != none;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmp<volScalarField> dissipation() const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
} // End namespace incompressible
|
|
||||||
} // End namespace Foam
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -199,50 +199,6 @@ tmp<fvVectorMatrix> laminar::divDevReff(volVectorField& U) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipation() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipation",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
tmp<volScalarField> laminar::thermalDissipationEquilibrium() const
|
|
||||||
{
|
|
||||||
tmp<volTensorField> tgradU = fvc::grad(this->U());
|
|
||||||
|
|
||||||
return tmp<volScalarField>
|
|
||||||
(
|
|
||||||
new volScalarField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"thermalDissipationEquilibrium",
|
|
||||||
runTime_.timeName(),
|
|
||||||
mesh_,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
- ( this->nu()*dev(twoSymm(tgradU())) ) && tgradU()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool laminar::read()
|
bool laminar::read()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -110,15 +110,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
|
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const;
|
|
||||||
|
|
||||||
//- Correct the laminar viscosity
|
//- Correct the laminar viscosity
|
||||||
virtual void correct();
|
virtual void correct();
|
||||||
|
|
||||||
|
|||||||
@ -190,15 +190,6 @@ public:
|
|||||||
//- Return the source term for the momentum equation
|
//- Return the source term for the momentum equation
|
||||||
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
|
virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const = 0;
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// viscous and turbulent dissipation
|
|
||||||
virtual tmp<volScalarField> thermalDissipation() const = 0;
|
|
||||||
|
|
||||||
//- The source for the enthalpy equation resulting from
|
|
||||||
// the effective viscous dissipation
|
|
||||||
// (ie, when turbulent production and dissipation are in equilibrium)
|
|
||||||
virtual tmp<volScalarField> thermalDissipationEquilibrium() const = 0;
|
|
||||||
|
|
||||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||||
virtual void correct() = 0;
|
virtual void correct() = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user