mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -53,10 +53,15 @@ Foam::combustionModels::PaSR<CombThermoType>::PaSR
|
||||
dimensionedScalar("kappa", dimless, 0.0)
|
||||
),
|
||||
useReactionRate_(this->coeffs().lookupOrDefault("useReactionRate", false))
|
||||
{}
|
||||
{
|
||||
if (useReactionRate_)
|
||||
{
|
||||
Info<< " using reaction rate" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * * //
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CombThermoType>
|
||||
Foam::combustionModels::PaSR<CombThermoType>::~PaSR()
|
||||
@ -79,13 +84,12 @@ void Foam::combustionModels::PaSR<CombThermoType>::correct()
|
||||
{
|
||||
if (this->active())
|
||||
{
|
||||
const scalar t = this->mesh().time().value();
|
||||
const scalar dt = this->mesh().time().deltaTValue();
|
||||
|
||||
if (!useReactionRate_)
|
||||
{
|
||||
this->pChemistry_->solve
|
||||
(
|
||||
this->mesh().time().value()-this->mesh().time().deltaTValue(),
|
||||
this->mesh().time().deltaTValue()
|
||||
);
|
||||
this->pChemistry_->solve(t - dt, dt);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -94,35 +98,35 @@ void Foam::combustionModels::PaSR<CombThermoType>::correct()
|
||||
|
||||
if (turbulentReaction_)
|
||||
{
|
||||
tmp<volScalarField> trho(this->rho());
|
||||
const volScalarField& rho = trho();
|
||||
tmp<volScalarField> tepsilon(this->turbulence().epsilon());
|
||||
const volScalarField& epsilon = tepsilon();
|
||||
tmp<volScalarField> tmuEff(this->turbulence().muEff());
|
||||
const volScalarField& muEff = tmuEff();
|
||||
|
||||
tmp<volScalarField> ttc(tc());
|
||||
const volScalarField& tc = ttc();
|
||||
|
||||
const dimensionedScalar e0
|
||||
(
|
||||
"e0",
|
||||
sqr(dimLength)/pow3(dimTime),
|
||||
SMALL
|
||||
);
|
||||
|
||||
forAll(epsilon, i)
|
||||
{
|
||||
if (epsilon[i] > 0)
|
||||
{
|
||||
const dimensionedScalar e0
|
||||
(
|
||||
"e0",
|
||||
sqr(dimLength)/pow3(dimTime), SMALL
|
||||
);
|
||||
|
||||
scalar tk =
|
||||
Cmix_.value()
|
||||
*Foam::sqrt
|
||||
(
|
||||
muEff[i]/this->rho()()[i]/(epsilon[i] + e0.value())
|
||||
);
|
||||
*Foam::sqrt(muEff[i]/rho[i]/(epsilon[i] + e0.value()));
|
||||
|
||||
// Chalmers PaSR model
|
||||
if (!useReactionRate_)
|
||||
{
|
||||
kappa_[i] =
|
||||
( this->mesh().time().deltaTValue() + tc[i])
|
||||
/( this->mesh().time().deltaTValue() + tc[i] + tk);
|
||||
kappa_[i] = (dt + tc[i])/(dt + tc[i] + tk);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -148,11 +152,7 @@ template<class CombThermoType>
|
||||
Foam::tmp<Foam::fvScalarMatrix>
|
||||
Foam::combustionModels::PaSR<CombThermoType>::R(const volScalarField& Y) const
|
||||
{
|
||||
|
||||
tmp<fvScalarMatrix> tSu
|
||||
(
|
||||
new fvScalarMatrix(Y, dimMass/dimTime)
|
||||
);
|
||||
tmp<fvScalarMatrix> tSu(new fvScalarMatrix(Y, dimMass/dimTime));
|
||||
|
||||
fvScalarMatrix& Su = tSu();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -398,7 +398,7 @@ const surfaceScalarField& fvMesh::phi() const
|
||||
if (!phiPtr_)
|
||||
{
|
||||
FatalErrorIn("fvMesh::phi()")
|
||||
<< "mesh flux field does not exists, is the mesh actually moving?"
|
||||
<< "mesh flux field does not exist, is the mesh actually moving?"
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -418,7 +418,7 @@ surfaceScalarField& fvMesh::setPhi()
|
||||
if (!phiPtr_)
|
||||
{
|
||||
FatalErrorIn("fvMesh::setPhi()")
|
||||
<< "mesh flux field does not exists, is the mesh actually moving?"
|
||||
<< "mesh flux field does not exist, is the mesh actually moving?"
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -743,6 +743,8 @@ Foam::scalar Foam::ODEChemistryModel<CompType, ThermoType>::solve
|
||||
const scalar deltaT
|
||||
)
|
||||
{
|
||||
CompType::correct();
|
||||
|
||||
scalar deltaTMin = GREAT;
|
||||
|
||||
const volScalarField rho
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -34,6 +34,18 @@ namespace Foam
|
||||
defineTypeNameAndDebug(basicChemistryModel, 0);
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
|
||||
|
||||
void Foam::basicChemistryModel::correct()
|
||||
{
|
||||
if (mesh_.changing())
|
||||
{
|
||||
deltaTChem_.setSize(mesh_.nCells());
|
||||
deltaTChem_ = deltaTChemIni_;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh)
|
||||
@ -51,11 +63,8 @@ Foam::basicChemistryModel::basicChemistryModel(const fvMesh& mesh)
|
||||
),
|
||||
mesh_(mesh),
|
||||
chemistry_(lookup("chemistry")),
|
||||
deltaTChem_
|
||||
(
|
||||
mesh.nCells(),
|
||||
readScalar(lookup("initialChemicalTimeStep"))
|
||||
)
|
||||
deltaTChemIni_(readScalar(lookup("initialChemicalTimeStep"))),
|
||||
deltaTChem_(mesh.nCells(), deltaTChemIni_)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -76,6 +76,9 @@ protected:
|
||||
//- Chemistry activation switch
|
||||
Switch chemistry_;
|
||||
|
||||
//- Initial chemical time step
|
||||
const scalar deltaTChemIni_;
|
||||
|
||||
//- Latest estimation of integration step
|
||||
scalarField deltaTChem_;
|
||||
|
||||
@ -86,6 +89,9 @@ protected:
|
||||
// step, e.g. for multi-chemistry model
|
||||
scalarField& deltaTChem();
|
||||
|
||||
//- Correct function - updates due to mesh changes
|
||||
void correct();
|
||||
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user