diff --git a/src/lagrangian/coalCombustion/coalParcel/coalParcel.C b/src/lagrangian/coalCombustion/coalParcel/coalParcel.C index b1b6120906a9d9f1faa07a744d108e1cde66aa83..218ce201a057efaede5fedcee3e2b54785126127 100644 --- a/src/lagrangian/coalCombustion/coalParcel/coalParcel.C +++ b/src/lagrangian/coalCombustion/coalParcel/coalParcel.C @@ -42,7 +42,18 @@ Foam::coalParcel::coalParcel ( ReactingMultiphaseCloud<coalParcel>& owner, const vector& position, - const label celli, + const label cellI +) +: + ReactingMultiphaseParcel<coalParcel>(owner, position, cellI) +{} + + +Foam::coalParcel::coalParcel +( + ReactingMultiphaseCloud<coalParcel>& owner, + const vector& position, + const label cellI, const label typeId, const scalar nParticle0, const scalar d0, @@ -58,7 +69,7 @@ Foam::coalParcel::coalParcel ( owner, position, - celli, + cellI, typeId, nParticle0, d0, diff --git a/src/lagrangian/coalCombustion/coalParcel/coalParcel.H b/src/lagrangian/coalCombustion/coalParcel/coalParcel.H index af3be65f84b4449984d6ebfe65053fc98b3ab773..34b009530f6803db3c0ac60227decddf53570d1f 100644 --- a/src/lagrangian/coalCombustion/coalParcel/coalParcel.H +++ b/src/lagrangian/coalCombustion/coalParcel/coalParcel.H @@ -59,12 +59,21 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + coalParcel + ( + ReactingMultiphaseCloud<coalParcel>& owner, + const vector& position, + const label cellI + ); + //- Construct from components coalParcel ( ReactingMultiphaseCloud<coalParcel>& owner, const vector& position, - const label celli, + const label cellI, const label typeId, const scalar nParticle0, const scalar d0, diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index b51612bb53e6325a4c35f6375d13922c1308847d..c551ecec9f3afed4d53e25273692aa6c59476408 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -263,6 +263,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + inline KinematicParcel + ( + KinematicCloud<ParcelType>& owner, + const vector& position, + const label cellI + ); + //- Construct from components inline KinematicParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H index 2adc0e944d0215c145e139a04c0a9a19e6544203..e0d927153780af56e42ac11af2db03636bd583b0 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H @@ -63,6 +63,28 @@ inline Foam::KinematicParcel<ParcelType>::trackData::trackData {} +template <class ParcelType> +inline Foam::KinematicParcel<ParcelType>::KinematicParcel +( + KinematicCloud<ParcelType>& owner, + const vector& position, + const label cellI +) +: + Particle<ParcelType>(owner, position, cellI), + typeId_(owner.parcelTypeId()), + nParticle_(0), + d_(0.0), + U_(vector::zero), + rho_(0.0), + tTurb_(0.0), + UTurb_(vector::zero), + rhoc_(0.0), + Uc_(vector::zero), + muc_(0.0) +{} + + template <class ParcelType> inline Foam::KinematicParcel<ParcelType>::KinematicParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H index e117fb68404e74af68f9e43eed0732fbf7ce733f..6188735230ab3530db3787f463d26edb24e484ee 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H @@ -276,6 +276,16 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + inline ReactingMultiphaseParcel + ( + ReactingMultiphaseCloud<ParcelType>& owner, + const vector& position, + const label cellI + ); + + //- Construct from components inline ReactingMultiphaseParcel ( @@ -328,6 +338,9 @@ public: //- Return const access to mass fractions of solids inline const scalarField& YSolid() const; + //- Return const access to the canCombust flag + inline bool canCombust() const; + // Edit @@ -340,6 +353,9 @@ public: //- Return access to mass fractions of solids inline scalarField& YSolid(); + //- Return access to the canCombust flag + inline bool& canCombust(); + // Main calculation loop diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H index e70b922ae21621cbcb5ae6665e148697515a29d8..adb3ca16b404cf9439f8d923f99bfe237393362a 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H @@ -85,6 +85,22 @@ inline Foam::ReactingMultiphaseParcel<ParcelType>::trackData::trackData {} +template <class ParcelType> +inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel +( + ReactingMultiphaseCloud<ParcelType>& owner, + const vector& position, + const label cellI +) +: + ReactingParcel<ParcelType>(owner, position, cellI), + YGas_(0), + YLiquid_(0), + YSolid_(0), + canCombust_(false) +{} + + template<class ParcelType> inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel ( @@ -185,6 +201,13 @@ YSolid() const } +template<class ParcelType> +inline bool Foam::ReactingMultiphaseParcel<ParcelType>::canCombust() const +{ + return canCombust_; +} + + template<class ParcelType> inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YGas() { @@ -206,4 +229,10 @@ inline Foam::scalarField& Foam::ReactingMultiphaseParcel<ParcelType>::YSolid() } +template<class ParcelType> +inline bool& Foam::ReactingMultiphaseParcel<ParcelType>::canCombust() +{ + return canCombust_; +} + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H index 4a9f9b17cb1401e7917660ba051f5ed93ecdb1f7..e864bd5654d22fccc381293b9251c389006be473 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H @@ -228,6 +228,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + inline ReactingParcel + ( + ReactingCloud<ParcelType>& owner, + const vector& position, + const label cellI + ); + //- Construct from components inline ReactingParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H index 344eb09398a80d60cb3a117cf1da53eb7fc4fd6c..6875c5ffc1d17408f431e13d617f7a73d395f67c 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H @@ -71,6 +71,21 @@ inline Foam::ReactingParcel<ParcelType>::trackData::trackData {} +template<class ParcelType> +inline Foam::ReactingParcel<ParcelType>::ReactingParcel +( + ReactingCloud<ParcelType>& owner, + const vector& position, + const label cellI +) +: + ThermoParcel<ParcelType>(owner, position, cellI), + mass0_(0.0), + Y_(0), + pc_(0.0) +{} + + 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 833577dbbca4dc64fe5e4eadc0445afad6d2f67d..aeeaf78cec62c43e08cba5d3311be02313e9b85d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -242,6 +242,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + inline ThermoParcel + ( + ThermoCloud<ParcelType>& owner, + const vector& position, + const label cellI + ); + //- Construct from components inline ThermoParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H index 6e929b6e691f2c913c122413a2c36df90c3171b7..8ce0cb56915196a30a7348af7582c64161d17523 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H @@ -70,6 +70,22 @@ inline Foam::ThermoParcel<ParcelType>::trackData::trackData {} +template<class ParcelType> +inline Foam::ThermoParcel<ParcelType>::ThermoParcel +( + ThermoCloud<ParcelType>& owner, + const vector& position, + const label cellI +) +: + KinematicParcel<ParcelType>(owner, position, cellI), + T_(0.0), + cp_(0.0), + Tc_(0.0), + cpc_(0.0) +{} + + template<class ParcelType> inline Foam::ThermoParcel<ParcelType>::ThermoParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcel.H index 57649e5b66932e351565009157c3a0e910bb401a..ad1411f17f433272ecd3dc35e7439100f0cc0b6d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcel.H @@ -81,6 +81,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + inline TrackedReactingParcel + ( + ReactingCloud<ParcelType>& owner, + const vector& position, + const label cellI + ); + //- Construct from components inline TrackedReactingParcel ( diff --git a/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcelI.H index 241e0defced2063f6fe51462c84f64fec2c2c08d..f594c95a027a06d38b1ea982e70f364c9b2bcdeb 100644 --- a/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/TrackedReactingParcel/TrackedReactingParcelI.H @@ -26,6 +26,19 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template <class ParcelType> +inline Foam::TrackedReactingParcel<ParcelType>::TrackedReactingParcel +( + ReactingCloud<ParcelType>& owner, + const vector& position, + const label cellI +) +: + ReactingParcel<ParcelType>(owner, position, cellI), + ParticleTrackingData<ParcelType>(owner) +{} + + template <class ParcelType> inline Foam::TrackedReactingParcel<ParcelType>::TrackedReactingParcel ( diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.C index 2f0bd818c6084f477b31b6d5f45445f7770a2703..e7f883dcfdacd0c275f2bb7b7f8c942c1957e980 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.C @@ -38,6 +38,17 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::basicKinematicParcel::basicKinematicParcel +( + KinematicCloud<basicKinematicParcel>& owner, + const vector& position, + const label cellI +) +: + KinematicParcel<basicKinematicParcel>(owner, position, cellI) +{} + + Foam::basicKinematicParcel::basicKinematicParcel ( KinematicCloud<basicKinematicParcel>& owner, diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.H b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.H index c16a476c775f8cc984ca50729fe0e013b1cdffca..18b43cbbadc5baa621870b145d8c22b32b8f050e 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/basicKinematicParcel.H @@ -60,6 +60,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + basicKinematicParcel + ( + KinematicCloud<basicKinematicParcel>& owner, + const vector& position, + const label cellI + ); + //- Construct from components basicKinematicParcel ( diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C index abe056040070f7b71302151e072375745d45e85c..45e68e1dbe911d1e0bf6b8cd74435d86c253050b 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C @@ -38,6 +38,22 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel +( + ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner, + const vector& position, + const label cellI +) +: + ReactingMultiphaseParcel<basicReactingMultiphaseParcel> + ( + owner, + position, + cellI + ) +{} + + Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel ( ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner, diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.H index 47a000be7a1cf05589977f19d597f0c2bb7071f3..9f3cc3aa41b79f975b52cfe3be8aa992c274910b 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.H @@ -60,6 +60,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + basicReactingMultiphaseParcel + ( + ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner, + const vector& position, + const label cellI + ); + //- Construct from components basicReactingMultiphaseParcel ( diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.C index bef5bbd0eec03b3534385b9509de88d7f51e21c2..480f4d6b1957ec5ebf921daba40c5be5e448b8a2 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.C @@ -38,6 +38,17 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::basicReactingParcel::basicReactingParcel +( + ReactingCloud<basicReactingParcel>& owner, + const vector& position, + const label cellI +) +: + ReactingParcel<basicReactingParcel>(owner, position, cellI) +{} + + Foam::basicReactingParcel::basicReactingParcel ( ReactingCloud<basicReactingParcel>& owner, diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.H b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.H index bebb4961c0feb7393bafbfe1c62a484e1277b6f6..432199e5320c2a0909f1a94e2c52aa4844923323 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/basicReactingParcel.H @@ -60,6 +60,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + basicReactingParcel + ( + ReactingCloud<basicReactingParcel>& owner, + const vector& position, + const label cellI + ); + //- Construct from components basicReactingParcel ( diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.C index 970d28169c7a11252dfffa08856ee8c0de230cf8..7f2524cbd282cfb8d9543c069d22b07db8add93b 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.C @@ -38,6 +38,17 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::basicThermoParcel::basicThermoParcel +( + ThermoCloud<basicThermoParcel>& owner, + const vector position, + const label cellI +) +: + ThermoParcel<basicThermoParcel>(owner, position, cellI) +{} + + Foam::basicThermoParcel::basicThermoParcel ( ThermoCloud<basicThermoParcel>& owner, diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.H b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.H index 93026560e0ae85978a2536fa7b1f95a30df154fe..974c36e23a96f51bb57d3009fea0a1951fbf331e 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/basicThermoParcel.H @@ -59,6 +59,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + basicThermoParcel + ( + ThermoCloud<basicThermoParcel>& owner, + const vector position, + const label cellI + ); + //- Construct from components basicThermoParcel ( diff --git a/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.C b/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.C index 932add74a95199528931ac33e6f3a6e44db4ffb6..156953a80454a7f42c698a188dd9a5abdaf49c24 100644 --- a/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.C @@ -38,6 +38,17 @@ namespace Foam // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +Foam::trackedReactingParcel::trackedReactingParcel +( + ReactingCloud<trackedReactingParcel>& owner, + const vector& position, + const label cellI +) +: + TrackedReactingParcel<trackedReactingParcel>(owner, position, cellI) +{} + + Foam::trackedReactingParcel::trackedReactingParcel ( ReactingCloud<trackedReactingParcel>& owner, diff --git a/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.H b/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.H index 570f779a054b9161ae3ea528630cecfe1bc2157f..47e0291a65fda5e2ca100a22c95299263e31a643 100644 --- a/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/derived/trackedReactingParcel/trackedReactingParcel.H @@ -60,6 +60,15 @@ public: // Constructors + //- Construct from owner, position, and cloud owner + // Other properties initialised as null + trackedReactingParcel + ( + ReactingCloud<trackedReactingParcel>& owner, + const vector& position, + const label cellI + ); + //- Construct from components trackedReactingParcel (