diff --git a/applications/solvers/combustion/coalChemistryFoam/coalChemistryFoam.C b/applications/solvers/combustion/coalChemistryFoam/coalChemistryFoam.C index 3bccc682d33ee4532a832198151c8ef984aaf87b..18dbce775768566b7417bce4ad05d6c59b51ad27 100644 --- a/applications/solvers/combustion/coalChemistryFoam/coalChemistryFoam.C +++ b/applications/solvers/combustion/coalChemistryFoam/coalChemistryFoam.C @@ -35,10 +35,10 @@ Description #include "hCombustionThermo.H" #include "turbulenceModel.H" #include "basicThermoCloud.H" -#include "coalCloud.H" +#include "CoalCloud.H" #include "chemistryModel.H" #include "chemistrySolver.H" -#include "ReactingCloudThermoTypes.H" +#include "reactingThermoTypes.H" #include "timeActivatedExplicitSource.H" #include "radiationModel.H" diff --git a/applications/solvers/combustion/coalChemistryFoam/createClouds.H b/applications/solvers/combustion/coalChemistryFoam/createClouds.H index 34398f6b827944f55ee061156ef779cf9e7ccd5b..ecd70150b937d40d15722792b11db959b7bcafbd 100644 --- a/applications/solvers/combustion/coalChemistryFoam/createClouds.H +++ b/applications/solvers/combustion/coalChemistryFoam/createClouds.H @@ -31,7 +31,7 @@ forAll(gasProperties, i) } Info<< "\nConstructing coal cloud" << endl; -coalCloud coalParcels +CoalCloud<specieReactingProperties> coalParcels ( "coalCloud1", rho, diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 89a2e815f3bf7a7f2f83d1df9234d681380ad3f5..06efa86e2be9c98aeea3de57488b6f36256704a3 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -37,7 +37,7 @@ Description #include "BasicReactingCloud.H" #include "chemistryModel.H" #include "chemistrySolver.H" -#include "ReactingCloudThermoTypes.H" +#include "reactingThermoTypes.H" #include "radiationModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/coalCombustion/coalCloud/coalCloud.C b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C similarity index 79% rename from src/lagrangian/coalCombustion/coalCloud/coalCloud.C rename to src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C index e41b822e38ccb0216cfcf8020b7a930dd8c5173f..1b923614d28eed064d1ec1865a28e80ebf22f67e 100644 --- a/src/lagrangian/coalCombustion/coalCloud/coalCloud.C +++ b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.C @@ -24,53 +24,48 @@ License \*---------------------------------------------------------------------------*/ -#include "coalCloud.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(coalCloud, 0); -}; - +#include "CoalCloud.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::coalCloud::coalCloud +template<class ThermoType> +Foam::CoalCloud<ThermoType>::CoalCloud ( const word& cloudName, const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, hCombustionThermo& thermo, - PtrList<specieReactingProperties>& gases + PtrList<ThermoType>& carrierSpecies ) : - ReactingMultiphaseCloud<coalParcel> + ReactingMultiphaseCloud<CoalParcel<ThermoType> > ( cloudName, rho, U, g, thermo, - gases + carrierSpecies ) { - coalParcel::readFields(*this); + CoalParcel<ThermoType>::readFields(*this); } // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::coalCloud::~coalCloud() +template<class ThermoType> +Foam::CoalCloud<ThermoType>::~CoalCloud() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::coalCloud::writeFields() const +template<class ThermoType> +void Foam::CoalCloud<ThermoType>::writeFields() const { - coalParcel::writeFields(*this); + CoalParcel<ThermoType>::writeFields(*this); } diff --git a/src/lagrangian/coalCombustion/coalCloud/coalCloud.H b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H similarity index 80% rename from src/lagrangian/coalCombustion/coalCloud/coalCloud.H rename to src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H index 4b1d3e852d7b7cf46f9b669cd47f8e729c51f1f0..4dbad0662f9bcb6c4fbfb1787fa94b1e919a3f6c 100644 --- a/src/lagrangian/coalCombustion/coalCloud/coalCloud.H +++ b/src/lagrangian/coalCombustion/CoalCloud/CoalCloud.H @@ -23,20 +23,20 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Class - coalCloud + CoalCloud Description SourceFiles - coalCloud.C + CoalCloud.C \*---------------------------------------------------------------------------*/ -#ifndef coalCloud_H -#define coalCloud_H +#ifndef CoalCloud_H +#define CoalCloud_H #include "ReactingMultiphaseCloud.H" -#include "coalParcel.H" +#include "CoalParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -44,44 +44,45 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class coalCloud Declaration + Class CoalCloud Declaration \*---------------------------------------------------------------------------*/ -class coalCloud +template<class ThermoType> +class CoalCloud : - public ReactingMultiphaseCloud<coalParcel> + public ReactingMultiphaseCloud<CoalParcel<ThermoType> > { // Private Member Functions //- Disallow default bitwise copy construct - coalCloud(const coalCloud&); + CoalCloud(const CoalCloud&); //- Disallow default bitwise assignment - void operator=(const coalCloud&); + void operator=(const CoalCloud&); public: //-Runtime type information - TypeName("coalCloud"); + TypeName("CoalCloud"); // Constructors //- Construct given carrier gas fields - coalCloud + CoalCloud ( const word& cloudName, const volScalarField& rho, const volVectorField& U, const dimensionedVector& g, hCombustionThermo& thermo, - PtrList<specieReactingProperties>& gases + PtrList<ThermoType>& gases ); //- Destructor - ~coalCloud(); + ~CoalCloud(); // Member Functions @@ -97,6 +98,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "CoalCloud.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelIOList.C b/src/lagrangian/coalCombustion/CoalCloud/defineCoalCloud.C similarity index 93% rename from src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelIOList.C rename to src/lagrangian/coalCombustion/CoalCloud/defineCoalCloud.C index 1023c5e1668c9e84f031bc499e138a663de12940..64e60987e096ca35c981c4a48dee3d823fbe6f88 100644 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelIOList.C +++ b/src/lagrangian/coalCombustion/CoalCloud/defineCoalCloud.C @@ -24,15 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "makeParcelIOList.H" - -#include "coalParcel.H" +#include "createReactingCloudTypes.H" +#include "CoalCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeParcelIOList(coalParcel); + createReactingCloudType(CoalCloud); }; diff --git a/src/lagrangian/coalCombustion/coalParcel/coalParcel.C b/src/lagrangian/coalCombustion/CoalParcel/CoalParcel.C similarity index 72% rename from src/lagrangian/coalCombustion/coalParcel/coalParcel.C rename to src/lagrangian/coalCombustion/CoalParcel/CoalParcel.C index 218ce201a057efaede5fedcee3e2b54785126127..edfb66467d390f3a6e71501c53fafe13d2a641e5 100644 --- a/src/lagrangian/coalCombustion/coalParcel/coalParcel.C +++ b/src/lagrangian/coalCombustion/CoalParcel/CoalParcel.C @@ -24,34 +24,26 @@ License \*---------------------------------------------------------------------------*/ -#include "coalParcel.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(coalParcel, 0); - defineParticleTypeNameAndDebug(coalParcel, 0); - defineParcelTypeNameAndDebug(coalParcel, 0); -}; - +#include "CoalParcel.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::coalParcel::coalParcel +template<class ThermoType> +Foam::CoalParcel<ThermoType>::CoalParcel ( - ReactingMultiphaseCloud<coalParcel>& owner, + ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner, const vector& position, const label cellI ) : - ReactingMultiphaseParcel<coalParcel>(owner, position, cellI) + ReactingMultiphaseParcel<CoalParcel<ThermoType> >(owner, position, cellI) {} -Foam::coalParcel::coalParcel +template<class ThermoType> +Foam::CoalParcel<ThermoType>::CoalParcel ( - ReactingMultiphaseCloud<coalParcel>& owner, + ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner, const vector& position, const label cellI, const label typeId, @@ -62,10 +54,12 @@ Foam::coalParcel::coalParcel const scalarField& YGas0, const scalarField& YLiquid0, const scalarField& YSolid0, - const constantProperties& constProps + const typename + ReactingMultiphaseParcel<CoalParcel<ThermoType> >:: + constantProperties& constProps ) : - ReactingMultiphaseParcel<coalParcel> + ReactingMultiphaseParcel<CoalParcel<ThermoType> > ( owner, position, @@ -83,20 +77,22 @@ Foam::coalParcel::coalParcel {} -Foam::coalParcel::coalParcel +template<class ThermoType> +Foam::CoalParcel<ThermoType>::CoalParcel ( - const Cloud<coalParcel>& cloud, + const Cloud<CoalParcel<ThermoType> >& cloud, Istream& is, bool readFields ) : - ReactingMultiphaseParcel<coalParcel>(cloud, is, readFields) + ReactingMultiphaseParcel<CoalParcel<ThermoType> >(cloud, is, readFields) {} // * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * // -Foam::coalParcel::~coalParcel() +template<class ThermoType> +Foam::CoalParcel<ThermoType>::~CoalParcel() {} diff --git a/src/lagrangian/coalCombustion/coalParcel/coalParcel.H b/src/lagrangian/coalCombustion/CoalParcel/CoalParcel.H similarity index 71% rename from src/lagrangian/coalCombustion/coalParcel/coalParcel.H rename to src/lagrangian/coalCombustion/CoalParcel/CoalParcel.H index 34b009530f6803db3c0ac60227decddf53570d1f..a914cfbc9c8037e3cceed8062fd27c36869d5e0b 100644 --- a/src/lagrangian/coalCombustion/coalParcel/coalParcel.H +++ b/src/lagrangian/coalCombustion/CoalParcel/CoalParcel.H @@ -23,19 +23,19 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Class - coalParcel + CoalParcel Description SourceFiles - coalParcel.C - coalParcelIO.C + CoalParcel.C + CoalParcelIO.C \*---------------------------------------------------------------------------*/ -#ifndef coalParcel_H -#define coalParcel_H +#ifndef CoalParcel_H +#define CoalParcel_H #include "ReactingMultiphaseParcel.H" @@ -44,34 +44,42 @@ SourceFiles namespace Foam { +// Forward declaration of classes +template<class ThermoType> +class CoalParcel; + /*---------------------------------------------------------------------------*\ - Class coalParcel Declaration + Class CoalParcel Declaration \*---------------------------------------------------------------------------*/ -class coalParcel +template<class ThermoType> +class CoalParcel : - public ReactingMultiphaseParcel<coalParcel> + public ReactingMultiphaseParcel<CoalParcel<ThermoType> > { public: + //- The type of thermodynamics this parcel was instantiated for + typedef ThermoType thermoType; + // Run-time type information - TypeName("coalParcel"); + TypeName("CoalParcel"); // Constructors //- Construct from owner, position, and cloud owner // Other properties initialised as null - coalParcel + CoalParcel ( - ReactingMultiphaseCloud<coalParcel>& owner, + ReactingMultiphaseCloud<CoalParcel>& owner, const vector& position, const label cellI ); //- Construct from components - coalParcel + CoalParcel ( - ReactingMultiphaseCloud<coalParcel>& owner, + ReactingMultiphaseCloud<CoalParcel>& owner, const vector& position, const label cellI, const label typeId, @@ -82,39 +90,40 @@ public: const scalarField& YGas0, const scalarField& YLiquid0, const scalarField& YSolid0, - const constantProperties& constProps + const typename + ReactingMultiphaseParcel<CoalParcel>:: + constantProperties& constProps ); //- Construct from Istream - coalParcel + CoalParcel ( - const Cloud<coalParcel>& c, + const Cloud<CoalParcel>& c, Istream& is, bool readFields = true ); //- Construct and return a clone - autoPtr<coalParcel> clone() const + autoPtr<CoalParcel> clone() const { - return autoPtr<coalParcel>(new coalParcel(*this)); + return autoPtr<CoalParcel>(new CoalParcel(*this)); } //- Destructor - virtual ~coalParcel(); + virtual ~CoalParcel(); }; -template<> -inline bool contiguous<coalParcel>() -{ - return false; // Now have scalar lists/fields (mass fractions) -} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -} // End namespace Foam +#ifdef NoRepository + #include "CoalParcel.C" +#endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelCompositionModels.C b/src/lagrangian/coalCombustion/CoalParcel/defineCoalParcel.C similarity index 81% rename from src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelCompositionModels.C rename to src/lagrangian/coalCombustion/CoalParcel/defineCoalParcel.C index f6dea63009cc329c15e0b4ed1183d7e2fed83c89..31531d45226562a4fbcf7c562392e71a679737dd 100644 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelCompositionModels.C +++ b/src/lagrangian/coalCombustion/CoalParcel/defineCoalParcel.C @@ -24,24 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "coalParcel.H" -#include "ReactingCloud.H" - -#include "SingleMixtureFraction.H" +#include "createCoalParcelTypes.H" +#include "CoalParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeCompositionModel(ReactingCloud<coalParcel>); - - // Add instances of composition model to the table - makeCompositionModelType - ( - SingleMixtureFraction, - ReactingCloud, - coalParcel - ); + createCoalParcelType(CoalParcel); }; diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C similarity index 53% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C rename to src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C index 53051b08dab9081f3487abd0e30a38ac848a7cac..c2da43a2678f6fb4f4a0e11faf0b2d9d05dcfde3 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C +++ b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C @@ -24,31 +24,43 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingMultiphaseParcelTypes.H" -#include "ThermoCloud.H" +#include "CoalParcel.H" -#include "NoHeatTransfer.H" -#include "RanzMarshall.H" +#include "makeReactingParcelDispersionModels.H" +#include "makeReactingParcelDragModels.H" +#include "makeReactingParcelInjectionModels.H" +#include "makeReactingParcelPatchInteractionModels.H" +#include "makeReactingParcelPostProcessingModels.H" + +#include "makeReactingParcelHeatTransferModels.H" + +#include "makeReactingMultiphaseParcelCompositionModels.H" +#include "makeReactingParcelPhaseChangeModels.H" + +#include "makeReactingMultiphaseParcelDevolatilisationModels.H" +#include "makeCoalParcelSurfaceReactionModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeHeatTransferModel(ThermoCloud<bReactingMultiphaseParcel>); - - // Add instances of heat transfer model to the table - makeHeatTransferModelType - ( - NoHeatTransfer, - ThermoCloud, - bReactingMultiphaseParcel - ); - makeHeatTransferModelType - ( - RanzMarshall, - ThermoCloud, - bReactingMultiphaseParcel - ); + // Kinematic sub-models + createReactingDispersionModelType(CoalParcel); + createReactingDragModelType(CoalParcel); + createReactingInjectionModelType(CoalParcel); + createReactingPatchInteractionModelType(CoalParcel); + createReactingPostProcessingModelType(CoalParcel); + + // Thermo sub-models + createReactingHeatTransferModelType(CoalParcel); + + // Reacting sub-models + createReactingMultiphaseCompositionModelType(CoalParcel); + createReactingPhaseChangeModelType(CoalParcel); + + // Reacting multiphase sub-models + createReactingMultiphaseDevolatilisationModelType(CoalParcel); + createCoalSurfaceReactionModelType(CoalParcel); }; diff --git a/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..1875cc590c27b01d9c314cbf048d55bc69624ec8 --- /dev/null +++ b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H @@ -0,0 +1,97 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeCoalParcelSurfaceReactionModels_H +#define makeCoalParcelSurfaceReactionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingMultiphaseCloud.H" + +#include "NoSurfaceReaction.H" +#include "COxidationDiffusionLimitedRate.H" +#include "COxidationKineticDiffusionLimitedRate.H" +#include "COxidationMurphyShaddix.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createCoalSurfaceReactionModelType(ParcelType) \ + \ + createCoalSurfaceReactionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createCoalSurfaceReactionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createCoalSurfaceReactionModelThermoType(ParcelType, ThermoType) \ + \ + makeSurfaceReactionModel \ + ( \ + ReactingMultiphaseCloud<ParcelType<ThermoType> > \ + ); \ + \ + makeSurfaceReactionModelThermoTypeNew \ + ( \ + NoSurfaceReaction, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeSurfaceReactionModelThermoTypeNew \ + ( \ + COxidationDiffusionLimitedRate, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeSurfaceReactionModelThermoTypeNew \ + ( \ + COxidationKineticDiffusionLimitedRate, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeSurfaceReactionModelThermoTypeNew \ + ( \ + COxidationMurphyShaddix, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/Make/files b/src/lagrangian/coalCombustion/Make/files index 9d9b8b6267f1ac96f2d8e98861b459b67c82509d..4a7cb52d25d614659b0443e27b96d8cc09d742cf 100755 --- a/src/lagrangian/coalCombustion/Make/files +++ b/src/lagrangian/coalCombustion/Make/files @@ -1,25 +1,8 @@ -/* coal cloud */ -coalCloud/coalCloud.C +/* Coal cloud */ +CoalCloud/defineCoalCloud.C -/* coal parcel and sub-models */ -coalParcel/coalParcel.C -coalParcel/defineCoalParcel.C -coalParcel/submodels/makeCoalParcelCompositionModels.C -coalParcel/submodels/makeCoalParcelDevolatilisationModels.C -coalParcel/submodels/makeCoalParcelDragModels.C -coalParcel/submodels/makeCoalParcelDispersionModels.C -coalParcel/submodels/makeCoalParcelInjectionModels.C -coalParcel/submodels/makeCoalParcelHeatTransferModels.C -coalParcel/submodels/makeCoalParcelPhaseChangeModels.C -coalParcel/submodels/makeCoalParcelPatchInteractionModels.C -coalParcel/submodels/makeCoalParcelPostProcessingModels.C -coalParcel/submodels/makeCoalParcelSurfaceReactionModels.C - -submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C -submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C -submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C - -/* IOLists */ -coalParcel/submodels/makeCoalParcelIOList.C +/* Coal parcel and sub-models */ +CoalParcel/defineCoalParcel.C +CoalParcel/submodels/makeCoalParcelSubmodels.C LIB = $(FOAM_LIBBIN)/libcoalCombustion diff --git a/src/lagrangian/coalCombustion/coalParcel/defineCoalParcel.C b/src/lagrangian/coalCombustion/coalParcel/defineCoalParcel.C deleted file mode 100644 index 2c41d8289833f546ba8e834e87332d66dc9140cb..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/defineCoalParcel.C +++ /dev/null @@ -1,50 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "ReactingMultiphaseCloud.H" - -namespace Foam -{ - defineTemplateTypeNameAndDebug(Cloud<coalParcel>, 0); - - defineParcelTypeNameAndDebug(KinematicParcel<coalParcel>, 0); -// defineTemplateTypeNameAndDebug(KinematicParcel<coalParcel>, 0); - defineParcelTypeNameAndDebug(ThermoParcel<coalParcel>, 0); - defineTemplateTypeNameAndDebug(ThermoParcel<coalParcel>, 0); - defineParcelTypeNameAndDebug(ReactingParcel<coalParcel>, 0); - defineTemplateTypeNameAndDebug(ReactingParcel<coalParcel>, 0); - defineParcelTypeNameAndDebug(ReactingMultiphaseParcel<coalParcel>, 0); - defineTemplateTypeNameAndDebug(ReactingMultiphaseParcel<coalParcel>, 0); - - defineParcelTypeNameAndDebug(KinematicCloud<coalParcel>, 0); - defineParcelTypeNameAndDebug(ThermoCloud<coalParcel>, 0); - defineParcelTypeNameAndDebug(ReactingCloud<coalParcel>, 0); - defineParcelTypeNameAndDebug(ReactingMultiphaseCloud<coalParcel>, 0); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDevolatilisationModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDevolatilisationModels.C deleted file mode 100644 index 041a132d663ce94a05af8e8bb8a73f0d16d7e8bc..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDevolatilisationModels.C +++ /dev/null @@ -1,65 +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 "coalParcel.H" -#include "ReactingMultiphaseCloud.H" - -#include "NoDevolatilisation.H" -#include "ConstantRateDevolatilisation.H" -#include "SingleKineticRateDevolatilisation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDevolatilisationModel - ( - ReactingMultiphaseCloud<coalParcel> - ); - - // Add instances of devolatilisation model to the table - makeDevolatilisationModelType - ( - NoDevolatilisation, - ReactingMultiphaseCloud, - coalParcel - ); - makeDevolatilisationModelType - ( - ConstantRateDevolatilisation, - ReactingMultiphaseCloud, - coalParcel - ); - makeDevolatilisationModelType - ( - SingleKineticRateDevolatilisation, - ReactingMultiphaseCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDispersionModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDispersionModels.C deleted file mode 100644 index d6f1cc823227fd1e137fb5901c60368b7165652d..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDispersionModels.C +++ /dev/null @@ -1,68 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "KinematicCloud.H" - -#include "NoDispersion.H" -#include "GradientDispersionRAS.H" -#include "StochasticDispersionRAS.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDispersionModel(KinematicCloud<coalParcel>); - - defineNamedTemplateTypeNameAndDebug - ( - DispersionRASModel<KinematicCloud<coalParcel> >, - 0 - ); - - // Add instances of dispersion model to the table - makeDispersionModelType - ( - NoDispersion, - KinematicCloud, - coalParcel - ); - makeDispersionModelType - ( - GradientDispersionRAS, - KinematicCloud, - coalParcel - ); - makeDispersionModelType - ( - StochasticDispersionRAS, - KinematicCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDragModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDragModels.C deleted file mode 100644 index 162e1d56c2e4295aa5c953502c398ca41b82f516..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelDragModels.C +++ /dev/null @@ -1,45 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "KinematicCloud.H" - -#include "NoDrag.H" -#include "SphereDrag.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDragModel(KinematicCloud<coalParcel>); - - // Add instances of drag model to the table - makeDragModelType(NoDrag, KinematicCloud, coalParcel); - makeDragModelType(SphereDrag, KinematicCloud, coalParcel); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelHeatTransferModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelHeatTransferModels.C deleted file mode 100644 index 92e1a6727006de9d3b56bea6f5752aec21d29425..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelHeatTransferModels.C +++ /dev/null @@ -1,45 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "ThermoCloud.H" - -#include "NoHeatTransfer.H" -#include "RanzMarshall.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeHeatTransferModel(ThermoCloud<coalParcel>); - - // Add instances of heat transfer model to the table - makeHeatTransferModelType(NoHeatTransfer, ThermoCloud, coalParcel); - makeHeatTransferModelType(RanzMarshall, ThermoCloud, coalParcel); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelInjectionModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelInjectionModels.C deleted file mode 100644 index bf68b9947731c02b4b61917d647341f8df1b2896..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelInjectionModels.C +++ /dev/null @@ -1,49 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "ReactingCloud.H" - -#include "ConeInjection.H" -#include "FieldActivatedInjection.H" -#include "ManualInjection.H" -#include "NoInjection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeInjectionModel(KinematicCloud<coalParcel>); - - // Add instances of injection model to the table - makeInjectionModelType(ConeInjection, KinematicCloud, coalParcel); - makeInjectionModelType(FieldActivatedInjection, KinematicCloud, coalParcel); - makeInjectionModelType(ManualInjection, KinematicCloud, coalParcel); - makeInjectionModelType(NoInjection, KinematicCloud, coalParcel); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPatchInteractionModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPatchInteractionModels.C deleted file mode 100644 index 326af23e819679d255f92eedb50a34efcce527f1..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPatchInteractionModels.C +++ /dev/null @@ -1,62 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "ReactingCloud.H" - -#include "LocalInteraction.H" -#include "Rebound.H" -#include "StandardWallInteraction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchInteractionModel(KinematicCloud<coalParcel>); - - // Add instances of patch interaction model to the table - makePatchInteractionModelType - ( - LocalInteraction, - KinematicCloud, - coalParcel - ); - makePatchInteractionModelType - ( - Rebound, - KinematicCloud, - coalParcel - ); - makePatchInteractionModelType - ( - StandardWallInteraction, - KinematicCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPhaseChangeModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPhaseChangeModels.C deleted file mode 100644 index ebacd714bd6a43339ce28bc041cb9c88452ced46..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPhaseChangeModels.C +++ /dev/null @@ -1,58 +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 "coalParcel.H" -#include "ReactingCloud.H" - -#include "NoPhaseChange.H" -#include "LiquidEvaporation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePhaseChangeModel - ( - ReactingCloud<coalParcel> - ); - - // Add instances of phase change model to the table - makePhaseChangeModelType - ( - NoPhaseChange, - ReactingCloud, - coalParcel - ); - makePhaseChangeModelType - ( - LiquidEvaporation, - ReactingCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPostProcessingModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPostProcessingModels.C deleted file mode 100644 index 7a8594eedad63e2d92397d4d1df79b6d3e16f49c..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelPostProcessingModels.C +++ /dev/null @@ -1,55 +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 "coalParcel.H" -#include "KinematicCloud.H" - -#include "NoPostProcessing.H" -#include "StandardPostProcessing.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePostProcessingModel(KinematicCloud<coalParcel>); - - // Add instances of post-processing model to the table - makePostProcessingModelType - ( - NoPostProcessing, - KinematicCloud, - coalParcel - ); - makePostProcessingModelType - ( - StandardPostProcessing, - KinematicCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelSurfaceReactionModels.C b/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelSurfaceReactionModels.C deleted file mode 100644 index ee25d721f38212cebea8da261d3339df2c5cef8b..0000000000000000000000000000000000000000 --- a/src/lagrangian/coalCombustion/coalParcel/submodels/makeCoalParcelSurfaceReactionModels.C +++ /dev/null @@ -1,69 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 1991-2007 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 "coalParcel.H" -#include "ReactingMultiphaseCloud.H" - -#include "NoSurfaceReaction.H" -#include "COxidationDiffusionLimitedRate.H" -#include "COxidationKineticDiffusionLimitedRate.H" -#include "COxidationMurphyShaddix.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeSurfaceReactionModel(ReactingMultiphaseCloud<coalParcel>); - - // Add instances of surface reaction model to the table - makeSurfaceReactionModelType - ( - NoSurfaceReaction, - ReactingMultiphaseCloud, - coalParcel - ); - makeSurfaceReactionModelTypeInstance - ( - COxidationDiffusionLimitedRate, - ReactingMultiphaseCloud, - coalParcel - ); - makeSurfaceReactionModelTypeInstance - ( - COxidationKineticDiffusionLimitedRate, - ReactingMultiphaseCloud, - coalParcel - ); - makeSurfaceReactionModelTypeInstance - ( - COxidationMurphyShaddix, - ReactingMultiphaseCloud, - coalParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/include/createCoalParcelTypes.H b/src/lagrangian/coalCombustion/include/createCoalParcelTypes.H new file mode 100644 index 0000000000000000000000000000000000000000..1584712ba09e8bc69d94ab9edd331acc3b18d325 --- /dev/null +++ b/src/lagrangian/coalCombustion/include/createCoalParcelTypes.H @@ -0,0 +1,98 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef createCoalParcelTypes_H +#define createCoalParcelTypes_H + +#include "makeParcelIOList.H" +#include "reactingThermoTypes.H" +#include "CoalCloud.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createCoalParcelType(ParcelType) \ + \ + createCoalParcelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createCoalParcelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createCoalParcelThermoType(ParcelType, ThermoType) \ + \ + typedef ParcelType<ThermoType> ParcelType##ThermoType; \ + \ + makeParcelIOList(ParcelType##ThermoType); \ + \ + defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \ + defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \ + \ + defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug \ + ( \ + KinematicParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\ + defineParcelTypeNameAndDebug \ + ( \ + ReactingMultiphaseParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineTemplateTypeNameAndDebug \ + ( \ + ReactingMultiphaseParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineParcelTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \ + \ + defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug \ + ( \ + ReactingMultiphaseCloud<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineParcelTypeNameAndDebug(CoalCloud<ParcelType##ThermoType>, 0); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C index 7e8f2a0e2ba320f56e4ae5fbdbcec0ef9bd3a622..f0086ccc478a06cb9d1e0f68561fd2ce228501da 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C @@ -28,18 +28,14 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate +template<class CloudType> +Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ) : - SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > - ( - dict, - owner, - typeName - ), + SurfaceReactionModel<CloudType>(dict, owner, typeName), Sb_(dimensionedScalar(this->coeffDict().lookup("Sb")).value()), D_(dimensionedScalar(this->coeffDict().lookup("D")).value()), CsLocalId_(-1), @@ -63,10 +59,10 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate { FatalErrorIn ( - "COxidationDiffusionLimitedRate" + "COxidationDiffusionLimitedRate<CloudType>" "(" "const dictionary&, " - "ReactingMultiphaseCloud<coalParcel>&" + "CloudType&" ")" ) << "Stoichiometry of reaction, Sb, must be greater than zero" << nl << exit(FatalError); @@ -76,19 +72,23 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::COxidationDiffusionLimitedRate::~COxidationDiffusionLimitedRate() +template<class CloudType> +Foam::COxidationDiffusionLimitedRate<CloudType>:: +~COxidationDiffusionLimitedRate() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::COxidationDiffusionLimitedRate::active() const +template<class CloudType> +bool Foam::COxidationDiffusionLimitedRate<CloudType>::active() const { return true; } -Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate +template<class CloudType> +Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate ( const scalar dt, const label cellI, @@ -110,7 +110,8 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate ) const { // Fraction of remaining combustible material - const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_]; + const label idSolid = CloudType::parcelType::SLD; + const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_]; // Surface combustion active combustible fraction is consumed if (fComb < SMALL) @@ -120,7 +121,7 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate // Local mass fraction of O2 in the carrier phase const scalar YO2 = - owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; + this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; // Change in C mass [kg] scalar dmC = diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H index 4458a6e31e2ad4ee5e37827596322d119916d75a..2467f2a4567965df532d36fa04d0edd0f5effd2a 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H @@ -38,19 +38,23 @@ Description #define COxidationDiffusionLimitedRate_H #include "SurfaceReactionModel.H" -#include "coalParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Forward class declarations +template<class CloudType> +class COxidationDiffusionLimitedRate; + namespace Foam { /*---------------------------------------------------------------------------*\ - Class COxidationDiffusionLimitedRate Declaration + Class COxidationDiffusionLimitedRate Declaration \*---------------------------------------------------------------------------*/ +template<class CloudType> class COxidationDiffusionLimitedRate : - public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > + public SurfaceReactionModel<CloudType> { // Private data @@ -99,7 +103,7 @@ public: COxidationDiffusionLimitedRate ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ); @@ -142,6 +146,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "COxidationDiffusionLimitedRate.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C index 078cd100d73c6f66a7a859de8695fca4bf65b5d8..356abbe327a90149c2de931dc668e6df9169919e 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C @@ -28,14 +28,15 @@ License // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::COxidationKineticDiffusionLimitedRate:: +template<class CloudType> +Foam::COxidationKineticDiffusionLimitedRate<CloudType>:: COxidationKineticDiffusionLimitedRate ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ) : - SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > + SurfaceReactionModel<CloudType> ( dict, owner, @@ -69,7 +70,7 @@ COxidationKineticDiffusionLimitedRate "COxidationKineticDiffusionLimitedRate" "(" "const dictionary&, " - "ReactingMultiphaseCloud<coalParcel>&" + "CloudType&" ")" ) << "Stoichiometry of reaction, Sb, must be greater than zero" << nl << exit(FatalError); @@ -79,20 +80,23 @@ COxidationKineticDiffusionLimitedRate // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::COxidationKineticDiffusionLimitedRate:: +template<class CloudType> +Foam::COxidationKineticDiffusionLimitedRate<CloudType>:: ~COxidationKineticDiffusionLimitedRate() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::COxidationKineticDiffusionLimitedRate::active() const +template<class CloudType> +bool Foam::COxidationKineticDiffusionLimitedRate<CloudType>::active() const { return true; } -Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate +template<class CloudType> +Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate ( const scalar dt, const label cellI, @@ -114,7 +118,8 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate ) const { // Fraction of remaining combustible material - const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_]; + const label idSolid = CloudType::parcelType::SLD; + const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_]; // Surface combustion active combustible fraction is consumed if (fComb < SMALL) @@ -124,7 +129,7 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate // Local mass fraction of O2 in the carrier phase const scalar YO2 = - owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; + this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; // Diffusion rate coefficient const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75); diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H index 1073cb637f8a69e62d45e41f74bd733b0ef4ac7b..099614633dd11fbc1c53dc5b2eaf968f7bac4aff 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H @@ -39,19 +39,24 @@ Description #define COxidationKineticDiffusionLimitedRate_H #include "SurfaceReactionModel.H" -#include "coalParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { + +// Forward class declarations +template<class CloudType> +class COxidationKineticDiffusionLimitedRate; + /*---------------------------------------------------------------------------*\ Class COxidationKineticDiffusionLimitedRate Declaration \*---------------------------------------------------------------------------*/ +template<class CloudType> class COxidationKineticDiffusionLimitedRate : - public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > + public SurfaceReactionModel<CloudType> { // Private data @@ -106,7 +111,7 @@ public: COxidationKineticDiffusionLimitedRate ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ); @@ -149,6 +154,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "COxidationKineticDiffusionLimitedRate.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C index 265b4b66434f42f60731a8bbf6f80b80168f7dc9..b4ff28cd9cff229a07fb7bbee17004d195d36148 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C @@ -28,20 +28,23 @@ License // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -Foam::label Foam::COxidationMurphyShaddix::maxIters_ = 1000; +template<class CloudType> +Foam::label Foam::COxidationMurphyShaddix<CloudType>::maxIters_ = 1000; -Foam::scalar Foam::COxidationMurphyShaddix::tolerance_ = 1e-06; +template<class CloudType> +Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::tolerance_ = 1e-06; // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::COxidationMurphyShaddix::COxidationMurphyShaddix +template<class CloudType> +Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ) : - SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > + SurfaceReactionModel<CloudType> ( dict, owner, @@ -76,19 +79,22 @@ Foam::COxidationMurphyShaddix::COxidationMurphyShaddix // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::COxidationMurphyShaddix::~COxidationMurphyShaddix() +template<class CloudType> +Foam::COxidationMurphyShaddix<CloudType>::~COxidationMurphyShaddix() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::COxidationMurphyShaddix::active() const +template<class CloudType> +bool Foam::COxidationMurphyShaddix<CloudType>::active() const { return true; } -Foam::scalar Foam::COxidationMurphyShaddix::calculate +template<class CloudType> +Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate ( const scalar dt, const label cellI, @@ -110,7 +116,8 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate ) const { // Fraction of remaining combustible material - const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_]; + const label idSolid = CloudType::parcelType::SLD; + const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_]; // Surface combustion until combustible fraction is consumed if (fComb < SMALL) @@ -120,7 +127,7 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate // Cell carrier phase O2 species density [kg/m^3] const scalar rhoO2 = - rhoc*owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; + rhoc*this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI]; if (rhoO2 < SMALL) { @@ -186,8 +193,10 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate if (iter > maxIters_) { - WarningIn("scalar Foam::COxidationMurphyShaddix::calculate(...)") - << "iter limit reached (" << maxIters_ << ")" << nl << endl; + WarningIn + ( + "scalar Foam::COxidationMurphyShaddix<CloudType>::calculate(...)" + ) << "iter limit reached (" << maxIters_ << ")" << nl << endl; } // Calculate the number of molar units reacted diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H index bc026db3646680cd1d9bac14d0f6f65d702c6544..e08516d2dfeb0722662b496f15f48763f44f4106 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H @@ -34,19 +34,24 @@ Description #define COxidationMurphyShaddix_H #include "SurfaceReactionModel.H" -#include "coalParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { + +// Forward class declarations +template<class CloudType> +class COxidationMurphyShaddix; + /*---------------------------------------------------------------------------*\ Class COxidationMurphyShaddix Declaration \*---------------------------------------------------------------------------*/ +template<class CloudType> class COxidationMurphyShaddix : - public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> > + public SurfaceReactionModel<CloudType> { // Private data @@ -122,7 +127,7 @@ public: COxidationMurphyShaddix ( const dictionary& dict, - ReactingMultiphaseCloud<coalParcel>& owner + CloudType& owner ); @@ -165,6 +170,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "COxidationMurphyShaddix.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/lagrangian/intermediate/Make/files b/src/lagrangian/intermediate/Make/files index 2d8790fd763766c60294bb5f92f6af3764f755ba..c67e9e606d3753d3ca4d865c672526d4e6831a3c 100644 --- a/src/lagrangian/intermediate/Make/files +++ b/src/lagrangian/intermediate/Make/files @@ -2,32 +2,33 @@ PARCELS=parcels DERIVEDPARCELS=$(PARCELS)/derived BASEPARCELS=$(PARCELS)/baseClasses -/* Parcels */ -$(DERIVEDPARCELS)/basicKinematicParcel/basicKinematicParcel.C -$(DERIVEDPARCELS)/basicThermoParcel/basicThermoParcel.C -/* $(DERIVEDPARCELS)/basicReactingParcel/basicReactingParcel.C */ -/* $(DERIVEDPARCELS)/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C */ -/* $(DERIVEDPARCELS)/trackedReactingParcel/trackedReactingParcel.C */ +CLOUDS=clouds +DERIVEDCLOUDS=$(CLOUDS)/derived +BASECLOUDS=$(CLOUDS)/baseClasses + +/* Parcels */ $(BASEPARCELS)/reactingParcel/reactingParcel.C + /* Cloud base classes */ -clouds/baseClasses/kinematicCloud/kinematicCloud.C -clouds/baseClasses/thermoCloud/thermoCloud.C -clouds/baseClasses/reactingCloud/reactingCloud.C -clouds/baseClasses/reactingMultiphaseCloud/reactingMultiphaseCloud.C +$(BASECLOUDS)/kinematicCloud/kinematicCloud.C +$(BASECLOUDS)/thermoCloud/thermoCloud.C +$(BASECLOUDS)/reactingCloud/reactingCloud.C +$(BASECLOUDS)/reactingMultiphaseCloud/reactingMultiphaseCloud.C /* Cloud container/injection mechanisms */ -clouds/derived/basicKinematicCloud/basicKinematicCloud.C -clouds/derived/basicThermoCloud/basicThermoCloud.C -/* clouds/derived/basicReactingCloud/basicReactingCloud.C */ -/* clouds/derived/basicReactingMultiphaseCloud/basicReactingMultiphaseCloud.C */ -/* clouds/derived/trackedReactingCloud/trackedReactingCloud.C */ +$(DERIVEDCLOUDS)/basicKinematicCloud/basicKinematicCloud.C +$(DERIVEDCLOUDS)/basicThermoCloud/basicThermoCloud.C +$(DERIVEDCLOUDS)/BasicReactingCloud/defineBasicReactingCloud.C +$(DERIVEDCLOUDS)/BasicReactingMultiphaseCloud/defineBasicReactingMultiphaseCloud.C +$(DERIVEDCLOUDS)/BasicTrackedReactingCloud/defineBasicTrackedReactingCloud.C /* kinematic parcel sub-models */ KINEMATICPARCEL=$(DERIVEDPARCELS)/basicKinematicParcel +$(KINEMATICPARCEL)/basicKinematicParcel.C $(KINEMATICPARCEL)/defineBasicKinematicParcel.C $(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDispersionModels.C $(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDragModels.C @@ -38,6 +39,7 @@ $(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelPostProcessingModels.C /* thermo parcel sub-models */ THERMOPARCEL=$(DERIVEDPARCELS)/basicThermoParcel +$(THERMOPARCEL)/basicThermoParcel.C $(THERMOPARCEL)/defineBasicThermoParcel.C $(THERMOPARCEL)/submodels/makeBasicThermoParcelDispersionModels.C $(THERMOPARCEL)/submodels/makeBasicThermoParcelDragModels.C @@ -50,42 +52,19 @@ $(THERMOPARCEL)/submodels/makeBasicThermoParcelPostProcessingModels.C /* reacting parcel sub-models */ REACTINGPARCEL=$(DERIVEDPARCELS)/BasicReactingParcel $(REACTINGPARCEL)/defineBasicReactingParcel.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelCompositionModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDispersionModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDragModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelHeatTransferModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelInjectionModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPatchInteractionModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPhaseChangeModels.C -$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPostProcessingModels.C - - -/* reacting multiphase parcel sub-models */ -REACTINGMPPARCEL=$(DERIVEDPARCELS)/BasicReactingMultiphaseParcel -$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.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/makeBasicReactingMultiphaseParcelPatchInteractionModels.C -$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C -$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPostProcessingModels.C -$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C +$(REACTINGPARCEL)/submodels/makeBasicReactingParcelSubmodels.C /* tracked reacting parcel sub-models */ TRACKEDREACTINGPARCEL=$(DERIVEDPARCELS)/BasicTrackedReactingParcel $(TRACKEDREACTINGPARCEL)/defineTrackedReactingParcel.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelCompositionModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelDispersionModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelDragModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelHeatTransferModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelInjectionModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPatchInteractionModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPhaseChangeModels.C -$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPostProcessingModels.C +$(TRACKEDREACTINGPARCEL)/submodels/makeBasicTrackedReactingParcelSubmodels.C + + +/* reacting multiphase parcel sub-models */ +/*REACTINGMPPARCEL=$(DERIVEDPARCELS)/BasicReactingMultiphaseParcel +$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C +$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseSubmodels.C /* bolt-on models */ diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H index 1ac2fb9af5e33fc51182937ae945bf66ecbc7af3..d0296c0ea0b879bd854df47320fe2d1abf44c0a1 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloud.H @@ -47,8 +47,6 @@ SourceFiles #include "ThermoCloud.H" #include "reactingCloud.H" -#include "ReactingCloudThermoTypes.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/defineBasicReactingCloud.C similarity index 80% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C rename to src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/defineBasicReactingCloud.C index ef686198d6a9095c89f562ace36f59c72339769d..ca5b9e809062d6fac2137e44c146fe5c59beea21 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelCompositionModels.C +++ b/src/lagrangian/intermediate/clouds/derived/BasicReactingCloud/defineBasicReactingCloud.C @@ -24,24 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "SinglePhaseMixture.H" +#include "createReactingCloudTypes.H" +#include "BasicReactingCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeCompositionModel(ReactingCloud<bReactingParcel>); - - // Add instances of composition model to the table - makeCompositionModelType - ( - SinglePhaseMixture, - ReactingCloud, - bReactingParcel - ); + createReactingCloudType(BasicReactingCloud); }; diff --git a/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/BasicReactingMultiphaseCloud.H b/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/BasicReactingMultiphaseCloud.H index f1d94e4d8c8d5aa2640b59294ac41d291b124eaf..cfabcd692748e8ff174cff3b6117738feb1c1a64 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/BasicReactingMultiphaseCloud.H +++ b/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/BasicReactingMultiphaseCloud.H @@ -55,7 +55,7 @@ class BasicReactingMultiphaseCloud; template<class ThermoType> class BasicReactingMultiphaseCloud : - public ReactingMultiphaseCloud<BasicReactingMultiphaseParcel> + public ReactingMultiphaseCloud<BasicReactingMultiphaseParcel<ThermoType> > { // Private Member Functions diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDragModels.C b/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/defineBasicReactingMultiphaseCloud.C similarity index 80% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDragModels.C rename to src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/defineBasicReactingMultiphaseCloud.C index 6d51de8d7d062079f05dcf8f79b36fe08f3e4844..24030e268608f32e63250ec68a718af89054127a 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDragModels.C +++ b/src/lagrangian/intermediate/clouds/derived/BasicReactingMultiphaseCloud/defineBasicReactingMultiphaseCloud.C @@ -24,21 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoDrag.H" -#include "SphereDrag.H" +#include "createReactingCloudTypes.H" +#include "BasicReactingMultiphaseCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeDragModel(KinematicCloud<bReactingParcel>); - - // Add instances of drag model to the table - makeDragModelType(NoDrag, KinematicCloud, bReactingParcel); - makeDragModelType(SphereDrag, KinematicCloud, bReactingParcel); + createReactingCloudType(BasicReactingMultiphaseCloud); }; diff --git a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C index ecd0a267d846c0e01e03959730c1f798fce3de09..2b20183eca9ed20a9fc61c2e9d1f87cc503ad2cd 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C +++ b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.C @@ -24,12 +24,12 @@ License \*---------------------------------------------------------------------------*/ -#include "trackedReactingCloud.H" +#include "BasicTrackedReactingCloud.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class ThermoType> -Foam::trackedReactingCloud<ThermoType>::trackedReactingCloud +Foam::BasicTrackedReactingCloud<ThermoType>::BasicTrackedReactingCloud ( const word& cloudName, const volScalarField& rho, @@ -56,14 +56,14 @@ Foam::trackedReactingCloud<ThermoType>::trackedReactingCloud // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // template<class ThermoType> -Foam::trackedReactingCloud<ThermoType>::~trackedReactingCloud() +Foam::BasicTrackedReactingCloud<ThermoType>::~BasicTrackedReactingCloud() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template<class ThermoType> -void Foam::trackedReactingCloud<ThermoType>::writeFields() const +void Foam::BasicTrackedReactingCloud<ThermoType>::writeFields() const { BasicTrackedReactingParcel<ThermoType>::writeFields(*this); } diff --git a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H index 87d22a9647368c3bbf64118fcfe63810f6f682f0..7c92e61276ae7d5cb13b5415f537874a6579da98 100644 --- a/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H +++ b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/BasicTrackedReactingCloud.H @@ -23,18 +23,18 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Class - Foam::trackedReactingCloud + Foam::BasicTrackedReactingCloud Description Reacting cloud templated on the reacting parcel SourceFiles - trackedReactingCloud.C + BasicTrackedReactingCloud.C \*---------------------------------------------------------------------------*/ -#ifndef trackedReactingCloud_H -#define trackedReactingCloud_H +#ifndef BasicTrackedReactingCloud_H +#define BasicTrackedReactingCloud_H #include "ReactingCloud.H" #include "BasicTrackedReactingParcel.H" @@ -46,36 +46,36 @@ namespace Foam // Forward declaration of classes template<class ThermoType> -class trackedReactingCloud; +class BasicTrackedReactingCloud; /*---------------------------------------------------------------------------*\ - Class trackedReactingCloud Declaration + Class BasicTrackedReactingCloud Declaration \*---------------------------------------------------------------------------*/ template<class ThermoType> -class trackedReactingCloud +class BasicTrackedReactingCloud : public ReactingCloud<BasicTrackedReactingParcel<ThermoType> > { // Private Member Functions //- Disallow default bitwise copy construct - trackedReactingCloud(const trackedReactingCloud&); + BasicTrackedReactingCloud(const BasicTrackedReactingCloud&); //- Disallow default bitwise assignment - void operator=(const trackedReactingCloud&); + void operator=(const BasicTrackedReactingCloud&); public: //- Runtime type information - TypeName("trackedReactingCloud"); + TypeName("BasicTrackedReactingCloud"); // Constructors //- Construct given carrier gas fields - trackedReactingCloud + BasicTrackedReactingCloud ( const word& cloudName, const volScalarField& rho, @@ -87,7 +87,7 @@ public: //- Destructor - ~trackedReactingCloud(); + ~BasicTrackedReactingCloud(); // Member Functions @@ -104,7 +104,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "trackedReactingCloud.C" + #include "BasicTrackedReactingCloud.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/basicTrackedReactingParcelTypes.H b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/defineBasicTrackedReactingCloud.C similarity index 80% rename from src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/basicTrackedReactingParcelTypes.H rename to src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/defineBasicTrackedReactingCloud.C index 9a30c248c7739fd3e9edf86785001940a9da79b2..6f6700f198dde3bc183e00822f3d2b1b963ffd50 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/basicTrackedReactingParcelTypes.H +++ b/src/lagrangian/intermediate/clouds/derived/BasicTrackedReactingCloud/defineBasicTrackedReactingCloud.C @@ -24,22 +24,15 @@ License \*---------------------------------------------------------------------------*/ -#ifndef basicTrackedReactingParcelTypes_H -#define basicTrackedReactingParcelTypes_H - -#include "BasicTrackedReactingParcel.H" -#include "ReactingCloudThermoTypes.H" +#include "createReactingCloudTypes.H" +#include "BasicTrackedReactingCloud.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - typedef BasicTrackedReactingParcel<specieReactingProperties> - bTrackedReactingParcel; + createReactingCloudType(BasicTrackedReactingCloud); }; -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif // ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/basicReactingMultiphaseParcelTypes.H b/src/lagrangian/intermediate/clouds/include/createReactingCloudTypes.H similarity index 69% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/basicReactingMultiphaseParcelTypes.H rename to src/lagrangian/intermediate/clouds/include/createReactingCloudTypes.H index d693682796b74c5143bd8f6c87d8df9240222375..c298abd044828a1871cba3ae641b5f784e73da52 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/basicReactingMultiphaseParcelTypes.H +++ b/src/lagrangian/intermediate/clouds/include/createReactingCloudTypes.H @@ -24,19 +24,23 @@ License \*---------------------------------------------------------------------------*/ -#ifndef basicReactingMultiphaseParcelTypes_H -#define basicReactingMultiphaseParcelTypes_H +#ifndef createReactingCloudTypes_H +#define createReactingCloudTypes_H -#include "BasicReactingMultiphaseParcel.H" -#include "ReactingCloudThermoTypes.H" +#include "reactingThermoTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -namespace Foam -{ - typedef BasicReactingMultiphaseParcel<specieReactingProperties> - bReactingMultiphaseParcel; -}; +#define createReactingCloudType(CloudType) \ + \ + createReactingCloudThermoType(CloudType, specieConstProperties); \ + createReactingCloudThermoType(CloudType, specieReactingProperties); + + +#define createReactingCloudThermoType(CloudType, ThermoType) \ + \ + defineTemplateTypeNameAndDebug(CloudType<ThermoType>, 0); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/defineBasicReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/defineBasicReactingMultiphaseParcel.C index d022f38f20ab544dbe8dcbb723f2232ad878c526..12df07fbbc6c3d3c160f0f5f458a0a5d6613fa37 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/defineBasicReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/defineBasicReactingMultiphaseParcel.C @@ -24,79 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingMultiphaseParcelTypes.H" -#include "ReactingMultiphaseCloud.H" +#include "createReactingMultiphaseParcelTypes.H" +#include "BasicReactingMultiphaseParcel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - defineTemplateTypeNameAndDebug(bReactingMultiphaseParcel, 0); - - defineTemplateTypeNameAndDebug(Particle<bReactingMultiphaseParcel>, 0); - - defineTemplateTypeNameAndDebug(Cloud<bReactingMultiphaseParcel>, 0); - - defineParcelTypeNameAndDebug - ( - KinematicParcel<bReactingMultiphaseParcel>, - 0 - ); - defineTemplateTypeNameAndDebug - ( - KinematicParcel<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ThermoParcel<bReactingMultiphaseParcel>, - 0 - ); - defineTemplateTypeNameAndDebug - ( - ThermoParcel<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ReactingParcel<bReactingMultiphaseParcel>, - 0 - ); - defineTemplateTypeNameAndDebug - ( - ReactingParcel<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ReactingMultiphaseParcel<bReactingMultiphaseParcel>, - 0 - ); - defineTemplateTypeNameAndDebug - ( - ReactingMultiphaseParcel<bReactingMultiphaseParcel>, - 0 - ); - - defineParcelTypeNameAndDebug - ( - KinematicCloud<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ThermoCloud<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ReactingCloud<bReactingMultiphaseParcel>, - 0 - ); - defineParcelTypeNameAndDebug - ( - ReactingMultiphaseCloud<bReactingMultiphaseParcel>, - 0 - ); - + createReactingMultiphaseParcelType(BasicReactingMultiphaseParcel); }; diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C deleted file mode 100644 index c15640979320be5de510ed227c457516aea957b8..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C +++ /dev/null @@ -1,51 +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 "basicReactingMultiphaseParcelTypes.H" -#include "ReactingCloud.H" - -#include "SingleMixtureFraction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeCompositionModel - ( - ReactingCloud<bReactingMultiphaseParcel> - ); - - // Add instances of composition model to the table - makeCompositionModelType - ( - SingleMixtureFraction, - ReactingCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C deleted file mode 100644 index 8bd2d5b9610e7d07c91edf8f3a261425a4faf9a2..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C +++ /dev/null @@ -1,65 +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 "basicReactingMultiphaseParcelTypes.H" -#include "ReactingMultiphaseCloud.H" - -#include "NoDevolatilisation.H" -#include "ConstantRateDevolatilisation.H" -#include "SingleKineticRateDevolatilisation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDevolatilisationModel - ( - ReactingMultiphaseCloud<bReactingMultiphaseParcel> - ); - - // Add instances of devolatilisation model to the table - makeDevolatilisationModelType - ( - NoDevolatilisation, - ReactingMultiphaseCloud, - bReactingMultiphaseParcel - ); - makeDevolatilisationModelType - ( - ConstantRateDevolatilisation, - ReactingMultiphaseCloud, - bReactingMultiphaseParcel - ); - makeDevolatilisationModelType - ( - SingleKineticRateDevolatilisation, - ReactingMultiphaseCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C deleted file mode 100644 index 9cda16d3f4b21eddd7fac850466b2cff66f4c9af..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDragModels.C +++ /dev/null @@ -1,50 +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 "basicReactingMultiphaseParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoDrag.H" -#include "SphereDrag.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDragModel(KinematicCloud<bReactingMultiphaseParcel>); - - // Add instances of drag model to the table - makeDragModelType(NoDrag, KinematicCloud, bReactingMultiphaseParcel); - makeDragModelType - ( - SphereDrag, - KinematicCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C deleted file mode 100644 index 03ebbf29f55b5a2f73f319291e0e9d0b068220d7..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C +++ /dev/null @@ -1,69 +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 "basicReactingMultiphaseParcelTypes.H" -#include "ReactingCloud.H" - -#include "ConeInjection.H" -#include "FieldActivatedInjection.H" -#include "ManualInjection.H" -#include "NoInjection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeInjectionModel(KinematicCloud<bReactingMultiphaseParcel>); - - // Add instances of injection model to the table - makeInjectionModelType - ( - ConeInjection, - KinematicCloud, - bReactingMultiphaseParcel - ); - makeInjectionModelType - ( - FieldActivatedInjection, - KinematicCloud, - bReactingMultiphaseParcel - ); - makeInjectionModelType - ( - ManualInjection, - KinematicCloud, - bReactingMultiphaseParcel - ); - makeInjectionModelType - ( - NoInjection, - KinematicCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPatchInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPatchInteractionModels.C deleted file mode 100644 index 67f00c34e6c5977ed5de6d5a4587d4a6c189455c..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPatchInteractionModels.C +++ /dev/null @@ -1,62 +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 "basicReactingMultiphaseParcelTypes.H" -#include "KinematicCloud.H" - -#include "LocalInteraction.H" -#include "Rebound.H" -#include "StandardWallInteraction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchInteractionModel(KinematicCloud<bReactingMultiphaseParcel>); - - // Add instances of patch interaction model to the table - makePatchInteractionModelType - ( - LocalInteraction, - KinematicCloud, - bReactingMultiphaseParcel - ); - makePatchInteractionModelType - ( - Rebound, - KinematicCloud, - bReactingMultiphaseParcel - ); - makePatchInteractionModelType - ( - StandardWallInteraction, - KinematicCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C deleted file mode 100644 index 2fb67a6f83109f39c7406651e16e363613ff5aa6..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C +++ /dev/null @@ -1,58 +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 "basicReactingMultiphaseParcelTypes.H" -#include "ReactingCloud.H" - -#include "NoPhaseChange.H" -#include "LiquidEvaporation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePhaseChangeModel - ( - ReactingCloud<bReactingMultiphaseParcel> - ); - - // Add instances of phase change model to the table - makePhaseChangeModelType - ( - NoPhaseChange, - ReactingCloud, - bReactingMultiphaseParcel - ); - makePhaseChangeModelType - ( - LiquidEvaporation, - ReactingCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPostProcessingModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPostProcessingModels.C deleted file mode 100644 index 96dfb6c6106c437f79dee3367f04e81f6c13d239..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelPostProcessingModels.C +++ /dev/null @@ -1,55 +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 "basicReactingMultiphaseParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoPostProcessing.H" -#include "StandardPostProcessing.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePostProcessingModel(KinematicCloud<bReactingMultiphaseParcel>); - - // Add instances of post-processing model to the table - makePostProcessingModelType - ( - NoPostProcessing, - KinematicCloud, - bReactingMultiphaseParcel - ); - makePostProcessingModelType - ( - StandardPostProcessing, - KinematicCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C new file mode 100644 index 0000000000000000000000000000000000000000..c5a665fe0174872acdcae29bc1e29e8ad308b721 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 "BasicReactingMultiphaseParcel.H" + +#include "makeReactingParcelDispersionModels.H" +#include "makeReactingParcelDragModels.H" +#include "makeReactingParcelInjectionModels.H" +#include "makeReactingParcelPatchInteractionModels.H" +#include "makeReactingParcelPostProcessingModels.H" + +#include "makeReactingParcelHeatTransferModels.H" + +#include "makeReactingMultiphaseParcelCompositionModels.H" +#include "makeReactingParcelPhaseChangeModels.H" + +#include "makeReactingMultiphaseParcelDevolatilisationModels.H" +#include "makeReactingMultiphaseParcelSurfaceReactionModels.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + // Kinematic sub-models + createReactingDispersionModelType(BasicReactingMultiphaseParcel); + createReactingDragModelType(BasicReactingMultiphaseParcel); + createReactingInjectionModelType(BasicReactingMultiphaseParcel); + createReactingPatchInteractionModelType(BasicReactingMultiphaseParcel); + createReactingPostProcessingModelType(BasicReactingMultiphaseParcel); + + // Thermo sub-models + createReactingHeatTransferModelType(BasicReactingMultiphaseParcel); + + // Reacting sub-models + createReactingMultiphaseCompositionModelType(BasicReactingMultiphaseParcel); + createReactingPhaseChangeModelType(BasicReactingMultiphaseParcel); + + // Reacting multiphase sub-models + createReactingMultiphaseDevolatilisationModelType + ( + BasicReactingMultiphaseParcel + ); + createReactingMultiphaseSurfaceReactionModelType + ( + BasicReactingMultiphaseParcel + ); +}; + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C deleted file mode 100644 index 779a90c43f6cfb843c988e82f25464ec4b73a541..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C +++ /dev/null @@ -1,51 +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 "basicReactingMultiphaseParcelTypes.H" -#include "ReactingMultiphaseCloud.H" - -#include "NoSurfaceReaction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeSurfaceReactionModel - ( - ReactingMultiphaseCloud<bReactingMultiphaseParcel> - ); - - // Add instances of surface reaction model to the table - makeSurfaceReactionModelType - ( - NoSurfaceReaction, - ReactingMultiphaseCloud, - bReactingMultiphaseParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelCompositionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelCompositionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..9f7a15cd43a12d8907449c7bad5a7b78de032150 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelCompositionModels.H @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingMultiphaseParcelCompositionModels_H +#define makeReactingMultiphaseParcelCompositionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingCloud.H" + +#include "SingleMixtureFraction.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingMultiphaseCompositionModelType(ParcelType) \ + \ + createReactingMultiphaseCompositionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingMultiphaseCompositionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingMultiphaseCompositionModelThermoType(ParcelType, ThermoType)\ + \ + makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \ + \ + makeCompositionModelThermoType \ + ( \ + SingleMixtureFraction, \ + ReactingCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelDevolatilisationModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelDevolatilisationModels.H new file mode 100644 index 0000000000000000000000000000000000000000..5a3a32e16b250b439d88de09265770882155f655 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelDevolatilisationModels.H @@ -0,0 +1,89 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingMultiphaseParcelDevolatilisationModels_H +#define makeReactingMultiphaseParcelDevolatilisationModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingMultiphaseCloud.H" + +#include "ConstantRateDevolatilisation.H" +#include "NoDevolatilisation.H" +#include "SingleKineticRateDevolatilisation.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingMultiphaseDevolatilisationModelType(ParcelType) \ + \ + createReactingMultiphaseDevolatilisationModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingMultiphaseDevolatilisationModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingMultiphaseDevolatilisationModelThermoType(ParcelType, ThermoType)\ + \ + makeDevolatilisationModel \ + ( \ + ReactingMultiphaseCloud<ParcelType<ThermoType> > \ + ); \ + \ + makeDevolatilisationModelThermoType \ + ( \ + ConstantRateDevolatilisation, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeDevolatilisationModelThermoType \ + ( \ + NoDevolatilisation, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeDevolatilisationModelThermoType \ + ( \ + SingleKineticRateDevolatilisation, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelSurfaceReactionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelSurfaceReactionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..bf04b132d6e56bac4872f534f4d64a4c88094deb --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelSurfaceReactionModels.H @@ -0,0 +1,73 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingMultiphaseParcelSurfaceReactionModels_H +#define makeReactingMultiphaseParcelSurfaceReactionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingMultiphaseCloud.H" + +#include "NoSurfaceReaction.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingMultiphaseSurfaceReactionModelType(ParcelType) \ + \ + createReactingMultiphaseSurfaceReactionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingMultiphaseSurfaceReactionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingMultiphaseSurfaceReactionModelThermoType(ParcelType, ThermoType)\ + \ + makeSurfaceReactionModel \ + ( \ + ReactingMultiphaseCloud<ParcelType<ThermoType> > \ + ); \ + \ + makeSurfaceReactionModelThermoType \ + ( \ + NoSurfaceReaction, \ + ReactingMultiphaseCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/defineBasicReactingParcel.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/defineBasicReactingParcel.C index 6e64dd43ceb95e3eb7df961aad43f260eed5c886..2c2e78630d691b2d398b09cbb32587da5e617e3d 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/defineBasicReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/defineBasicReactingParcel.C @@ -24,7 +24,8 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingParcelTypes.H" +#include "createReactingParcelTypes.H" +#include "BasicReactingParcel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C deleted file mode 100644 index 81c8562f507713e41094ecda00e04fc1d7234ea9..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelDispersionModels.C +++ /dev/null @@ -1,68 +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 "basicReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoDispersion.H" -#include "GradientDispersionRAS.H" -#include "StochasticDispersionRAS.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDispersionModel(KinematicCloud<bReactingParcel>); - - defineNamedTemplateTypeNameAndDebug - ( - DispersionRASModel<KinematicCloud<bReactingParcel> >, - 0 - ); - - // Add instances of dispersion model to the table - makeDispersionModelType - ( - NoDispersion, - KinematicCloud, - bReactingParcel - ); - makeDispersionModelType - ( - GradientDispersionRAS, - KinematicCloud, - bReactingParcel - ); - makeDispersionModelType - ( - StochasticDispersionRAS, - KinematicCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C deleted file mode 100644 index fbb32db8e4aab95014bbc016a215b24420912d67..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelHeatTransferModels.C +++ /dev/null @@ -1,55 +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 "basicReactingParcelTypes.H" -#include "ThermoCloud.H" - -#include "NoHeatTransfer.H" -#include "RanzMarshall.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeHeatTransferModel(ThermoCloud<bReactingParcel>); - - // Add instances of heat transfer model to the table - makeHeatTransferModelType - ( - NoHeatTransfer, - ThermoCloud, - bReactingParcel - ); - makeHeatTransferModelType - ( - RanzMarshall, - ThermoCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C deleted file mode 100644 index 7402b25ecc90b1bad5eae4710d529ff0f82eee31..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelInjectionModels.C +++ /dev/null @@ -1,76 +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 "basicReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "ConeInjection.H" -#include "FieldActivatedInjection.H" -#include "ManualInjection.H" -#include "NoInjection.H" -#include "ReactingLookupTableInjection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeInjectionModel(KinematicCloud<bReactingParcel>); - - // Add instances of injection model to the table - makeInjectionModelType - ( - ConeInjection, - KinematicCloud, - bReactingParcel - ); - makeInjectionModelType - ( - FieldActivatedInjection, - KinematicCloud, - bReactingParcel - ); - makeInjectionModelType - ( - ManualInjection, - KinematicCloud, - bReactingParcel - ); - makeInjectionModelType - ( - NoInjection, - KinematicCloud, - bReactingParcel - ); - makeInjectionModelType - ( - ReactingLookupTableInjection, - KinematicCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPatchInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPatchInteractionModels.C deleted file mode 100644 index f0abeae98b160540ff12f96f1a240d0cde3e7ec3..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPatchInteractionModels.C +++ /dev/null @@ -1,62 +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 "basicReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "LocalInteraction.H" -#include "Rebound.H" -#include "StandardWallInteraction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchInteractionModel(KinematicCloud<bReactingParcel>); - - // Add instances of patch interaction model to the table - makePatchInteractionModelType - ( - LocalInteraction, - KinematicCloud, - bReactingParcel - ); - makePatchInteractionModelType - ( - Rebound, - KinematicCloud, - bReactingParcel - ); - makePatchInteractionModelType - ( - StandardWallInteraction, - KinematicCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C deleted file mode 100644 index c0190acefae1ede56e42897dc739a4bf3ab7baf8..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPhaseChangeModels.C +++ /dev/null @@ -1,55 +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 "basicReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "NoPhaseChange.H" -#include "LiquidEvaporation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePhaseChangeModel(ReactingCloud<bReactingParcel>); - - // Add instances of phase change model to the table - makePhaseChangeModelType - ( - NoPhaseChange, - ReactingCloud, - bReactingParcel - ); - makePhaseChangeModelType - ( - LiquidEvaporation, - ReactingCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPostProcessingModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPostProcessingModels.C deleted file mode 100644 index cd8bd46b23409eb31426c216be0a436d2eeca76c..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelPostProcessingModels.C +++ /dev/null @@ -1,55 +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 "basicReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoPostProcessing.H" -#include "StandardPostProcessing.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePostProcessingModel(KinematicCloud<bReactingParcel>); - - // Add instances of post-processing model to the table - makePostProcessingModelType - ( - NoPostProcessing, - KinematicCloud, - bReactingParcel - ); - makePostProcessingModelType - ( - StandardPostProcessing, - KinematicCloud, - bReactingParcel - ); -}; - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C similarity index 58% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C rename to src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C index 6de7b5da1adee0c7375baf90d444b1aa03234749..18dcc54fd0975fb5fa5d361a1e3640869ef6262c 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C @@ -24,44 +24,36 @@ License \*---------------------------------------------------------------------------*/ -#include "basicReactingMultiphaseParcelTypes.H" -#include "KinematicCloud.H" +#include "BasicReactingParcel.H" -#include "NoDispersion.H" -#include "GradientDispersionRAS.H" -#include "StochasticDispersionRAS.H" +#include "makeReactingParcelDispersionModels.H" +#include "makeReactingParcelDragModels.H" +#include "makeReactingParcelInjectionModels.H" +#include "makeReactingParcelPatchInteractionModels.H" +#include "makeReactingParcelPostProcessingModels.H" + +#include "makeReactingParcelHeatTransferModels.H" + +#include "makeReactingParcelCompositionModels.H" +#include "makeReactingParcelPhaseChangeModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeDispersionModel(KinematicCloud<bReactingMultiphaseParcel>); - - defineNamedTemplateTypeNameAndDebug - ( - DispersionRASModel<KinematicCloud<bReactingMultiphaseParcel> >, - 0 - ); - - // Add instances of dispersion model to the table - makeDispersionModelType - ( - NoDispersion, - KinematicCloud, - bReactingMultiphaseParcel - ); - makeDispersionModelType - ( - GradientDispersionRAS, - KinematicCloud, - bReactingMultiphaseParcel - ); - makeDispersionModelType - ( - StochasticDispersionRAS, - KinematicCloud, - bReactingMultiphaseParcel - ); + // Kinematic sub-models + createReactingDispersionModelType(BasicReactingParcel); + createReactingDragModelType(BasicReactingParcel); + createReactingInjectionModelType(BasicReactingParcel); + createReactingPatchInteractionModelType(BasicReactingParcel); + createReactingPostProcessingModelType(BasicReactingParcel); + + // Thermo sub-models + createReactingHeatTransferModelType(BasicReactingParcel); + + // Reacting sub-models + createReactingCompositionModelType(BasicReactingParcel); + createReactingPhaseChangeModelType(BasicReactingParcel); }; diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelCompositionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelCompositionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..2f6abe0926a5e87851ed612fde2f0b88ca0d19c4 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelCompositionModels.H @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelCompositionModels_H +#define makeReactingParcelCompositionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingCloud.H" + +#include "SinglePhaseMixture.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingCompositionModelType(ParcelType) \ + \ + createReactingCompositionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingCompositionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingCompositionModelThermoType(ParcelType, ThermoType) \ + \ + makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \ + \ + makeCompositionModelThermoType \ + ( \ + SinglePhaseMixture, \ + ReactingCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDispersionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDispersionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..23827d50d6336a1674d566a0931992cc1b95483e --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDispersionModels.H @@ -0,0 +1,93 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelDispersionModels_H +#define makeReactingParcelDispersionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "NoDispersion.H" +#include "GradientDispersionRAS.H" +#include "StochasticDispersionRAS.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingDispersionModelType(ParcelType) \ + \ + createReactingDispersionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingDispersionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingDispersionModelThermoType(ParcelType, ThermoType) \ + \ + makeDispersionModel(KinematicCloud<ParcelType<ThermoType> >); \ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + DispersionRASModel<KinematicCloud<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + makeDispersionModelThermoType \ + ( \ + NoDispersion, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeDispersionModelThermoType \ + ( \ + GradientDispersionRAS, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeDispersionModelThermoType \ + ( \ + StochasticDispersionRAS, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDragModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDragModels.H new file mode 100644 index 0000000000000000000000000000000000000000..d919375f8ce0fca53d8f0c3d5560608bed64753f --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelDragModels.H @@ -0,0 +1,78 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelDragModels_H +#define makeReactingParcelDragModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "NoDrag.H" +#include "SphereDrag.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingDragModelType(ParcelType) \ + \ + createReactingDragModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingDragModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingDragModelThermoType(ParcelType, ThermoType) \ + \ + makeDragModel(KinematicCloud<ParcelType<ThermoType> >); \ + \ + makeDragModelThermoType \ + ( \ + NoDrag, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeDragModelThermoType \ + ( \ + SphereDrag, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelHeatTransferModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelHeatTransferModels.H new file mode 100644 index 0000000000000000000000000000000000000000..021efc11f45b302fbd2435652538a85ad64be9a2 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelHeatTransferModels.H @@ -0,0 +1,78 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelHeatTransferModels_H +#define makeReactingParcelHeatTransferModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ThermoCloud.H" + +#include "NoHeatTransfer.H" +#include "RanzMarshall.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingHeatTransferModelType(ParcelType) \ + \ + createReactingHeatTransferModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingHeatTransferModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingHeatTransferModelThermoType(ParcelType, ThermoType) \ + \ + makeHeatTransferModel(ThermoCloud<ParcelType<ThermoType> >); \ + \ + makeHeatTransferModelThermoType \ + ( \ + NoHeatTransfer, \ + ThermoCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeHeatTransferModelThermoType \ + ( \ + RanzMarshall, \ + ThermoCloud, \ + ParcelType, \ + ThermoType \ + ); \ + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelInjectionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..4873eac32cb84a2b626670320ee5cb0cd97aebad --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelInjectionModels.H @@ -0,0 +1,103 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelInjectionModels_H +#define makeReactingParcelInjectionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "ConeInjection.H" +#include "FieldActivatedInjection.H" +#include "ManualInjection.H" +#include "NoInjection.H" +#include "ReactingLookupTableInjection.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingInjectionModelType(ParcelType) \ + \ + createReactingInjectionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingInjectionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingInjectionModelThermoType(ParcelType, ThermoType) \ + \ + makeInjectionModel(KinematicCloud<ParcelType<ThermoType> >); \ + \ + makeInjectionModelThermoType \ + ( \ + ConeInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeInjectionModelThermoType \ + ( \ + FieldActivatedInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeInjectionModelThermoType \ + ( \ + ManualInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeInjectionModelThermoType \ + ( \ + NoInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makeInjectionModelThermoType \ + ( \ + ReactingLookupTableInjection, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPatchInteractionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPatchInteractionModels.H new file mode 100644 index 0000000000000000000000000000000000000000..74f4470045b0ce99cdf4606acfe0df9c050037d6 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPatchInteractionModels.H @@ -0,0 +1,87 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelPatchInteractionModels_H +#define makeReactingParcelPatchInteractionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "LocalInteraction.H" +#include "Rebound.H" +#include "StandardWallInteraction.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingPatchInteractionModelType(ParcelType) \ + \ + createReactingPatchInteractionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingPatchInteractionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingPatchInteractionModelThermoType(ParcelType, ThermoType) \ + \ + makePatchInteractionModel(KinematicCloud<ParcelType<ThermoType> >); \ + \ + makePatchInteractionModelThermoType \ + ( \ + LocalInteraction, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makePatchInteractionModelThermoType \ + ( \ + Rebound, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makePatchInteractionModelThermoType \ + ( \ + StandardWallInteraction, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPhaseChangeModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPhaseChangeModels.H new file mode 100644 index 0000000000000000000000000000000000000000..19e4810b7437c79cc3a230c152bf15cdfb4c1821 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPhaseChangeModels.H @@ -0,0 +1,79 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelPhaseChangeModels_H +#define makeReactingParcelPhaseChangeModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "ReactingCloud.H" + +#include "NoPhaseChange.H" +#include "LiquidEvaporation.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingPhaseChangeModelType(ParcelType) \ + \ + createReactingPhaseChangeModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingPhaseChangeModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingPhaseChangeModelThermoType(ParcelType, ThermoType) \ + \ + makePhaseChangeModel(ReactingCloud<ParcelType<ThermoType> >); \ + \ + makePhaseChangeModelThermoType \ + ( \ + NoPhaseChange, \ + ReactingCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makePhaseChangeModelThermoType \ + ( \ + LiquidEvaporation, \ + ReactingCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPostProcessingModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPostProcessingModels.H new file mode 100644 index 0000000000000000000000000000000000000000..b4f3b8e56fa42ab85505237a928c2fc805812a2f --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeReactingParcelPostProcessingModels.H @@ -0,0 +1,79 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef makeReactingParcelPostProcessingModels_H +#define makeReactingParcelPostProcessingModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "NoPostProcessing.H" +#include "StandardPostProcessing.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingPostProcessingModelType(ParcelType) \ + \ + createReactingPostProcessingModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingPostProcessingModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingPostProcessingModelThermoType(ParcelType, ThermoType) \ + \ + makePostProcessingModel(KinematicCloud<ParcelType<ThermoType> >); \ + \ + makePostProcessingModelThermoType \ + ( \ + NoPostProcessing, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); \ + makePostProcessingModelThermoType \ + ( \ + StandardPostProcessing, \ + KinematicCloud, \ + ParcelType, \ + ThermoType \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/defineTrackedReactingParcel.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/defineTrackedReactingParcel.C index 9d7660fab74cea1ba93b7388c9e81d81f1d7e3e0..2ffcf453b6ad2962c155cbf32bde0d2d02c77e25 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/defineTrackedReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/defineTrackedReactingParcel.C @@ -24,35 +24,14 @@ License \*---------------------------------------------------------------------------*/ -#include "basicTrackedReactingParcelTypes.H" -#include "BasicReactingCloud.H" +#include "createTrackedReactingParcelTypes.H" +#include "BasicTrackedReactingParcel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - defineTemplateTypeNameAndDebug(bTrackedReactingParcel, 0); - defineTemplateTypeNameAndDebug(Particle<bTrackedReactingParcel>, 0); - defineTemplateTypeNameAndDebug(Cloud<bTrackedReactingParcel>, 0); - - defineParcelTypeNameAndDebug(KinematicParcel<bTrackedReactingParcel>, 0); - defineTemplateTypeNameAndDebug(KinematicParcel<bTrackedReactingParcel>, 0); - defineParcelTypeNameAndDebug(ThermoParcel<bTrackedReactingParcel>, 0); - defineTemplateTypeNameAndDebug(ThermoParcel<bTrackedReactingParcel>, 0); - defineParcelTypeNameAndDebug(ReactingParcel<bTrackedReactingParcel>, 0); - defineTemplateTypeNameAndDebug(ReactingParcel<bTrackedReactingParcel>, 0); - defineTemplateTypeNameAndDebug - ( - TrackedReactingParcel<bTrackedReactingParcel>, - 0 - ); - - defineParcelTypeNameAndDebug(KinematicCloud<bTrackedReactingParcel>, 0); -// defineTemplateTypeNameAndDebug(KinematicCloud<bTrackedReactingParcel>, 0); - - defineParcelTypeNameAndDebug(ThermoCloud<bTrackedReactingParcel>, 0); -// defineTemplateTypeNameAndDebug(ThermoCloud<bTrackedReactingParcel>, 0); - - defineParcelTypeNameAndDebug(ReactingCloud<bTrackedReactingParcel>, 0); -// defineTemplateTypeNameAndDebug(ReactingCloud<bTrackedReactingParcel>, 0); + createTrackedReactingParcelType(BasicTrackedReactingParcel); } diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDragModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeBasicTrackedReactingParcelSubmodels.C similarity index 57% rename from src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDragModels.C rename to src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeBasicTrackedReactingParcelSubmodels.C index 358da8e2e2116a6afea515cd0bc2bb07b258b65f..e81e981f99864e36dcd4352b0c16eae1c30cbcf5 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDragModels.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeBasicTrackedReactingParcelSubmodels.C @@ -24,22 +24,37 @@ License \*---------------------------------------------------------------------------*/ -#include "basicTrackedReactingParcelTypes.H" -#include "KinematicCloud.H" +#include "BasicTrackedReactingParcel.H" -#include "NoDrag.H" -#include "SphereDrag.H" +#include "makeReactingParcelDispersionModels.H" +#include "makeReactingParcelDragModels.H" +#include "makeReactingParcelInjectionModels.H" +#include "makeReactingParcelPatchInteractionModels.H" +#include "makeReactingParcelPostProcessingModels.H" + +#include "makeReactingParcelHeatTransferModels.H" + +#include "makeReactingParcelCompositionModels.H" +#include "makeReactingParcelPhaseChangeModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - makeDragModel(KinematicCloud<bTrackedReactingParcel>); - - // Add instances of drag model to the table - makeDragModelType(NoDrag, KinematicCloud, bTrackedReactingParcel); - makeDragModelType(SphereDrag, KinematicCloud, bTrackedReactingParcel); -} + // Kinematic sub-models + createReactingDispersionModelType(BasicTrackedReactingParcel); + createReactingDragModelType(BasicTrackedReactingParcel); + createReactingInjectionModelType(BasicTrackedReactingParcel); + createReactingPatchInteractionModelType(BasicTrackedReactingParcel); + createReactingPostProcessingModelType(BasicTrackedReactingParcel); + + // Thermo sub-models + createReactingHeatTransferModelType(BasicTrackedReactingParcel); + + // Reacting sub-models + createReactingCompositionModelType(BasicTrackedReactingParcel); + createReactingPhaseChangeModelType(BasicTrackedReactingParcel); +}; // ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelCompositionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelCompositionModels.C deleted file mode 100644 index e573e7ca36c939359031b8a2138318a249bb7b25..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelCompositionModels.C +++ /dev/null @@ -1,48 +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 "basicTrackedReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "SinglePhaseMixture.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeCompositionModel(ReactingCloud<bTrackedReactingParcel>); - - // Add instances of composition model to the table - makeCompositionModelType - ( - SinglePhaseMixture, - ReactingCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDispersionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDispersionModels.C deleted file mode 100644 index 1858335ca957ec2e1c869ef3336ae43e24d76c28..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelDispersionModels.C +++ /dev/null @@ -1,68 +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 "basicTrackedReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoDispersion.H" -#include "GradientDispersionRAS.H" -#include "StochasticDispersionRAS.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeDispersionModel(KinematicCloud<bTrackedReactingParcel>); - - defineNamedTemplateTypeNameAndDebug - ( - DispersionRASModel<KinematicCloud<bTrackedReactingParcel> >, - 0 - ); - - // Add instances of dispersion model to the table - makeDispersionModelType - ( - NoDispersion, - KinematicCloud, - bTrackedReactingParcel - ); - makeDispersionModelType - ( - GradientDispersionRAS, - KinematicCloud, - bTrackedReactingParcel - ); - makeDispersionModelType - ( - StochasticDispersionRAS, - KinematicCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelHeatTransferModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelHeatTransferModels.C deleted file mode 100644 index 7dfe9a3131ee71290fbe0174a99d897662c1e0c7..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelHeatTransferModels.C +++ /dev/null @@ -1,55 +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 "basicTrackedReactingParcelTypes.H" -#include "ThermoCloud.H" - -#include "NoHeatTransfer.H" -#include "RanzMarshall.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeHeatTransferModel(ThermoCloud<bTrackedReactingParcel>); - - // Add instances of heat transfer model to the table - makeHeatTransferModelType - ( - NoHeatTransfer, - ThermoCloud, - bTrackedReactingParcel - ); - makeHeatTransferModelType - ( - RanzMarshall, - ThermoCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelInjectionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelInjectionModels.C deleted file mode 100644 index 28083e2973aa85387b358be680ab26da49421252..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelInjectionModels.C +++ /dev/null @@ -1,76 +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 "basicTrackedReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "ConeInjection.H" -#include "FieldActivatedInjection.H" -#include "ManualInjection.H" -#include "NoInjection.H" -#include "ReactingLookupTableInjection.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makeInjectionModel(KinematicCloud<bTrackedReactingParcel>); - - // Add instances of injection model to the table - makeInjectionModelType - ( - ConeInjection, - KinematicCloud, - bTrackedReactingParcel - ); - makeInjectionModelType - ( - FieldActivatedInjection, - KinematicCloud, - bTrackedReactingParcel - ); - makeInjectionModelType - ( - ManualInjection, - KinematicCloud, - bTrackedReactingParcel - ); - makeInjectionModelType - ( - NoInjection, - KinematicCloud, - bTrackedReactingParcel - ); - makeInjectionModelType - ( - ReactingLookupTableInjection, - KinematicCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPatchInteractionModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPatchInteractionModels.C deleted file mode 100644 index 15dd56ee3dae685911697f6ea870795247b34144..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPatchInteractionModels.C +++ /dev/null @@ -1,62 +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 "basicTrackedReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "LocalInteraction.H" -#include "Rebound.H" -#include "StandardWallInteraction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePatchInteractionModel(KinematicCloud<bTrackedReactingParcel>); - - // Add instances of patch interaction model to the table - makePatchInteractionModelType - ( - LocalInteraction, - KinematicCloud, - bTrackedReactingParcel - ); - makePatchInteractionModelType - ( - Rebound, - KinematicCloud, - bTrackedReactingParcel - ); - makePatchInteractionModelType - ( - StandardWallInteraction, - KinematicCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPhaseChangeModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPhaseChangeModels.C deleted file mode 100644 index 533cf64dc9c9967047d544c23860e58b5b159800..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPhaseChangeModels.C +++ /dev/null @@ -1,55 +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 "basicTrackedReactingParcelTypes.H" -#include "ReactingCloud.H" - -#include "NoPhaseChange.H" -#include "LiquidEvaporation.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePhaseChangeModel(ReactingCloud<bTrackedReactingParcel>); - - // Add instances of phase change model to the table - makePhaseChangeModelType - ( - NoPhaseChange, - ReactingCloud, - bTrackedReactingParcel - ); - makePhaseChangeModelType - ( - LiquidEvaporation, - ReactingCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPostProcessingModels.C b/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPostProcessingModels.C deleted file mode 100644 index c67cd52a6adeecdb0d1abd2baa013179b4e5ec66..0000000000000000000000000000000000000000 --- a/src/lagrangian/intermediate/parcels/derived/BasicTrackedReactingParcel/submodels/makeTrackedReactingParcelPostProcessingModels.C +++ /dev/null @@ -1,55 +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 "basicTrackedReactingParcelTypes.H" -#include "KinematicCloud.H" - -#include "NoPostProcessing.H" -#include "StandardPostProcessing.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - makePostProcessingModel(KinematicCloud<bTrackedReactingParcel>); - - // Add instances of post-processing model to the table - makePostProcessingModelType - ( - NoPostProcessing, - KinematicCloud, - bTrackedReactingParcel - ); - makePostProcessingModelType - ( - StandardPostProcessing, - KinematicCloud, - bTrackedReactingParcel - ); -} - - -// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/include/createReactingMultiphaseParcelTypes.H b/src/lagrangian/intermediate/parcels/include/createReactingMultiphaseParcelTypes.H new file mode 100644 index 0000000000000000000000000000000000000000..80e065083d95be8176da45a9ba32f1f61ac62546 --- /dev/null +++ b/src/lagrangian/intermediate/parcels/include/createReactingMultiphaseParcelTypes.H @@ -0,0 +1,94 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef createReactingMultiphaseParcelTypes_H +#define createReactingMultiphaseParcelTypes_H + +#include "makeParcelIOList.H" +#include "reactingThermoTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingMultiphaseParcelType(ParcelType) \ + \ + createReactingMultiphaseParcelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createReactingParcelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingMultiphaseParcelThermoType(ParcelType, ThermoType) \ + \ + typedef ParcelType<ThermoType> ParcelType##ThermoType; \ + \ + makeParcelIOList(ParcelType##ThermoType); \ + \ + defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \ + defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \ + \ + defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug \ + ( \ + KinematicParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \ + defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\ + defineParcelTypeNameAndDebug \ + ( \ + ReactingMultiphaseParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineTemplateTypeNameAndDebug \ + ( \ + ReactingMultiphaseParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + \ + defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \ + defineParcelTypeNameAndDebug \ + ( \ + ReactingMultiphaseCloud<ParcelType##ThermoType>, \ + 0 \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/basicReactingParcelTypes.H b/src/lagrangian/intermediate/parcels/include/createReactingParcelTypes.H similarity index 87% rename from src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/basicReactingParcelTypes.H rename to src/lagrangian/intermediate/parcels/include/createReactingParcelTypes.H index c64bfc94735430aeb33ed70de005a6c23c0bfac2..3045c3406f4a49152499b0e79b536c0c150a084e 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/basicReactingParcelTypes.H +++ b/src/lagrangian/intermediate/parcels/include/createReactingParcelTypes.H @@ -24,21 +24,11 @@ License \*---------------------------------------------------------------------------*/ -#ifndef basicReactingParcelTypes_H -#define basicReactingParcelTypes_H +#ifndef createReactingParcelTypes_H +#define createReactingParcelTypes_H -#include "BasicReactingParcel.H" -#include "BasicReactingCloud.H" - -#include "ReactingCloudThermoTypes.H" #include "makeParcelIOList.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - typedef BasicReactingParcel<specieReactingProperties> bReactingParcel; -}; +#include "reactingThermoTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -54,8 +44,6 @@ namespace Foam \ makeParcelIOList(ParcelType##ThermoType); \ \ - defineTemplateTypeNameAndDebug(BasicReactingCloud<ThermoType>, 0); \ - \ defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \ defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \ defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \ diff --git a/src/lagrangian/intermediate/parcels/include/createTrackedReactingParcelTypes.H b/src/lagrangian/intermediate/parcels/include/createTrackedReactingParcelTypes.H new file mode 100644 index 0000000000000000000000000000000000000000..c374a2dcd96194fcd104389a9022e7b36f443b9b --- /dev/null +++ b/src/lagrangian/intermediate/parcels/include/createTrackedReactingParcelTypes.H @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 + +\*---------------------------------------------------------------------------*/ + +#ifndef createTrackedReactingParcelTypes_H +#define createTrackedReactingParcelTypes_H + +#include "createReactingParcelTypes.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createTrackedReactingParcelType(ParcelType) \ + \ + createTrackedReactingParcelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + createTrackedReactingParcelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createTrackedReactingParcelThermoType(ParcelType, ThermoType) \ + \ + createReactingParcelThermoType(ParcelType, ThermoType); \ + \ + typedef ParcelType<ThermoType> ParcelType##ThermoType; \ + \ + defineParcelTypeNameAndDebug \ + ( \ + TrackedReactingParcel<ParcelType##ThermoType>, \ + 0 \ + ); \ + defineTemplateTypeNameAndDebug \ + ( \ + TrackedReactingParcel<ParcelType##ThermoType>, \ + 0 \ + ); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudThermoTypes.H b/src/lagrangian/intermediate/parcels/include/reactingThermoTypes.H similarity index 94% rename from src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudThermoTypes.H rename to src/lagrangian/intermediate/parcels/include/reactingThermoTypes.H index 015f00fb8b1bf8723b4e424ea192bdd840c1728c..5848a52964a78557c55a20393025fd3f49b624ac 100644 --- a/src/lagrangian/intermediate/clouds/Templates/ReactingCloud/ReactingCloudThermoTypes.H +++ b/src/lagrangian/intermediate/parcels/include/reactingThermoTypes.H @@ -26,18 +26,19 @@ Typedefs Foam::ReactingCloudThermoTypes Description + Type definitions for available thermo pacakges \*---------------------------------------------------------------------------*/ -#ifndef ReactingCloudThermoTypes_H -#define ReactingCloudThermoTypes_H +#ifndef reactingThermoTypes_H +#define reactingThermoTypes_H -#include "sutherlandTransport.H" -#include "constTransport.H" -#include "specieThermo.H" +#include "perfectGas.H" #include "hConstThermo.H" #include "janafThermo.H" -#include "perfectGas.H" +#include "specieThermo.H" +#include "sutherlandTransport.H" +#include "constTransport.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C index 04ff69a9c6a948ead0ae2b43e25adf601aaefba3..2decc76d4b9e68b7335bb78a9c8726521afc8427 100644 --- a/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C +++ b/src/lagrangian/intermediate/submodels/IO/IOList/makeParcelIOLists.C @@ -28,9 +28,6 @@ License #include "basicKinematicParcel.H" #include "basicThermoParcel.H" -#include "basicReactingMultiphaseParcelTypes.H" - -#include "basicTrackedReactingParcelTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -38,9 +35,6 @@ namespace Foam { makeParcelIOList(basicKinematicParcel); makeParcelIOList(basicThermoParcel); - makeParcelIOList(bReactingMultiphaseParcel); - - makeParcelIOList(bTrackedReactingParcel); }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 1cf7be00f8deb3df0924eee99d4e2dddba15d78d..46e7d104bfa831ee60c11bdd0daee4e118161c16 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -160,6 +160,20 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makeDispersionModelThermoType(SS, CloudType, ParcelType, ThermoType) \ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + DispersionModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/DragModel/DragModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/DragModel/DragModel.H index 34220baafeb336ea1515676c83fa6617c2b5cf8f..9fae0e9b1100c9b1abfd673a29cb3bd26f47a12f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/DragModel/DragModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/DragModel/DragModel.H @@ -155,6 +155,20 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makeDragModelThermoType(SS, CloudType, ParcelType, ThermoType) \ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + DragModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H index 4b4c07a9f72340716c50fecbea386796f515eed5..b00356a174dd998f7512038b1d4160c677a96c7f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H @@ -303,21 +303,6 @@ public: ) = 0; virtual bool fullyDescribed() const = 0; -/* - //- Return the velocity of the parcel to introduce at a time - virtual vector velocity - ( - const label parcelI, - const scalar time - ) = 0; - - //- Return the diameter of the parcel to introduce at a time - virtual scalar d0 - ( - const label parcelI, - const scalar time - ) const = 0; -*/ }; @@ -343,6 +328,21 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makeInjectionModelThermoType(SS, CloudType, ParcelType, ThermoType) \ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + InjectionModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "InjectionModelI.H" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H index f6cada656f1a1549e93490f73779f06a9bdfbab6..cffca1e2866c5b1752446016af08766ffcbb8bf6 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H @@ -160,6 +160,20 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makePatchInteractionModelThermoType(SS, CloudType, ParcelType, ThermoType)\ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + PatchInteractionModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H index c450ed07c40fd2c584604c259491752f1e1c167e..4f3d68187b8c1a21c221d84df27e8530e4dc59bc 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H @@ -178,6 +178,20 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makePostProcessingModelThermoType(SS, CloudType, ParcelType, ThermoType)\ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + PostProcessingModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "PostProcessingModelI.H" diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 2dac578982bcc000e25e924f4acd99206a7b91b6..6010e3c43fe5f387d14e8108bc6908ed12d2ed29 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H @@ -282,13 +282,18 @@ public: ); -#define makeCompositionModelType(SS, CloudType, ParcelType) \ +#define makeCompositionModelThermoType(SS, CloudType, ParcelType, ThermoType) \ \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ \ - CompositionModel<CloudType<ParcelType> >:: \ - adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \ - add##SS##CloudType##ParcelType##ConstructorToTable_; + CompositionModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H index 91a727587dc7fe57fa1f4de3ff8852ea42a70f62..695c48c1a70ee5e026af9736c066994e0157986f 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H @@ -141,13 +141,13 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#ifdef NoRepository -# include "SinglePhaseMixture.C" -#endif +} // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -} // End namespace Foam +#ifdef NoRepository +# include "SinglePhaseMixture.C" +#endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H index b8ebc644b01a88e5cb447417d2bb6fcf6f2189e7..2e0f03a3f52510fb46a661246636c0cad340bbc8 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H @@ -168,13 +168,18 @@ public: ); -#define makePhaseChangeModelType(SS, CloudType, ParcelType) \ +#define makePhaseChangeModelThermoType(SS, CloudType, ParcelType, ThermoType) \ \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ \ - PhaseChangeModel<CloudType<ParcelType> >:: \ - adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \ - add##SS##CloudType##ParcelType##ConstructorToTable_; + PhaseChangeModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index bb4e7ddc637f9212e466f011136e66667c73e55e..dd80ba9fd23e73fcefa611fe63914402f38a79aa 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H @@ -160,13 +160,18 @@ public: ); -#define makeDevolatilisationModelType(SS, CloudType, ParcelType) \ +#define makeDevolatilisationModelThermoType(SS, CloudType, ParcelType, ThermoType)\ \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ \ - DevolatilisationModel<CloudType<ParcelType> >:: \ - adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \ - add##SS##CloudType##ParcelType##ConstructorToTable_; + DevolatilisationModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index 8f1657f47a497003d8883539756c2a59133987e5..ba1d41825fd5defde8fd7c5facfc902e07a258da 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -190,6 +190,19 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makeSurfaceReactionModelThermoTypeNew(SS, CloudType, ParcelType, ThermoType)\ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + SurfaceReactionModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index af5a43679c9ad341d4a7cffcdfde19894b845729..9e6ccdc4af2aef0ad1068834081e58768c7439e3 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -189,6 +189,20 @@ public: add##SS##CloudType##ParcelType##ConstructorToTable_; +#define makeHeatTransferModelThermoType(SS, CloudType, ParcelType, ThermoType)\ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SS<CloudType<ParcelType<ThermoType> > >, \ + 0 \ + ); \ + \ + HeatTransferModel<CloudType<ParcelType<ThermoType> > >:: \ + adddictionaryConstructorToTable \ + <SS<CloudType<ParcelType<ThermoType> > > > \ + add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository