Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
mattijs
2012-03-30 16:11:39 +01:00
5 changed files with 53 additions and 36 deletions

View File

@ -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();

View File

@ -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);
}

View File

@ -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

View File

@ -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_)
{}

View File

@ -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: