diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H index 6fd579cd7bfe0b3b75caba69ceb3a02921f74110..d6c187515804a90ae79db9e5cdfa791bd9ac8222 100644 --- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcel.H @@ -104,17 +104,6 @@ public: //- Construct from dictionary constantProperties(const dictionary& parentDict); - //- Construct from components - constantProperties - ( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio - ); - // Member functions diff --git a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelI.H index 9490aba9c7edbf9ba0b9b5caf4e46fe625be1244..cc5940fcda835fe44a10116fa0dde82b6f3c2e21 100644 --- a/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/CollidingParcel/CollidingParcelI.H @@ -59,29 +59,6 @@ inline Foam::CollidingParcel<ParcelType>::constantProperties::constantProperties {} -template<class ParcelType> -inline Foam::CollidingParcel<ParcelType>::constantProperties::constantProperties -( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio -) -: - ParcelType::constantProperties - ( - parcelTypeId, - rhoMin, - rho0, - minParticleMass - ), - youngsModulus_(this->dict_, youngsModulus), - poissonsRatio_(this->dict_, poissonsRatio) -{} - - template<class ParcelType> inline Foam::CollidingParcel<ParcelType>::CollidingParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index b7b24059a3d933bd5d70a90f4b8a2e80b96be703..63d15118452296ea86d92c22af0b05bc1c831499 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -122,15 +122,6 @@ public: //- Construct from dictionary constantProperties(const dictionary& parentDict); - //- Construct from components - constantProperties - ( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass - ); - // Member functions diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H index 19dc18c1301552a5f8ab5f04aa9a76333e3b4df8..5002d60d941302b0805eb260b67ede7b9c10b87c 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H @@ -69,23 +69,6 @@ inline Foam::KinematicParcel<ParcelType>::constantProperties::constantProperties {} -template<class ParcelType> -inline Foam::KinematicParcel<ParcelType>::constantProperties::constantProperties -( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass -) -: - dict_(dictionary::null), - parcelTypeId_(dict_, parcelTypeId), - rhoMin_(dict_, rhoMin), - rho0_(dict_, rho0), - minParticleMass_(dict_, minParticleMass) -{} - - template<class ParcelType> inline Foam::KinematicParcel<ParcelType>::KinematicParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C index 12359be6715d463f1c5aed76f788eb0aeddd0886..31d6059c5011f84319eadd7b358e70c997b79518 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C @@ -506,14 +506,19 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation scalarField& Cs ) const { - // Check that model is active, and that the parcel temperature is - // within necessary limits for devolatilisation to occur - if - ( - !td.cloud().devolatilisation().active() - || T < td.cloud().constProps().TDevol() - || canCombust == -1 - ) + // Check that model is active + if (!td.cloud().devolatilisation().active()) + { + return; + } + + // Initialise demand-driven constants + (void)td.cloud().constProps().TDevol(); + (void)td.cloud().constProps().LDevol(); + + // Check that the parcel temperature is within necessary limits for + // devolatilisation to occur + if (T < td.cloud().constProps().TDevol() || canCombust == -1) { return; } @@ -604,11 +609,22 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcSurfaceReactions ) const { // Check that model is active - if (!td.cloud().surfaceReaction().active() || (canCombust != 1)) + if (!td.cloud().surfaceReaction().active()) { return; } + // Initialise demand-driven constants + (void)td.cloud().constProps().hRetentionCoeff(); + (void)td.cloud().constProps().TMax(); + + // Check that model is active + if (canCombust != 1) + { + return; + } + + // Update surface reactions const scalar hReaction = td.cloud().surfaceReaction().calculate ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H index 5623601e9110a4d266575b793baf62b002c9dc37..63f06904cee5290a54171700d378443a627b3828 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H @@ -106,27 +106,6 @@ public: //- Construct from dictionary constantProperties(const dictionary& parentDict); - //- Construct from components - constantProperties - ( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0, - const scalar pMin, - const Switch& constantVolume, - const scalar TDevol, - const scalar LDevol, - const scalar hRetentionCoeff - ); // Access diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H index 0c87df2267b95a7a6b1967bda22cc4f4799fa4a0..6bcd5c52b9477bd8d658220aa4b8bc6ecc058950 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H @@ -64,52 +64,6 @@ constantProperties {} -template<class ParcelType> -inline Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties:: -constantProperties -( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0, - const scalar pMin, - const Switch& constantVolume, - const scalar TDevol, - const scalar LDevol, - const scalar hRetentionCoeff -) -: - ParcelType::constantProperties - ( - parcelTypeId, - rhoMin, - rho0, - minParticleMass, - youngsModulus, - poissonsRatio, - T0, - TMin, - TMax, - Cp0, - epsilon0, - f0, - pMin, - constantVolume - ), - TDevol_(this->dict_, TDevol), - LDevol_(this->dict_, LDevol), - hRetentionCoeff_(this->dict_, hRetentionCoeff) -{} - - template<class ParcelType> inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C index f678e7cf426a863737339fc6cac931cda5132371..02d68c78c7b8a16a648d79a31a89cb52c7c08fd2 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C @@ -60,9 +60,14 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange typedef typename TrackData::cloudType::reactingCloudType reactingCloudType; PhaseChangeModel<reactingCloudType>& phaseChange = td.cloud().phaseChange(); + if (!phaseChange.active()) + { + return; + } + scalar Tvap = phaseChange.Tvap(YComponents); - if (!phaseChange.active() || T < Tvap || YPhase < SMALL) + if (T < Tvap || YPhase < SMALL) { return; } diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H index 27f3bcbcb9622b3fd8d6083170d9c9dc81ea17bb..7ee7d36e7336589bade52fc3465c223e91b46693 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H @@ -95,25 +95,6 @@ public: //- Construct from dictionary constantProperties(const dictionary& parentDict); - //- Construct from components - constantProperties - ( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0, - const scalar pMin, - const Switch& constantVolume - ); - // Access diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H index 24b4f1be54749b392d34a00a70a5c7a3cd3f5210..d4bb6002c181404556ecd34225fca27861cd3e9f 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H @@ -59,45 +59,6 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties {} -template<class ParcelType> -inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties -( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0, - const scalar pMin, - const Switch& constantVolume -) -: - ParcelType::constantProperties - ( - parcelTypeId, - rhoMin, - rho0, - minParticleMass, - youngsModulus, - poissonsRatio, - T0, - TMin, - TMax, - Cp0, - epsilon0, - f0 - ), - pMin_(this->dict_, pMin), - constantVolume_(this->dict_, constantVolume) -{} - - template<class ParcelType> inline Foam::ReactingParcel<ParcelType>::ReactingParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H index 695097355f005ff701bd8f5d2c06fdc9efc77a0d..4e405344ed588ca99793418a2b371f650a2f7555 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -109,23 +109,6 @@ public: //- Construct from dictionary constantProperties(const dictionary& parentDict); - //- Construct from components - constantProperties - ( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0 - ); - // Member functions diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H index 21007647586130b934940ed0dab7b06c78142eb5..e9281af259faa57a1f75079c1ef4e9815f3c0532 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H @@ -70,41 +70,6 @@ inline Foam::ThermoParcel<ParcelType>::constantProperties::constantProperties {} -template<class ParcelType> -inline Foam::ThermoParcel<ParcelType>::constantProperties::constantProperties -( - const label parcelTypeId, - const scalar rhoMin, - const scalar rho0, - const scalar minParticleMass, - const scalar youngsModulus, - const scalar poissonsRatio, - const scalar T0, - const scalar TMin, - const scalar TMax, - const scalar Cp0, - const scalar epsilon0, - const scalar f0 -) -: - ParcelType::constantProperties - ( - parcelTypeId, - rhoMin, - rho0, - minParticleMass, - youngsModulus, - poissonsRatio - ), - T0_(this->dict_, T0), - TMin_(this->dict_, TMin), - TMax_(this->dict_, TMax), - Cp0_(this->dict_, Cp0), - epsilon0_(this->dict_, epsilon0), - f0_(this->dict_, f0) -{} - - template<class ParcelType> inline Foam::ThermoParcel<ParcelType>::ThermoParcel (