From fda01c740bac639aa75446d60c9e1f1be52248b8 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Wed, 20 Oct 2010 17:31:33 +0100 Subject: [PATCH] ENH: Remove duplicate constProps() from parcel trackData --- .../KinematicParcel/KinematicParcel.C | 6 +++--- .../KinematicParcel/KinematicParcel.H | 6 ------ .../KinematicParcel/KinematicParcelI.H | 9 --------- .../ReactingMultiphaseParcel.C | 16 ++++++++-------- .../ReactingMultiphaseParcel.H | 6 ------ .../ReactingMultiphaseParcelI.H | 12 +----------- .../Templates/ReactingParcel/ReactingParcel.C | 12 ++++++------ .../Templates/ReactingParcel/ReactingParcel.H | 6 ------ .../ReactingParcel/ReactingParcelI.H | 9 --------- .../Templates/ThermoParcel/ThermoParcel.C | 19 ++++++++++++------- .../Templates/ThermoParcel/ThermoParcel.H | 6 ------ .../Templates/ThermoParcel/ThermoParcelI.H | 9 --------- 12 files changed, 30 insertions(+), 86 deletions(-) diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C index 4cd8e6df9bf..c35b17a7ea5 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C @@ -40,7 +40,7 @@ void Foam::KinematicParcel<ParcelType>::setCellValues rhoc_ = td.rhoInterp().interpolate(this->position(), tetIs); - if (rhoc_ < td.constProps().rhoMin()) + if (rhoc_ < td.cloud().constProps().rhoMin()) { WarningIn ( @@ -51,9 +51,9 @@ void Foam::KinematicParcel<ParcelType>::setCellValues "const label" ")" ) << "Limiting observed density in cell " << cellI << " to " - << td.constProps().rhoMin() << nl << endl; + << td.cloud().constProps().rhoMin() << nl << endl; - rhoc_ = td.constProps().rhoMin(); + rhoc_ = td.cloud().constProps().rhoMin(); } Uc_ = td.UInterp().interpolate(this->position(), tetIs); diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index 70724cc8169..b1e2b45f2f6 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -168,9 +168,6 @@ public: //- Reference to the cloud containing this particle KinematicCloud<ParcelType>& cloud_; - //- Particle constant properties - const constantProperties& constProps_; - // Interpolators for continuous phase fields @@ -209,9 +206,6 @@ public: //- Return access to the owner cloud inline KinematicCloud<ParcelType>& cloud(); - //- Return const access to the constant properties - inline const constantProperties& constProps() const; - //- Return conat access to the interpolator for continuous // phase density field inline const interpolation<scalar>& rhoInterp() const; diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H index 8d7a9f0236a..3a9fc043737 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H @@ -54,7 +54,6 @@ inline Foam::KinematicParcel<ParcelType>::trackData::trackData : Particle<ParcelType>::trackData(cloud), cloud_(cloud), - constProps_(cloud.constProps()), rhoInterp_ ( interpolation<scalar>::New @@ -223,14 +222,6 @@ Foam::KinematicParcel<ParcelType>::trackData::cloud() } -template <class ParcelType> -inline const typename Foam::KinematicParcel<ParcelType>::constantProperties& -Foam::KinematicParcel<ParcelType>::trackData::constProps() const -{ - return constProps_; -} - - template<class ParcelType> inline const Foam::interpolation<Foam::scalar>& Foam::KinematicParcel<ParcelType>::trackData::rhoInterp() const diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C index 1402304f133..ecb353e0888 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C @@ -422,7 +422,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc // Remove the particle when mass falls below minimum threshold // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (mass1 < td.constProps().minParticleMass()) + if (mass1 < td.cloud().constProps().minParticleMass()) { td.keepParticle = false; @@ -469,7 +469,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc this->U_ = U1; // Update particle density or diameter - if (td.constProps().constantVolume()) + if (td.cloud().constProps().constantVolume()) { this->rho_ = mass1/this->volume(); } @@ -541,8 +541,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation const scalar beta = sqr(cbrt(15.0) + cbrt(15.0)); const label id = td.cloud().composition().localToGlobalCarrierId(GAS, i); - const scalar Cp = td.cloud().mcCarrierThermo().speciesData()[id].Cp(Ts); - const scalar W = td.cloud().mcCarrierThermo().speciesData()[id].W(); + const scalar Cp = td.cloud().thermo().carrier().Cp(id, Ts); + const scalar W = td.cloud().thermo().carrier().W(id); const scalar Ni = dMassDV[i]/(this->areaS(d)*dt*W); // Dab calc'd using API vapour mass diffusivity function @@ -615,12 +615,12 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcSurfaceReactions ); const scalar xsi = min(T/5000.0, 1.0); - const scalar hRetentionCoeffMod = - (1.0 - xsi*xsi)*td.constProps().hRetentionCoeff(); + const scalar coeff = + (1.0 - xsi*xsi)*td.cloud().constProps().hRetentionCoeff(); - Sh += hRetentionCoeffMod*hReaction/dt; + Sh += coeff*hReaction/dt; - dhsTrans += (1.0 - hRetentionCoeffMod)*hReaction; + dhsTrans += (1.0 - coeff)*hReaction; } diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H index 67041d5eb1a..36d95cc4aa5 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H @@ -115,9 +115,6 @@ public: //- Reference to the cloud containing this particle ReactingMultiphaseCloud<ParcelType>& cloud_; - //- Particle constant properties - const constantProperties& constProps_; - public: @@ -136,9 +133,6 @@ public: //- Return access to the owner cloud inline ReactingMultiphaseCloud<ParcelType>& cloud(); - - //- Return const access to the constant properties - inline const constantProperties& constProps() const; }; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H index 4d67ca43d46..9abaae0e2b5 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H @@ -58,8 +58,7 @@ inline Foam::ReactingMultiphaseParcel<ParcelType>::trackData::trackData ) : ReactingParcel<ParcelType>::trackData(cloud, part), - cloud_(cloud), - constProps_(cloud.constProps()) + cloud_(cloud) {} @@ -158,15 +157,6 @@ Foam::ReactingMultiphaseParcel<ParcelType>::trackData::cloud() } -template<class ParcelType> -inline const typename Foam::ReactingMultiphaseParcel<ParcelType>:: -constantProperties& -Foam::ReactingMultiphaseParcel<ParcelType>::trackData::constProps() const -{ - return constProps_; -} - - // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * // template<class ParcelType> diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C index 1c0539eda64..1ae4e01348d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C @@ -48,7 +48,7 @@ void Foam::ReactingParcel<ParcelType>::setCellValues this->currentTetIndices() ); - if (pc_ < td.constProps().pMin()) + if (pc_ < td.cloud().constProps().pMin()) { WarningIn ( @@ -59,9 +59,9 @@ void Foam::ReactingParcel<ParcelType>::setCellValues "const label" ")" ) << "Limiting observed pressure in cell " << cellI << " to " - << td.constProps().pMin() << nl << endl; + << td.cloud().constProps().pMin() << nl << endl; - pc_ = td.constProps().pMin(); + pc_ = td.cloud().constProps().pMin(); } } @@ -352,7 +352,7 @@ void Foam::ReactingParcel<ParcelType>::calc // Remove the particle when mass falls below minimum threshold // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (mass1 < td.constProps().minParticleMass()) + if (mass1 < td.cloud().constProps().minParticleMass()) { td.keepParticle = false; @@ -382,7 +382,7 @@ void Foam::ReactingParcel<ParcelType>::calc this->U_ = U1; // Update particle density or diameter - if (td.constProps().constantVolume()) + if (td.cloud().constProps().constantVolume()) { this->rho_ = mass1/this->volume(); } @@ -425,7 +425,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange if ( !td.cloud().phaseChange().active() - || T < td.constProps().Tvap() + || T < td.cloud().constProps().Tvap() || YPhase < SMALL ) { diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H index d4423bc8c14..901eb0396c5 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H @@ -121,9 +121,6 @@ public: //- Reference to the cloud containing this particle ReactingCloud<ParcelType>& cloud_; - //- Particle constant properties - const constantProperties& constProps_; - //- Interpolator for continuous phase pressure field const interpolation<scalar>& pInterp_; @@ -149,9 +146,6 @@ public: //- Return access to the owner cloud inline ReactingCloud<ParcelType>& cloud(); - //- Return const access to the constant properties - inline const constantProperties& constProps() const; - //- Return const access to the interpolator for continuous // phase pressure field inline const interpolation<scalar>& pInterp() const; diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H index 4206975a70c..8878dd29ed8 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H @@ -48,7 +48,6 @@ inline Foam::ReactingParcel<ParcelType>::trackData::trackData : ThermoParcel<ParcelType>::trackData(cloud, part), cloud_(cloud), - constProps_(cloud.constProps()), pInterp_ ( interpolation<scalar>::New @@ -167,14 +166,6 @@ Foam::ReactingParcel<ParcelType>::trackData::cloud() } -template<class ParcelType> -inline const typename Foam::ReactingParcel<ParcelType>::constantProperties& -Foam::ReactingParcel<ParcelType>::trackData::constProps() const -{ - return constProps_; -} - - template<class ParcelType> inline const Foam::interpolation<Foam::scalar>& Foam::ReactingParcel<ParcelType>::trackData::pInterp() const diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C index bdf5f1d2cb8..0a457a89719 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C @@ -47,7 +47,7 @@ void Foam::ThermoParcel<ParcelType>::setCellValues Tc_ = td.TInterp().interpolate(this->position(), tetIs); - if (Tc_ < td.constProps().TMin()) + if (Tc_ < td.cloud().constProps().TMin()) { WarningIn ( @@ -58,9 +58,9 @@ void Foam::ThermoParcel<ParcelType>::setCellValues "const label" ")" ) << "Limiting observed temperature in cell " << cellI << " to " - << td.constProps().TMin() << nl << endl; + << td.cloud().constProps().TMin() << nl << endl; - Tc_ = td.constProps().TMin(); + Tc_ = td.cloud().constProps().TMin(); } } @@ -107,7 +107,7 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues mus = td.muInterp().interpolate (this->position(), tetIs)/factor; - Pr = td.constProps().Pr(); + Pr = td.cloud().constProps().Pr(); kappa = Cpc_*mus/Pr; } @@ -238,7 +238,12 @@ Foam::scalar Foam::ThermoParcel<ParcelType>::calcHeatTransfer if (mag(htc) < ROOTVSMALL && !td.cloud().radiation()) { - return max(T + dt*Sh/(this->volume(d)*rho*Cp), td.constProps().TMin()); + return + max + ( + T + dt*Sh/(this->volume(d)*rho*Cp), + td.cloud().constProps().TMin() + ); } const scalar As = this->areaS(d); @@ -250,7 +255,7 @@ Foam::scalar Foam::ThermoParcel<ParcelType>::calcHeatTransfer td.cloud().mesh().objectRegistry::lookupObject<volScalarField>("G"); const scalar Gc = G[cellI]; const scalar sigma = physicoChemical::sigma.value(); - const scalar epsilon = td.constProps().epsilon0(); + const scalar epsilon = td.cloud().constProps().epsilon0(); ap = (ap + epsilon*Gc/(4.0*htc))/(1.0 + epsilon*sigma*pow3(T)/htc); bp += 6.0*(epsilon*(Gc/4.0 - sigma*pow4(T))); @@ -261,7 +266,7 @@ Foam::scalar Foam::ThermoParcel<ParcelType>::calcHeatTransfer IntegrationScheme<scalar>::integrationResult Tres = td.cloud().TIntegrator().integrate(T, dt, ap, bp); - scalar Tnew = max(Tres.value(), td.constProps().TMin()); + scalar Tnew = max(Tres.value(), td.cloud().constProps().TMin()); dhsTrans += dt*htc*As*(0.5*(T + Tnew) - Tc_); diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H index 2924dc3eb0a..09ca7444c6b 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -138,9 +138,6 @@ public: //- Reference to the cloud containing this particle ThermoCloud<ParcelType>& cloud_; - //- Particle constant properties - const constantProperties& constProps_; - //- Local copy of specific heat field // Cp not stored on acrrier thermo, but returned as tmp<...> const volScalarField Cp_; @@ -173,9 +170,6 @@ public: //- Return access to the owner cloud inline ThermoCloud<ParcelType>& cloud(); - //- Return const access to the owner cloud - inline const constantProperties& constProps() const; - //- Return const access to the interpolator for continuous // phase temperature field inline const interpolation<scalar>& TInterp() const; diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H index 69ba4e61094..76108f2b27a 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H @@ -50,7 +50,6 @@ inline Foam::ThermoParcel<ParcelType>::trackData::trackData : KinematicParcel<ParcelType>::trackData(cloud, part), cloud_(cloud), - constProps_(cloud.constProps()), Cp_ ( IOobject @@ -203,14 +202,6 @@ Foam::ThermoParcel<ParcelType>::trackData::cloud() } -template <class ParcelType> -inline const typename Foam::ThermoParcel<ParcelType>::constantProperties& -Foam::ThermoParcel<ParcelType>::trackData::constProps() const -{ - return constProps_; -} - - template<class ParcelType> inline const Foam::interpolation<Foam::scalar>& Foam::ThermoParcel<ParcelType>::trackData::TInterp() const -- GitLab