From cba4af2700bcdf4a1780a5ce0d5fc92725e9cf45 Mon Sep 17 00:00:00 2001 From: andy <a.heather@opencfd.co.uk> Date: Wed, 3 Jun 2009 10:28:51 +0100 Subject: [PATCH] furher updates to submodel instantiations --- .../submodels/makeCoalParcelSubmodels.C | 10 +- .../makeCoalParcelSurfaceReactionModels.H | 8 +- ...keBasicReactingMultiphaseParcelSubmodels.C | 10 +- ...eReactingMultiphaseParcelInjectionModels.H | 95 +++++++++++++++++++ .../makeBasicReactingParcelSubmodels.C | 3 + .../SurfaceReactionModel.H | 21 +--- 6 files changed, 118 insertions(+), 29 deletions(-) create mode 100644 src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelInjectionModels.H diff --git a/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C index c2da43a2678..479a121f8e4 100644 --- a/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C +++ b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSubmodels.C @@ -26,17 +26,21 @@ License #include "CoalParcel.H" +// Kinematic #include "makeReactingParcelDispersionModels.H" #include "makeReactingParcelDragModels.H" -#include "makeReactingParcelInjectionModels.H" +#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant #include "makeReactingParcelPatchInteractionModels.H" #include "makeReactingParcelPostProcessingModels.H" +// Thermodynamic #include "makeReactingParcelHeatTransferModels.H" -#include "makeReactingMultiphaseParcelCompositionModels.H" +// Reacting +#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant #include "makeReactingParcelPhaseChangeModels.H" +// Reacting multiphase #include "makeReactingMultiphaseParcelDevolatilisationModels.H" #include "makeCoalParcelSurfaceReactionModels.H" @@ -47,7 +51,7 @@ namespace Foam // Kinematic sub-models createReactingDispersionModelType(CoalParcel); createReactingDragModelType(CoalParcel); - createReactingInjectionModelType(CoalParcel); + createReactingMultiphaseInjectionModelType(CoalParcel); createReactingPatchInteractionModelType(CoalParcel); createReactingPostProcessingModelType(CoalParcel); diff --git a/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H index 1875cc590c2..d943084ce0c 100644 --- a/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H +++ b/src/lagrangian/coalCombustion/CoalParcel/submodels/makeCoalParcelSurfaceReactionModels.H @@ -60,28 +60,28 @@ License ReactingMultiphaseCloud<ParcelType<ThermoType> > \ ); \ \ - makeSurfaceReactionModelThermoTypeNew \ + makeSurfaceReactionModelThermoType \ ( \ NoSurfaceReaction, \ ReactingMultiphaseCloud, \ ParcelType, \ ThermoType \ ); \ - makeSurfaceReactionModelThermoTypeNew \ + makeSurfaceReactionModelThermoType \ ( \ COxidationDiffusionLimitedRate, \ ReactingMultiphaseCloud, \ ParcelType, \ ThermoType \ ); \ - makeSurfaceReactionModelThermoTypeNew \ + makeSurfaceReactionModelThermoType \ ( \ COxidationKineticDiffusionLimitedRate, \ ReactingMultiphaseCloud, \ ParcelType, \ ThermoType \ ); \ - makeSurfaceReactionModelThermoTypeNew \ + makeSurfaceReactionModelThermoType \ ( \ COxidationMurphyShaddix, \ ReactingMultiphaseCloud, \ diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C index c5a665fe017..3e9cf9b4d7d 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeBasicReactingMultiphaseParcelSubmodels.C @@ -26,17 +26,21 @@ License #include "BasicReactingMultiphaseParcel.H" +// Kinematic #include "makeReactingParcelDispersionModels.H" #include "makeReactingParcelDragModels.H" -#include "makeReactingParcelInjectionModels.H" +#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant #include "makeReactingParcelPatchInteractionModels.H" #include "makeReactingParcelPostProcessingModels.H" +// Thermodynamic #include "makeReactingParcelHeatTransferModels.H" -#include "makeReactingMultiphaseParcelCompositionModels.H" +// Reacting +#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant #include "makeReactingParcelPhaseChangeModels.H" +// Reacting multiphase #include "makeReactingMultiphaseParcelDevolatilisationModels.H" #include "makeReactingMultiphaseParcelSurfaceReactionModels.H" @@ -47,7 +51,7 @@ namespace Foam // Kinematic sub-models createReactingDispersionModelType(BasicReactingMultiphaseParcel); createReactingDragModelType(BasicReactingMultiphaseParcel); - createReactingInjectionModelType(BasicReactingMultiphaseParcel); + createReactingMultiphaseInjectionModelType(BasicReactingMultiphaseParcel); createReactingPatchInteractionModelType(BasicReactingMultiphaseParcel); createReactingPostProcessingModelType(BasicReactingMultiphaseParcel); diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelInjectionModels.H new file mode 100644 index 00000000000..2ee34397fac --- /dev/null +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingMultiphaseParcel/submodels/makeReactingMultiphaseParcelInjectionModels.H @@ -0,0 +1,95 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / 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 makeReactingMultiphaseParcelInjectionModels_H +#define makeReactingMultiphaseParcelInjectionModels_H + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "reactingThermoTypes.H" +#include "KinematicCloud.H" + +#include "ConeInjection.H" +#include "FieldActivatedInjection.H" +#include "ManualInjection.H" +#include "NoInjection.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#define createReactingMultiphaseInjectionModelType(ParcelType) \ + \ + createReactingMultiphaseInjectionModelThermoType \ + ( \ + ParcelType, \ + specieConstProperties \ + ); \ + \ + createReactingMultiphaseInjectionModelThermoType \ + ( \ + ParcelType, \ + specieReactingProperties \ + ); + + +#define createReactingMultiphaseInjectionModelThermoType(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 \ + ); \ + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C index 18dcc54fd09..be7df8268d1 100644 --- a/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/BasicReactingParcel/submodels/makeBasicReactingParcelSubmodels.C @@ -26,14 +26,17 @@ License #include "BasicReactingParcel.H" +// Kinematic #include "makeReactingParcelDispersionModels.H" #include "makeReactingParcelDragModels.H" #include "makeReactingParcelInjectionModels.H" #include "makeReactingParcelPatchInteractionModels.H" #include "makeReactingParcelPostProcessingModels.H" +// Thermodynamic #include "makeReactingParcelHeatTransferModels.H" +// Reacting #include "makeReactingParcelCompositionModels.H" #include "makeReactingParcelPhaseChangeModels.H" diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index ba1d41825fd..f876563fec6 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -172,25 +172,7 @@ public: ); -#define makeSurfaceReactionModelType(SS, CloudType, ParcelType) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \ - \ - SurfaceReactionModel<CloudType<ParcelType> >:: \ - adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \ - add##SS##CloudType##ParcelType##ConstructorToTable_; - - -#define makeSurfaceReactionModelTypeInstance(SS, CloudType, ParcelType) \ - \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ - \ - SurfaceReactionModel<CloudType<ParcelType> >:: \ - adddictionaryConstructorToTable<SS> \ - add##SS##CloudType##ParcelType##ConstructorToTable_; - - -#define makeSurfaceReactionModelThermoTypeNew(SS, CloudType, ParcelType, ThermoType)\ +#define makeSurfaceReactionModelThermoType(SS, CloudType, ParcelType, ThermoType)\ \ defineNamedTemplateTypeNameAndDebug \ ( \ @@ -203,6 +185,7 @@ public: <SS<CloudType<ParcelType<ThermoType> > > > \ add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_; + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository -- GitLab