From 6532fda297222ddebd4e129a8274adcfb793f93a Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Mon, 2 Mar 2009 19:15:45 +0000 Subject: [PATCH] restructing - surface reactions to multiphase level + clean-up --- src/lagrangian/intermediate/Make/files | 51 +++++++++---------- .../Templates/KinematicCloud/KinematicCloud.C | 3 +- .../Templates/ReactingCloud/ReactingCloud.C | 29 +++++++---- .../Templates/ReactingCloud/ReactingCloud.H | 30 +++++------ .../Templates/ReactingCloud/ReactingCloudI.H | 8 --- .../ReactingMultiphaseCloud.C | 43 +++++++++++++++- .../ReactingMultiphaseCloud.H | 42 ++++++++++++++- .../ReactingMultiphaseCloudI.H | 11 ++++ .../Templates/ThermoCloud/ThermoCloud.C | 7 +++ .../Templates/ThermoCloud/ThermoCloud.H | 6 +++ .../ReactingMultiphaseParcel.C | 4 ++ .../Templates/ReactingParcel/ReactingParcel.C | 38 +++----------- ...makeBasicKinematicParcelDispersionModels.C | 2 + .../makeBasicKinematicParcelDragModels.C | 2 + .../makeBasicKinematicParcelInjectionModels.C | 2 + ...asicKinematicParcelWallInteractionModels.C | 2 + ...eactingMultiphaseParcelCompositionModels.C | 2 + ...ngMultiphaseParcelDevolatilisationModels.C | 2 + ...ReactingMultiphaseParcelDispersionModels.C | 2 + ...eBasicReactingMultiphaseParcelDragModels.C | 2 + ...actingMultiphaseParcelHeatTransferModels.C | 2 + ...cReactingMultiphaseParcelInjectionModels.C | 2 + ...eactingMultiphaseParcelPhaseChangeModels.C | 2 + ...ingMultiphaseParcelSurfaceReactionModels.C | 8 +-- ...ingMultiphaseParcelWallInteractionModels.C | 2 + ...BasicReactingParcelSurfaceReactionModels.C | 46 ----------------- ...makeBasicReactingParcelCompositionModels.C | 2 + .../makeBasicReactingParcelDispersionModels.C | 2 + .../makeBasicReactingParcelDragModels.C | 2 + ...akeBasicReactingParcelHeatTransferModels.C | 2 + .../makeBasicReactingParcelInjectionModels.C | 2 + ...makeBasicReactingParcelPhaseChangeModels.C | 2 + ...BasicReactingParcelWallInteractionModels.C | 2 + .../makeBasicThermoParcelDispersionModels.C | 2 + .../makeBasicThermoParcelDragModels.C | 2 + .../makeBasicThermoParcelHeatTransferModels.C | 2 + .../makeBasicThermoParcelInjectionModels.C | 2 + ...keBasicThermoParcelWallInteractionModels.C | 2 + .../NoSurfaceReaction/NoSurfaceReaction.C | 0 .../NoSurfaceReaction/NoSurfaceReaction.H | 4 +- .../NewSurfaceReactionModel.C | 0 .../SurfaceReactionModel.C | 0 .../SurfaceReactionModel.H | 3 +- 43 files changed, 234 insertions(+), 147 deletions(-) rename src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/{ => submodels}/makeBasicKinematicParcelDispersionModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/{ => submodels}/makeBasicKinematicParcelDragModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/{ => submodels}/makeBasicKinematicParcelInjectionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/{ => submodels}/makeBasicKinematicParcelWallInteractionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelCompositionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelDevolatilisationModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelDispersionModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelDragModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelHeatTransferModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelInjectionModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelPhaseChangeModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C (88%) rename src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/{ => submodels}/makeBasicReactingMultiphaseParcelWallInteractionModels.C (95%) delete mode 100644 src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSurfaceReactionModels.C rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelCompositionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelDispersionModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelDragModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelHeatTransferModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelInjectionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelPhaseChangeModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicReactingParcel/{ => submodels}/makeBasicReactingParcelWallInteractionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicThermoParcel/{ => submodels}/makeBasicThermoParcelDispersionModels.C (96%) rename src/lagrangian/intermediate/parcels/derived/basicThermoParcel/{ => submodels}/makeBasicThermoParcelDragModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicThermoParcel/{ => submodels}/makeBasicThermoParcelHeatTransferModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicThermoParcel/{ => submodels}/makeBasicThermoParcelInjectionModels.C (95%) rename src/lagrangian/intermediate/parcels/derived/basicThermoParcel/{ => submodels}/makeBasicThermoParcelWallInteractionModels.C (95%) rename src/lagrangian/intermediate/submodels/{Reacting => ReactingMultiphase}/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C (100%) rename src/lagrangian/intermediate/submodels/{Reacting => ReactingMultiphase}/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H (97%) rename src/lagrangian/intermediate/submodels/{Reacting => ReactingMultiphase}/SurfaceReactionModel/SurfaceReactionModel/NewSurfaceReactionModel.C (100%) rename src/lagrangian/intermediate/submodels/{Reacting => ReactingMultiphase}/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C (100%) rename src/lagrangian/intermediate/submodels/{Reacting => ReactingMultiphase}/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H (98%) diff --git a/src/lagrangian/intermediate/Make/files b/src/lagrangian/intermediate/Make/files index 44d371fdefa..7e2bd41a8ee 100644 --- a/src/lagrangian/intermediate/Make/files +++ b/src/lagrangian/intermediate/Make/files @@ -22,44 +22,43 @@ clouds/derived/basicReactingMultiphaseCloud/basicReactingMultiphaseCloud.C /* kinematic parcel sub-models */ KINEMATICPARCEL=$(DERIVEDPARCELS)/basicKinematicParcel $(KINEMATICPARCEL)/defineBasicKinematicParcel.C -$(KINEMATICPARCEL)/makeBasicKinematicParcelDispersionModels.C -$(KINEMATICPARCEL)/makeBasicKinematicParcelDragModels.C -$(KINEMATICPARCEL)/makeBasicKinematicParcelInjectionModels.C -$(KINEMATICPARCEL)/makeBasicKinematicParcelWallInteractionModels.C +$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDispersionModels.C +$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDragModels.C +$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelInjectionModels.C +$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelWallInteractionModels.C /* thermo parcel sub-models */ THERMOPARCEL=$(DERIVEDPARCELS)/basicThermoParcel $(THERMOPARCEL)/defineBasicThermoParcel.C -$(THERMOPARCEL)/makeBasicThermoParcelDispersionModels.C -$(THERMOPARCEL)/makeBasicThermoParcelDragModels.C -$(THERMOPARCEL)/makeBasicThermoParcelHeatTransferModels.C -$(THERMOPARCEL)/makeBasicThermoParcelInjectionModels.C -$(THERMOPARCEL)/makeBasicThermoParcelWallInteractionModels.C +$(THERMOPARCEL)/submodels/makeBasicThermoParcelDispersionModels.C +$(THERMOPARCEL)/submodels/makeBasicThermoParcelDragModels.C +$(THERMOPARCEL)/submodels/makeBasicThermoParcelHeatTransferModels.C +$(THERMOPARCEL)/submodels/makeBasicThermoParcelInjectionModels.C +$(THERMOPARCEL)/submodels/makeBasicThermoParcelWallInteractionModels.C /* reacting parcel sub-models */ REACTINGPARCEL=$(DERIVEDPARCELS)/basicReactingParcel $(REACTINGPARCEL)/defineBasicReactingParcel.C -$(REACTINGPARCEL)/makeBasicReactingParcelCompositionModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelDispersionModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelDragModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelHeatTransferModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelInjectionModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelPhaseChangeModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelSurfaceReactionModels.C -$(REACTINGPARCEL)/makeBasicReactingParcelWallInteractionModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelCompositionModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDispersionModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDragModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelHeatTransferModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelInjectionModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPhaseChangeModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelWallInteractionModels.C /* reacting multiphase parcel sub-models */ REACTINGMPPARCEL=$(DERIVEDPARCELS)/basicReactingMultiphaseParcel $(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelCompositionModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDevolatilisationModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDispersionModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDragModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelHeatTransferModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelInjectionModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelPhaseChangeModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C -$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelWallInteractionModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDragModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelWallInteractionModels.C /* bolt-on models */ submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 3b92b98f0aa..6584495b637 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -253,8 +253,7 @@ void Foam::KinematicCloud<ParcelType>::info() const << " Current number of parcels = " << returnReduce(this->size(), sumOp<label>()) << nl << " Current mass in system = " - << returnReduce(massInSystem(), sumOp<scalar>()) << nl - << endl; + << returnReduce(massInSystem(), sumOp<scalar>()) << nl; } diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index 640ce508d51..15a088c000b 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -28,7 +28,6 @@ License #include "CompositionModel.H" #include "PhaseChangeModel.H" -#include "SurfaceReactionModel.H" // * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * // @@ -97,15 +96,8 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud *this ) ), - surfaceReactionModel_ - ( - SurfaceReactionModel<ReactingCloud<ParcelType> >::New - ( - this->particleProperties(), - *this - ) - ), - rhoTrans_(thermo.composition().Y().size()) + rhoTrans_(thermo.composition().Y().size()), + dMassPhaseChange_(0.0) { // Set storage for mass source fields and initialise to zero forAll(rhoTrans_, i) @@ -224,4 +216,21 @@ void Foam::ReactingCloud<ParcelType>::evolve() } +template<class ParcelType> +void Foam::ReactingCloud<ParcelType>::info() const +{ + ThermoCloud<ParcelType>::info(); + + Info<< " Mass transfer phase change = " + << returnReduce(dMassPhaseChange_, sumOp<scalar>()) << nl; +} + + +template<class ParcelType> +void Foam::ReactingCloud<ParcelType>::addToMassPhaseChange(const scalar dMass) +{ + dMassPhaseChange_ += dMass; +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H index ee541dd6d90..3af70b1904e 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H @@ -30,7 +30,6 @@ Description - Adds to thermodynamic cloud - Variable composition (single phase) - Phase change - - Surface reactions SourceFiles ReactingCloudI.H @@ -62,9 +61,6 @@ class CompositionModel; template<class CloudType> class PhaseChangeModel; -template<class CloudType> -class SurfaceReactionModel; - /*---------------------------------------------------------------------------*\ Class ReactingCloud Declaration \*---------------------------------------------------------------------------*/ @@ -97,13 +93,6 @@ class ReactingCloud autoPtr<PhaseChangeModel<ReactingCloud<ParcelType> > > phaseChangeModel_; - //- Reacting surface reaction model - autoPtr - < - SurfaceReactionModel<ReactingCloud<ParcelType> > - > - surfaceReactionModel_; - // Sources @@ -111,6 +100,12 @@ class ReactingCloud PtrList<DimensionedField<scalar, volMesh> > rhoTrans_; + // Check + + //- Total mass transferred to continuous phase via phase change + scalar dMassPhaseChange_; + + // Private Member Functions //- Disallow default bitwise copy construct @@ -168,10 +163,6 @@ public: inline const PhaseChangeModel<ReactingCloud<ParcelType> >& phaseChange() const; - //- Return reference to reacting surface reaction model - inline const SurfaceReactionModel<ReactingCloud<ParcelType> >& - surfaceReaction() const; - // Sources @@ -196,6 +187,15 @@ public: Srho1() const; + // Check + + //- Print cloud information + void info() const; + + //- Add to cumulative phase change mass transfer + void addToMassPhaseChange(const scalar dMass); + + // Cloud evolution functions //- Add new parcel diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H index 146db083cc0..4bf20a37a9c 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudI.H @@ -66,14 +66,6 @@ Foam::ReactingCloud<ParcelType>::phaseChange() const } -template<class ParcelType> -inline const Foam::SurfaceReactionModel<Foam::ReactingCloud<ParcelType> >& -Foam::ReactingCloud<ParcelType>::surfaceReaction() const -{ - return surfaceReactionModel_; -} - - template<class ParcelType> inline Foam::DimensionedField<Foam::scalar, Foam::volMesh>& Foam::ReactingCloud<ParcelType>::rhoTrans(const label i) diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C index 79a0581acde..708a3f72239 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C @@ -26,7 +26,6 @@ License #include "ReactingMultiphaseCloud.H" -#include "CompositionModel.H" #include "DevolatilisationModel.H" #include "SurfaceReactionModel.H" @@ -93,7 +92,16 @@ Foam::ReactingMultiphaseCloud<ParcelType>::ReactingMultiphaseCloud this->particleProperties(), *this ) - ) + ), + surfaceReactionModel_ + ( + SurfaceReactionModel<ReactingMultiphaseCloud<ParcelType> >::New + ( + this->particleProperties(), + *this + ) + ), + dMassDevolatilisation_(0.0) {} @@ -185,4 +193,35 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolve() } +template<class ParcelType> +void Foam::ReactingMultiphaseCloud<ParcelType>::info() const +{ + ReactingCloud<ParcelType>::info(); + Info<< " Mass transfer devolatilisation = " + << returnReduce(dMassDevolatilisation_, sumOp<scalar>()) << nl; + Info<< " Mass transfer surface reaction = " + << returnReduce(dMassSurfaceReaction_, sumOp<scalar>()) << nl; +} + + +template<class ParcelType> +void Foam::ReactingMultiphaseCloud<ParcelType>::addToMassDevolatilisation +( + const scalar dMass +) +{ + dMassDevolatilisation_ += dMass; +} + + +template<class ParcelType> +void Foam::ReactingMultiphaseCloud<ParcelType>::addToMassSurfaceReaction +( + const scalar dMass +) +{ + dMassSurfaceReaction_ += dMass; +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H index 16e1140876c..b78a5c02426 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H @@ -28,8 +28,9 @@ Class Description Templated base class for multiphase reacting cloud - Adds to reacting cloud - - Devolatilisatsion - multiphase composition + - devolatilisatsion + - surface reactions SourceFiles ReactingMultiphaseCloudI.H @@ -53,6 +54,9 @@ namespace Foam template<class CloudType> class DevolatilisationModel; +template<class CloudType> +class SurfaceReactionModel; + /*---------------------------------------------------------------------------*\ Class ReactingMultiphaseCloud Declaration \*---------------------------------------------------------------------------*/ @@ -78,6 +82,23 @@ class ReactingMultiphaseCloud > devolatilisationModel_; + //- Surface reaction model + autoPtr + < + SurfaceReactionModel<ReactingMultiphaseCloud<ParcelType> > + > + surfaceReactionModel_; + + + // Check + + //- Total mass transferred to continuous phase via devolatilisation + scalar dMassDevolatilisation_; + + //- Total mass transferred to continuous phase via surface + // reactions + scalar dMassSurfaceReaction_; + // Private Member Functions @@ -125,6 +146,25 @@ public: >& devolatilisation() const; + //- Return reference to reacting surface reaction model + inline const SurfaceReactionModel + < + ReactingMultiphaseCloud<ParcelType> + >& + surfaceReaction() const; + + + // Check + + //- Print cloud information + void info() const; + + //- Add to cumulative volatilisation mass transfer + void addToMassDevolatilisation(const scalar dMass); + + //- Add to cumulative surface reaction transfer + void addToMassSurfaceReaction(const scalar dMass); + // Cloud evolution functions diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloudI.H b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloudI.H index f27fae24eaf..752f2b8ca32 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloudI.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloudI.H @@ -37,4 +37,15 @@ Foam::ReactingMultiphaseCloud<ParcelType>::devolatilisation() const } +template<class ParcelType> +inline const Foam::SurfaceReactionModel +< + Foam::ReactingMultiphaseCloud<ParcelType> +>& +Foam::ReactingMultiphaseCloud<ParcelType>::surfaceReaction() const +{ + return surfaceReactionModel_; +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C index 05a0b5f2aa4..b54624bb812 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.C @@ -215,4 +215,11 @@ void Foam::ThermoCloud<ParcelType>::evolve() } +template<class ParcelType> +void Foam::ThermoCloud<ParcelType>::info() const +{ + KinematicCloud<ParcelType>::info(); +} + + // ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H index 13c560b1525..d845b725b19 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ThermoCloud/ThermoCloud.H @@ -197,6 +197,12 @@ public: inline tmp<volScalarField> sigmap() const; + // Check + + //- Print cloud information + void info() const; + + // Cloud evolution functions //- Add new parcel diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C index 0ab68ded742..bc132bb6f34 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C @@ -402,6 +402,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation scalar volatileMass = YGas_[i]*dMassTot; dMassMT[id] += volatileMass; } + + td.cloud().addToMassDevolatilisation(dMassTot); } @@ -446,6 +448,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcSurfaceReactions dMassSR, dhRet ); + + // TODO: td.cloud().addToMassDevolatilisation(sum(dMassSR)); } diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C index 266f6e25301..01fa099a925 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C @@ -61,6 +61,7 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled const scalar np0 = this->nParticle_; const scalar T0 = this->T_; + // ~~~~~~~~~~~~~~~~~~~~~~~~~ // Initialise transfer terms // ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -75,11 +76,6 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled // - components exist in particle already scalarList dMassMT(td.cloud().gases().size(), 0.0); - // Mass transfer due to surface reactions from particle to carrier phase - // - components do not necessarily exist in particle already - scalarList dMassSR(td.cloud().gases().size(), 0.0); - - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Calculate velocity - update U // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -100,23 +96,8 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled scalarField X = td.cliud().composition().X(0, YMixture_); calcPhaseChange(td, dt, T, X, dMassMT); - - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Calculate surface reactions - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - // Initialise enthalpy retention to zero - scalar dhRet = 0.0; - - calcSurfaceReactions(td, dt, celli, T0, T1, dMassMT, dMassSR, dhRet); - // New total mass - const scalar mass1 = mass0 - sum(dMassMT) - sum(dMassSR); - - // Add retained enthalpy from surface reaction to particle and remove - // from gas - T1 += dhRet/(0.5*(mass0 + mass1)*cp0); - dhTrans -= dhRet; + const scalar mass1 = mass0 - sum(dMassMT); // ~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,7 +107,7 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled // Transfer mass lost from particle to carrier mass source forAll(dMassMT, i) { - td.cloud().rhoTrans(i)[celli] += np0*(dMassMT[i] + dMassSR[i]); + td.cloud().rhoTrans(i)[celli] += np0*dMassMT[i]; } // Update momentum transfer @@ -194,6 +175,7 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled const scalar mass0 = this->mass(); const scalar cp0 = this->cp_; + // ~~~~~~~~~~~~~~~~~~~~~~~~~ // Initialise transfer terms // ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -208,10 +190,6 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled // - components exist in particle already scalarList dMassMT(td.cloud().gases().size(), 0.0); - // Mass transfer due to surface reactions from particle to carrier phase - // - components do not necessarily exist in particle already - scalarList dMassSR(td.cloud().gases().size(), 0.0); - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Calculate velocity - update U @@ -231,7 +209,8 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled // Calculate phase change // ~~~~~~~~~~~~~~~~~~~~~~ scalarField X = td.cloud().composition().X(0, YMixture_); - calcPhaseChange(td, dt, T, X, dMassMT); + scalar dMassPC = calcPhaseChange(td, dt, T, X, dMassMT); + T1 -= td.constProps().Lvap()*dMassPC/(0.5*mass0*cp0); // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -241,10 +220,8 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled // Initialise enthalpy retention to zero scalar dhRet = 0.0; - calcSurfaceReactions(td, dt, celli, T0, T1, dMassMT, dMassSR, dhRet); - // New total mass - const scalar mass1 = mass0 - sum(dMassMT) - sum(dMassSR); + const scalar mass1 = mass0 - sum(dMassMT); // New specific heat capacity const scalar cp1 = cp0; // TODO: new cp1 @@ -312,6 +289,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange dt ); + td.cloud().addToMassPhaseChange(dMassTot); // TODO: Re-calculate mass fractions diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDispersionModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDispersionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDispersionModels.C index 7a09f02321f..f6444b1252f 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDispersionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDispersionModels.C @@ -31,6 +31,8 @@ License #include "GradientDispersionRAS.H" #include "StochasticDispersionRAS.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDispersionModel(KinematicCloud<basicKinematicParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDragModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDragModels.C rename to src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDragModels.C index e88f4e1d37b..6b10e4efb03 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelDragModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelDragModels.C @@ -30,6 +30,8 @@ License #include "NoDrag.H" #include "SphereDrag.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDragModel(KinematicCloud<basicKinematicParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelInjectionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C index e5cc927c67d..c722ac91fdf 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelInjectionModels.C @@ -31,6 +31,8 @@ License #include "ManualInjection.H" #include "ConeInjection.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeInjectionModel(KinematicCloud<basicKinematicParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelWallInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelWallInteractionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelWallInteractionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelWallInteractionModels.C index 95335509a6c..544cddaf2ad 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/makeBasicKinematicParcelWallInteractionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicParcel/submodels/makeBasicKinematicParcelWallInteractionModels.C @@ -30,6 +30,8 @@ License #include "Rebound.H" #include "StandardWallInteraction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeWallInteractionModel(KinematicCloud<basicKinematicParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelCompositionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelCompositionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C index b598be99396..4dd31ffb585 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelCompositionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C @@ -29,6 +29,8 @@ License #include "SingleMixtureFraction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeCompositionModel diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDevolatilisationModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDevolatilisationModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C index 71c9d6e7c04..8704e48d801 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDevolatilisationModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C @@ -31,6 +31,8 @@ License #include "ConstantRateDevolatilisation.H" #include "SingleKineticRateDevolatilisation.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDevolatilisationModel diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDispersionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C index 5c96a859a79..8e4a77d5e30 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDispersionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C @@ -31,6 +31,8 @@ License #include "GradientDispersionRAS.H" #include "StochasticDispersionRAS.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDispersionModel(KinematicCloud<basicReactingMultiphaseParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDragModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C index 253d546b7bd..5e56985952f 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelDragModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C @@ -30,6 +30,8 @@ License #include "NoDrag.H" #include "SphereDrag.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDragModel(KinematicCloud<basicReactingMultiphaseParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelHeatTransferModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelHeatTransferModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C index 1b6f4e06e1c..f501421d8bb 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelHeatTransferModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C @@ -30,6 +30,8 @@ License #include "NoHeatTransfer.H" #include "RanzMarshall.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeHeatTransferModel(ThermoCloud<basicReactingMultiphaseParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelInjectionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C index 53bed2ed119..6d8b5aeac91 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C @@ -31,6 +31,8 @@ License #include "ManualInjection.H" #include "ConeInjection.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeInjectionModel(KinematicCloud<basicReactingMultiphaseParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelPhaseChangeModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelPhaseChangeModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C index 76383aaf113..88300dffb16 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelPhaseChangeModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C @@ -29,6 +29,8 @@ License #include "NoPhaseChange.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makePhaseChangeModel diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C similarity index 88% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C index 26c983dfac8..d0478807400 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C @@ -25,22 +25,24 @@ License \*---------------------------------------------------------------------------*/ #include "basicReactingMultiphaseParcel.H" -#include "ReactingCloud.H" +#include "ReactingMultiphaseCloud.H" #include "NoSurfaceReaction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeSurfaceReactionModel ( - ReactingCloud<basicReactingMultiphaseParcel> + ReactingMultiphaseCloud<basicReactingMultiphaseParcel> ); // Add instances of surface reaction model to the table makeSurfaceReactionModelType ( NoSurfaceReaction, - ReactingCloud, + ReactingMultiphaseCloud, basicReactingMultiphaseParcel ); }; diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelWallInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelWallInteractionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelWallInteractionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelWallInteractionModels.C index 19057c485ec..3e7d911f8f3 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelWallInteractionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelWallInteractionModels.C @@ -30,6 +30,8 @@ License #include "Rebound.H" #include "StandardWallInteraction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeWallInteractionModel(KinematicCloud<basicReactingMultiphaseParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSurfaceReactionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSurfaceReactionModels.C deleted file mode 100644 index 0cb133d8bab..00000000000 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSurfaceReactionModels.C +++ /dev/null @@ -1,46 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM; if not, write to the Free Software Foundation, - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -\*---------------------------------------------------------------------------*/ - -#include "basicReactingParcel.H" -#include "ReactingCloud.H" - -#include "NoSurfaceReaction.H" - -namespace Foam -{ - makeSurfaceReactionModel(ReactingCloud<basicReactingParcel>); - - // Add instances of surface reaction model to the table - makeSurfaceReactionModelType - ( - NoSurfaceReaction, - ReactingCloud, - basicReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelCompositionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelCompositionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C index 786fa74ddc0..7010ab4f2cd 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelCompositionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C @@ -29,6 +29,8 @@ License #include "SinglePhaseMixture.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeCompositionModel(ReactingCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDispersionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C index 80a351c7bb2..d2b6132bcaa 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDispersionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C @@ -31,6 +31,8 @@ License #include "GradientDispersionRAS.H" #include "StochasticDispersionRAS.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDispersionModel(KinematicCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDragModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDragModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDragModels.C index 178569796d6..0c43e221b1a 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelDragModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelDragModels.C @@ -30,6 +30,8 @@ License #include "NoDrag.H" #include "SphereDrag.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDragModel(KinematicCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelHeatTransferModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelHeatTransferModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C index e78caa71ec4..5bc2ea33a89 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelHeatTransferModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C @@ -30,6 +30,8 @@ License #include "NoHeatTransfer.H" #include "RanzMarshall.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeHeatTransferModel(ThermoCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelInjectionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C index 77b71a75abf..1af1e370884 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C @@ -31,6 +31,8 @@ License #include "ManualInjection.H" #include "ConeInjection.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeInjectionModel(KinematicCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelPhaseChangeModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelPhaseChangeModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C index 537ff586faa..65118fa8f71 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelPhaseChangeModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C @@ -29,6 +29,8 @@ License #include "NoPhaseChange.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makePhaseChangeModel(ReactingCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelWallInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelWallInteractionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelWallInteractionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelWallInteractionModels.C index 364d6f031e4..637fd92aaed 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelWallInteractionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/submodels/makeBasicReactingParcelWallInteractionModels.C @@ -30,6 +30,8 @@ License #include "Rebound.H" #include "StandardWallInteraction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeWallInteractionModel(KinematicCloud<basicReactingParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDispersionModels.C similarity index 96% rename from src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDispersionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDispersionModels.C index f1ab424f9ba..86bc63c72a7 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDispersionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDispersionModels.C @@ -30,6 +30,8 @@ License #include "GradientDispersionRAS.H" #include "StochasticDispersionRAS.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDispersionModel(KinematicCloud<basicThermoParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDragModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDragModels.C rename to src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDragModels.C index b477000cf52..aaeacca70c8 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelDragModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelDragModels.C @@ -29,6 +29,8 @@ License #include "NoDrag.H" #include "SphereDrag.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeDragModel(KinematicCloud<basicThermoParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelHeatTransferModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelHeatTransferModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelHeatTransferModels.C rename to src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelHeatTransferModels.C index d8a3c67c975..afb3ae0833b 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelHeatTransferModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelHeatTransferModels.C @@ -29,6 +29,8 @@ License #include "NoHeatTransfer.H" #include "RanzMarshall.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeHeatTransferModel(ThermoCloud<basicThermoParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelInjectionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C index cb51b868525..f2f433b0216 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelInjectionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelInjectionModels.C @@ -30,6 +30,8 @@ License #include "ManualInjection.H" #include "ConeInjection.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeInjectionModel(KinematicCloud<basicThermoParcel>); diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelWallInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelWallInteractionModels.C similarity index 95% rename from src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelWallInteractionModels.C rename to src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelWallInteractionModels.C index 03402510f69..361ffffdb10 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelWallInteractionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/submodels/makeBasicThermoParcelWallInteractionModels.C @@ -29,6 +29,8 @@ License #include "Rebound.H" #include "StandardWallInteraction.H" +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + namespace Foam { makeWallInteractionModel(KinematicCloud<basicThermoParcel>); diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C similarity index 100% rename from src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C rename to src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H similarity index 97% rename from src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H rename to src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H index 65ff10c0f29..edb919a6214 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H @@ -71,10 +71,10 @@ public: // Member Functions //- Flag to indicate whether model activates devolatisation model - bool active() const; + virtual bool active() const; //- Update surface reactions - void calculate + virtual void calculate ( const scalar dt, const label celli, diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/NewSurfaceReactionModel.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/NewSurfaceReactionModel.C similarity index 100% rename from src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/NewSurfaceReactionModel.C rename to src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/NewSurfaceReactionModel.C diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C similarity index 100% rename from src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C rename to src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H similarity index 98% rename from src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H rename to src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index 339af3560b1..6b4f5be31cb 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -56,7 +56,6 @@ namespace Foam template<class CloudType> class SurfaceReactionModel { - // Private data //- The cloud dictionary @@ -129,7 +128,7 @@ public: // Member Functions - //- Flag to indicate whether model activates devolatisation model + //- Flag to indicate whether model activates surface reaction model virtual bool active() const = 0; //- Update surface reactions -- GitLab