From fbd5a8363f5e3e4adc597657f65117bec0df28a7 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Tue, 26 May 2009 11:22:04 +0100 Subject: [PATCH] added new constructor --- .../coalCombustion/coalParcel/coalParcel.C | 15 ++++++++-- .../coalCombustion/coalParcel/coalParcel.H | 11 ++++++- .../KinematicParcel/KinematicParcel.H | 9 ++++++ .../KinematicParcel/KinematicParcelI.H | 22 ++++++++++++++ .../ReactingMultiphaseParcel.H | 16 ++++++++++ .../ReactingMultiphaseParcelI.H | 29 +++++++++++++++++++ .../Templates/ReactingParcel/ReactingParcel.H | 9 ++++++ .../ReactingParcel/ReactingParcelI.H | 15 ++++++++++ .../Templates/ThermoParcel/ThermoParcel.H | 9 ++++++ .../Templates/ThermoParcel/ThermoParcelI.H | 16 ++++++++++ .../TrackedReactingParcel.H | 9 ++++++ .../TrackedReactingParcelI.H | 13 +++++++++ .../basicKinematicParcel.C | 11 +++++++ .../basicKinematicParcel.H | 9 ++++++ .../basicReactingMultiphaseParcel.C | 16 ++++++++++ .../basicReactingMultiphaseParcel.H | 9 ++++++ .../basicReactingParcel/basicReactingParcel.C | 11 +++++++ .../basicReactingParcel/basicReactingParcel.H | 9 ++++++ .../basicThermoParcel/basicThermoParcel.C | 11 +++++++ .../basicThermoParcel/basicThermoParcel.H | 9 ++++++ .../trackedReactingParcel.C | 11 +++++++ .../trackedReactingParcel.H | 9 ++++++ 22 files changed, 275 insertions(+), 3 deletions(-) diff --git a/src/lagrangian/coalCombustion/coalParcel/coalParcel.C b/src/lagrangian/coalCombustion/coalParcel/coalParcel.C index b1b6120906a..218ce201a05 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 af3be65f84b..34b009530f6 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 b51612bb53e..c551ecec9f3 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 2adc0e944d0..e0d92715378 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 e117fb68404..6188735230a 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 e70b922ae21..adb3ca16b40 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 4a9f9b17cb1..e864bd5654d 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 344eb09398a..6875c5ffc1d 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 833577dbbca..aeeaf78cec6 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 6e929b6e691..8ce0cb56915 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 57649e5b669..ad1411f17f4 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 241e0defced..f594c95a027 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 2f0bd818c60..e7f883dcfda 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 c16a476c775..18b43cbbadc 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 abe05604007..45e68e1dbe9 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 47a000be7a1..9f3cc3aa41b 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 bef5bbd0eec..480f4d6b195 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 bebb4961c0f..432199e5320 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 970d28169c7..7f2524cbd28 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 93026560e0a..974c36e23a9 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 932add74a95..156953a8045 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 570f779a054..47e0291a65f 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 ( -- GitLab