diff --git a/applications/solvers/combustion/coalChemistryFoam/createClouds.H b/applications/solvers/combustion/coalChemistryFoam/createClouds.H index ecd70150b9..4ed459b150 100644 --- a/applications/solvers/combustion/coalChemistryFoam/createClouds.H +++ b/applications/solvers/combustion/coalChemistryFoam/createClouds.H @@ -1,35 +1,3 @@ -Info<< "\nConstructing interpolation" << endl; - -Info << "\nConstructing gas properties" << endl; -/* -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieConstProperties - ( - dynamic_cast > > >&> - (thermo()).speciesData()[i] - ) - ); -} -*/ -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieReactingProperties - ( - dynamic_cast(thermo()).speciesData()[i] - ) - ); -} - Info<< "\nConstructing coal cloud" << endl; CoalCloud coalParcels ( @@ -37,8 +5,7 @@ CoalCloud coalParcels rho, U, g, - thermo(), - gasProperties + thermo() ); Info<< "\nConstructing limestone cloud" << endl; diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H b/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H index cdec69355e..fcab29c923 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H @@ -1,33 +1,3 @@ -Info << "\nConstructing gas properties" << endl; -/* -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieConstProperties - ( - dynamic_cast > > >&> - (thermo()).speciesData()[i] - ) - ); -} -*/ -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieReactingProperties - ( - dynamic_cast(thermo()).speciesData()[i] - ) - ); -} - Info<< "\nConstructing reacting cloud" << endl; BasicReactingCloud parcels ( @@ -35,6 +5,5 @@ BasicReactingCloud parcels rho, U, g, - thermo(), - gasProperties + thermo() ); diff --git a/applications/solvers/lagrangian/trackedReactingParcelFoam/createClouds.H b/applications/solvers/lagrangian/trackedReactingParcelFoam/createClouds.H index e8a02c79ab..aaf91c81cc 100644 --- a/applications/solvers/lagrangian/trackedReactingParcelFoam/createClouds.H +++ b/applications/solvers/lagrangian/trackedReactingParcelFoam/createClouds.H @@ -1,42 +1,9 @@ -Info<< "\nConstructing interpolation" << endl; - -Info << "\nConstructing gas properties" << endl; -/* -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieConstProperties - ( - dynamic_cast > > >&> - (thermo()).speciesData()[i] - ) - ); -} -*/ -PtrList gasProperties(Y.size()); -forAll(gasProperties, i) -{ - gasProperties.set - ( - i, - new specieReactingProperties - ( - dynamic_cast(thermo()).speciesData()[i] - ) - ); -} - Info<< "\nConstructing reacting cloud" << endl; -trackedReactingCloud reactingParcels +BasicTrackedReactingCloud reactingParcels ( "reactingCloud1", rho, U, g, - thermo(), - gasProperties + thermo() ); diff --git a/applications/solvers/lagrangian/trackedReactingParcelFoam/trackedReactingParcelFoam.C b/applications/solvers/lagrangian/trackedReactingParcelFoam/trackedReactingParcelFoam.C index d730ca44b3..6fa16ea253 100644 --- a/applications/solvers/lagrangian/trackedReactingParcelFoam/trackedReactingParcelFoam.C +++ b/applications/solvers/lagrangian/trackedReactingParcelFoam/trackedReactingParcelFoam.C @@ -31,10 +31,10 @@ Description #include "fvCFD.H" #include "hCombustionThermo.H" #include "turbulenceModel.H" -#include "trackedReactingCloud.H" +#include "BasicTrackedReactingCloud.H" #include "chemistryModel.H" #include "chemistrySolver.H" -#include "ReactingCloudThermoTypes.H" +#include "reactingThermoTypes.H" #include "radiationModel.H" #include "porousZones.H" #include "timeActivatedExplicitMulticomponentPointSource.H" diff --git a/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C index 1b923614d2..6ef69a0d8c 100644 --- a/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C +++ b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C @@ -35,8 +35,7 @@ Foam::CoalCloud::CoalCloud const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& carrierSpecies + hCombustionThermo& thermo ) : ReactingMultiphaseCloud > @@ -45,8 +44,7 @@ Foam::CoalCloud::CoalCloud rho, U, g, - thermo, - carrierSpecies + thermo ) { CoalParcel::readFields(*this); diff --git a/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H index 4dbad0662f..f31db061b3 100644 --- a/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H +++ b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H @@ -44,7 +44,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class CoalCloud Declaration + Class CoalCloud Declaration \*---------------------------------------------------------------------------*/ template @@ -76,8 +76,7 @@ public: const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& gases + hCombustionThermo& thermo ); diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C index 2252ad4b8b..88d5e8a877 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.C @@ -28,6 +28,7 @@ License #include "CompositionModel.H" #include "PhaseChangeModel.H" +#include "multiComponentMixture.H" // * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * // @@ -67,15 +68,14 @@ Foam::ReactingCloud::ReactingCloud const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& carrierSpecies + hCombustionThermo& thermo ) : ThermoCloud(cloudName, rho, U, g, thermo), reactingCloud(), constProps_(this->particleProperties()), carrierThermo_(thermo), - carrierSpecies_(carrierSpecies), + carrierSpecies_(thermo.composition().Y().size()), compositionModel_ ( CompositionModel >::New @@ -95,6 +95,20 @@ Foam::ReactingCloud::ReactingCloud rhoTrans_(thermo.composition().Y().size()), dMassPhaseChange_(0.0) { + // Create the carrier species + forAll(carrierSpecies_, specieI) + { + carrierSpecies_.set + ( + specieI, + new thermoType + ( + dynamic_cast&> + (thermo).speciesData()[specieI] + ) + ); + } + // Set storage for mass source fields and initialise to zero forAll(rhoTrans_, i) { diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H index d0296c0ea0..beeee65e6e 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H @@ -98,7 +98,7 @@ protected: hCombustionThermo& carrierThermo_; //- Gas phase properties - PtrList& carrierSpecies_; + PtrList carrierSpecies_; // References to the cloud sub-models @@ -148,8 +148,7 @@ public: const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& carrierSpecies + hCombustionThermo& thermo ); diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C index 8f86c70859..07953ff884 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.C @@ -38,11 +38,10 @@ Foam::ReactingMultiphaseCloud::ReactingMultiphaseCloud const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList::thermoType>& carrierSpecies + hCombustionThermo& thermo ) : - ReactingCloud(cloudName, rho, U, g, thermo, carrierSpecies), + ReactingCloud(cloudName, rho, U, g, thermo), reactingMultiphaseCloud(), constProps_(this->particleProperties()), devolatilisationModel_ diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H index f0396691b6..0e983c5ec4 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingMultiphaseCloud/ReactingMultiphaseCloud.H @@ -123,9 +123,7 @@ public: const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList::thermoType>& - carrierSpecies + hCombustionThermo& thermo ); diff --git a/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.C b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.C index 01de934df7..1a639b5820 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.C @@ -35,8 +35,7 @@ Foam::BasicReactingCloud::BasicReactingCloud const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& carrierSpecies + hCombustionThermo& thermo ) : ReactingCloud > @@ -45,8 +44,7 @@ Foam::BasicReactingCloud::BasicReactingCloud rho, U, g, - thermo, - carrierSpecies + thermo ) { BasicReactingParcel::readFields(*this); diff --git a/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.H b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.H index 1123ada759..1d98c01145 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/BasicReactingCloud.H @@ -81,8 +81,7 @@ public: const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& carrierSpecies + hCombustionThermo& thermo ); diff --git a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C index 2b20183eca..21056a1f7b 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C @@ -35,8 +35,7 @@ Foam::BasicTrackedReactingCloud::BasicTrackedReactingCloud const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& gases + hCombustionThermo& thermo ) : ReactingCloud > @@ -45,8 +44,7 @@ Foam::BasicTrackedReactingCloud::BasicTrackedReactingCloud rho, U, g, - thermo, - gases + thermo ) { BasicTrackedReactingParcel::readFields(*this); diff --git a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H index 7c92e61276..9c7a31e823 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H @@ -81,8 +81,7 @@ public: const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, - hCombustionThermo& thermo, - PtrList& gases + hCombustionThermo& thermo );