diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index c671bc104f..ce7d78fe27 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -626,7 +626,7 @@ Foam::KinematicCloud::KinematicCloud ) ), solution_(mesh), - constProps_(dictionary::null), + constProps_(), subModelProperties_(dictionary::null), rndGen_(0, 0), cellOccupancyPtr_(NULL), diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index dfebcebc85..744b15b493 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -191,8 +191,9 @@ Foam::ReactingCloud::ReactingCloud ThermoCloud(mesh, name, c), reactingCloud(), cloudCopyPtr_(NULL), - constProps_(c.constProps_), - compositionModel_(NULL), + constProps_(), + compositionModel_(c.compositionModel_->clone()), +// compositionModel_(NULL), phaseChangeModel_(NULL), rhoTrans_(0), dMassPhaseChange_(0.0) diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C index 57e540ca5b..2a3dbecb40 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C @@ -123,7 +123,7 @@ Foam::ReactingMultiphaseCloud::ReactingMultiphaseCloud ReactingCloud(mesh, name, c), reactingMultiphaseCloud(), cloudCopyPtr_(NULL), - constProps_(c.constProps_), + constProps_(), devolatilisationModel_(NULL), surfaceReactionModel_(NULL), dMassDevolatilisation_(0.0), diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 346367e5b7..8f0a366884 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -197,7 +197,7 @@ Foam::ThermoCloud::ThermoCloud KinematicCloud(mesh, name, c), thermoCloud(), cloudCopyPtr_(NULL), - constProps_(c.particleProperties_), + constProps_(), thermo_(c.thermo()), T_(c.T()), p_(c.p()), diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H index a75a1dd78f..502fb3db4d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.H @@ -118,8 +118,17 @@ public: public: - //- Constructor - constantProperties(const dictionary& parentDict); + // Constructors + + //- Null constructor + constantProperties(); + + //- Copy constructor + constantProperties(const constantProperties& cp); + + //- Constructor from dictionary + constantProperties(const dictionary& parentDict); + // Member functions diff --git a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H index 447f91381f..6333873f3d 100644 --- a/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcelI.H @@ -29,6 +29,36 @@ using namespace Foam::constant::mathematical; // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template +inline +Foam::KinematicParcel::constantProperties::constantProperties() +: + dict_(dictionary::null), + parcelTypeId_(-1), + rhoMin_(0.0), + rho0_(0.0), + minParticleMass_(0.0), + youngsModulus_(0.0), + poissonsRatio_(0.0) +{} + + +template +inline Foam::KinematicParcel::constantProperties::constantProperties +( + const constantProperties& cp +) +: + dict_(cp.dict_), + parcelTypeId_(cp.parcelTypeId_), + rhoMin_(cp.rhoMin_), + rho0_(cp.rho0_), + minParticleMass_(cp.minParticleMass_), + youngsModulus_(cp.youngsModulus_), + poissonsRatio_(cp.poissonsRatio_) +{} + + template inline Foam::KinematicParcel::constantProperties::constantProperties ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H index 5d8ca9c4f2..04e57d0a7a 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H @@ -91,8 +91,17 @@ public: public: - //- Constructor - constantProperties(const dictionary& parentDict); + // Constructors + + //- Null constructor + constantProperties(); + + //- Copy constructor + constantProperties(const constantProperties& cp); + + //- Constructor from dictionary + constantProperties(const dictionary& parentDict); + // Access diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H index c6e0e64197..0eb2f4aa7f 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H @@ -25,6 +25,31 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template +inline +Foam::ReactingMultiphaseParcel::constantProperties:: +constantProperties() +: + ReactingParcel::constantProperties(), + LDevol_(0.0), + hRetentionCoeff_(0.0) +{} + + +template +inline +Foam::ReactingMultiphaseParcel::constantProperties:: +constantProperties +( + const constantProperties& cp +) +: + ReactingParcel::constantProperties(cp), + LDevol_(cp.LDevol_), + hRetentionCoeff_(cp.hRetentionCoeff_) +{} + + template inline Foam::ReactingMultiphaseParcel::constantProperties:: constantProperties diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H index bf500dd483..e24049dc8c 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H @@ -91,8 +91,17 @@ public: public: - //- Constructor - constantProperties(const dictionary& parentDict); + // Constructors + + //- Null constructor + constantProperties(); + + //- Copy constructor + constantProperties(const constantProperties& cp); + + //- Constructor from dictionary + constantProperties(const dictionary& parentDict); + // Access diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H index d04fb34467..0a79a0311a 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H @@ -25,6 +25,32 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template +inline +Foam::ReactingParcel::constantProperties::constantProperties() +: + ThermoParcel::constantProperties(), + pMin_(0.0), + constantVolume_(false), + Tvap_(0.0), + Tbp_(0.0) +{} + + +template +inline Foam::ReactingParcel::constantProperties::constantProperties +( + const constantProperties& cp +) +: + ThermoParcel::constantProperties(cp), + pMin_(cp.pMin_), + constantVolume_(cp.constantVolume_), + Tvap_(cp.Tvap_), + Tbp_(cp.Tbp_) +{} + + template inline Foam::ReactingParcel::constantProperties::constantProperties ( diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H index f1a6305e45..0267e7451a 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.H @@ -98,7 +98,16 @@ public: public: // Constructors - constantProperties(const dictionary& parentDict); + + //- Null constructor + constantProperties(); + + //- Copy constructor + constantProperties(const constantProperties& cp); + + //- Constructor from dictionary + constantProperties(const dictionary& parentDict); + // Member functions diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H index 41a059b148..d588e69fd3 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcelI.H @@ -25,6 +25,35 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // +template +inline Foam::ThermoParcel::constantProperties::constantProperties() +: + KinematicParcel::constantProperties(), + T0_(0.0), + TMin_(0.0), + Cp0_(0.0), + epsilon0_(0.0), + f0_(0.0), + Pr_(0.0) +{} + + +template +inline Foam::ThermoParcel::constantProperties::constantProperties +( + const constantProperties& cp +) +: + KinematicParcel::constantProperties(cp), + T0_(cp.T0_), + TMin_(cp.TMin_), + Cp0_(cp.Cp0_), + epsilon0_(cp.epsilon0_), + f0_(cp.f0_), + Pr_(cp.Pr_) +{} + + template inline Foam::ThermoParcel::constantProperties::constantProperties (