ENH: Updated particle surface thermo props

This commit is contained in:
andy
2011-01-10 15:49:33 +00:00
parent a843d76a59
commit 4ae925db45
5 changed files with 37 additions and 35 deletions

View File

@ -228,12 +228,12 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
// Calc surface values // Calc surface values
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
scalar Ts, rhos, mus, Pr, kappa; scalar Ts, rhos, mus, Prs, kappas;
ThermoParcel<ParcelType>:: ThermoParcel<ParcelType>::
calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Pr, kappa); calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Prs, kappas);
// Reynolds number // Reynolds number
scalar Re = this->Re(U0, d0, rhos, mus); scalar Res = this->Re(U0, d0, rhos, mus);
// Sources // Sources
@ -273,7 +273,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
Ts, Ts,
mus/rhos, mus/rhos,
d0, d0,
@ -316,7 +316,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
); );
// Correct surface values due to emitted species // Correct surface values due to emitted species
this->correctSurfaceValues(td, cellI, Ts, Cs, rhos, mus, Pr, kappa); this->correctSurfaceValues(td, cellI, Ts, Cs, rhos, mus, Prs, kappas);
Res = this->Re(U0, d0, rhos, mus);
// Surface reactions // Surface reactions
@ -374,9 +375,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
Pr, Prs,
kappa, kappas,
d0, d0,
rho0, rho0,
T0, T0,
@ -399,7 +400,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
mus, mus,
d0, d0,
U0, U0,

View File

@ -130,8 +130,8 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
const scalarField& Cs, const scalarField& Cs,
scalar& rhos, scalar& rhos,
scalar& mus, scalar& mus,
scalar& Pr, scalar& Prs,
scalar& kappa scalar& kappas
) )
{ {
// No correction if total concentration of emitted species is small // No correction if total concentration of emitted species is small
@ -177,7 +177,7 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
rhos = 0; rhos = 0;
mus = 0; mus = 0;
kappa = 0; kappas = 0;
scalar Cps = 0; scalar Cps = 0;
scalar sumYiSqrtW = 0; scalar sumYiSqrtW = 0;
scalar sumYiCbrtW = 0; scalar sumYiCbrtW = 0;
@ -190,7 +190,7 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
rhos += Xs[i]*W; rhos += Xs[i]*W;
mus += Ys[i]*sqrtW*thermo.carrier().mu(i, T); mus += Ys[i]*sqrtW*thermo.carrier().mu(i, T);
kappa += Ys[i]*cbrtW*thermo.carrier().kappa(i, T); kappas += Ys[i]*cbrtW*thermo.carrier().kappa(i, T);
Cps += Xs[i]*thermo.carrier().Cp(i, T); Cps += Xs[i]*thermo.carrier().Cp(i, T);
sumYiSqrtW += Ys[i]*sqrtW; sumYiSqrtW += Ys[i]*sqrtW;
@ -199,8 +199,8 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
rhos *= pc_/(specie::RR*T); rhos *= pc_/(specie::RR*T);
mus /= sumYiSqrtW; mus /= sumYiSqrtW;
kappa /= sumYiCbrtW; kappas /= sumYiCbrtW;
Pr = Cps*mus/kappa; Prs = Cps*mus/kappas;
} }
@ -252,11 +252,11 @@ void Foam::ReactingParcel<ParcelType>::calc
// Calc surface values // Calc surface values
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
scalar Ts, rhos, mus, Pr, kappa; scalar Ts, rhos, mus, Prs, kappas;
this->calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Pr, kappa); this->calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Prs, kappas);
// Reynolds number // Reynolds number
scalar Re = this->Re(U0, d0, rhos, mus); scalar Res = this->Re(U0, d0, rhos, mus);
// Sources // Sources
@ -296,7 +296,7 @@ void Foam::ReactingParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
Ts, Ts,
mus/rhos, mus/rhos,
d0, d0,
@ -313,7 +313,8 @@ void Foam::ReactingParcel<ParcelType>::calc
); );
// Correct surface values due to emitted species // Correct surface values due to emitted species
correctSurfaceValues(td, cellI, Ts, Cs, rhos, mus, Pr, kappa); correctSurfaceValues(td, cellI, Ts, Cs, rhos, mus, Prs, kappas);
Res = this->Re(U0, d0, rhos, mus);
// Update particle component mass and mass fractions // Update particle component mass and mass fractions
scalar mass1 = updateMassFraction(mass0, dMassPC, Y_); scalar mass1 = updateMassFraction(mass0, dMassPC, Y_);
@ -330,9 +331,9 @@ void Foam::ReactingParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
Pr, Prs,
kappa, kappas,
d0, d0,
rho0, rho0,
T0, T0,
@ -355,7 +356,7 @@ void Foam::ReactingParcel<ParcelType>::calc
td, td,
dt, dt,
cellI, cellI,
Re, Res,
mus, mus,
d0, d0,
U0, U0,

View File

@ -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) 1991-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -358,8 +358,8 @@ public:
const scalarField& Cs, const scalarField& Cs,
scalar& rhos, scalar& rhos,
scalar& mus, scalar& mus,
scalar& Pr, scalar& Prs,
scalar& kappa scalar& kappas
); );
//- Update parcel properties over the time interval //- Update parcel properties over the time interval

View File

@ -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) 1991-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -108,7 +108,7 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues
scalar& rhos, scalar& rhos,
scalar& mus, scalar& mus,
scalar& Pr, scalar& Pr,
scalar& kappa scalar& kappas
) const ) const
{ {
// Surface temperature using two thirds rule // Surface temperature using two thirds rule
@ -144,7 +144,7 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues
mus = td.muInterp().interpolate(this->position(), tetIs)/TRatio; mus = td.muInterp().interpolate(this->position(), tetIs)/TRatio;
Pr = td.cloud().constProps().Pr(); Pr = td.cloud().constProps().Pr();
kappa = Cpc_*mus/Pr; kappas = Cpc_*mus/Pr;
} }
@ -170,8 +170,8 @@ void Foam::ThermoParcel<ParcelType>::calc
// Calc surface values // Calc surface values
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
scalar Ts, rhos, mus, Pr, kappa; scalar Ts, rhos, mus, Pr, kappas;
calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Pr, kappa); calcSurfaceValues(td, cellI, T0, Ts, rhos, mus, Pr, kappas);
// Reynolds number // Reynolds number
scalar Re = this->Re(U0, d0, rhos, mus); scalar Re = this->Re(U0, d0, rhos, mus);
@ -209,7 +209,7 @@ void Foam::ThermoParcel<ParcelType>::calc
cellI, cellI,
Re, Re,
Pr, Pr,
kappa, kappas,
d0, d0,
rho0, rho0,
T0, T0,

View File

@ -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) 1991-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -381,7 +381,7 @@ public:
scalar& rhos, scalar& rhos,
scalar& mus, scalar& mus,
scalar& Pr, scalar& Pr,
scalar& kappa scalar& kappas
) const; ) const;
//- Update parcel properties over the time interval //- Update parcel properties over the time interval