ENH: Updated lagrangian coalCombustion template instantiation macros

This commit is contained in:
andy
2011-02-25 12:02:39 +00:00
parent 94c54c1c39
commit cab1a5685a
2 changed files with 22 additions and 55 deletions

View File

@ -23,13 +23,12 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "coalParcel.H" #include "coalCloud.H"
// Kinematic // Kinematic
#include "makeThermoParcelForces.H" // thermo variant #include "makeThermoParcelForces.H" // thermo variant
#include "makeParcelDispersionModels.H" #include "makeParcelDispersionModels.H"
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant #include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
#include "makeParcelCollisionModels.H"
#include "makeParcelPatchInteractionModels.H" #include "makeParcelPatchInteractionModels.H"
#include "makeParcelPostProcessingModels.H" #include "makeParcelPostProcessingModels.H"
@ -51,25 +50,28 @@ License
namespace Foam namespace Foam
{ {
typedef coalCloud::cloudType coalCloud_R;
typedef coalCloud_R::cloudType coalCloud_T;
typedef coalCloud_T::cloudType coalCloud_K;
// Kinematic sub-models // Kinematic sub-models
makeThermoParcelForces(coalParcel); makeThermoParcelForces(coalCloud_K);
makeParcelDispersionModels(coalParcel); makeParcelDispersionModels(coalCloud_K);
makeReactingMultiphaseParcelInjectionModels(coalParcel); makeReactingMultiphaseParcelInjectionModels(coalCloud_K);
makeParcelCollisionModels(coalParcel); makeParcelPatchInteractionModels(coalCloud_K);
makeParcelPatchInteractionModels(coalParcel); makeParcelPostProcessingModels(coalCloud_K);
makeParcelPostProcessingModels(coalParcel);
// Thermo sub-models // Thermo sub-models
makeParcelHeatTransferModels(coalParcel); makeParcelHeatTransferModels(coalCloud_T);
// Reacting sub-models // Reacting sub-models
makeReactingMultiphaseParcelCompositionModels(coalParcel); makeReactingMultiphaseParcelCompositionModels(coalCloud_R);
makeReactingParcelPhaseChangeModels(coalParcel); makeReactingParcelPhaseChangeModels(coalCloud_R);
// Reacting multiphase sub-models // Reacting multiphase sub-models
makeReactingMultiphaseParcelDevolatilisationModels(coalParcel); makeReactingMultiphaseParcelDevolatilisationModels(coalCloud);
makeReactingParcelSurfaceFilmModels(coalParcel); makeReactingParcelSurfaceFilmModels(coalCloud_K);
makeCoalParcelSurfaceReactionModels(coalParcel); makeCoalParcelSurfaceReactionModels(coalCloud);
} }

View File

@ -28,12 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "Cloud.H"
#include "KinematicCloud.H"
#include "ThermoCloud.H"
#include "ReactingCloud.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H" #include "NoSurfaceReaction.H"
#include "COxidationDiffusionLimitedRate.H" #include "COxidationDiffusionLimitedRate.H"
#include "COxidationKineticDiffusionLimitedRate.H" #include "COxidationKineticDiffusionLimitedRate.H"
@ -41,46 +35,17 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeCoalParcelSurfaceReactionModels(ParcelType) \ #define makeCoalParcelSurfaceReactionModels(CloudType) \
\ \
typedef ReactingMultiphaseCloud \ makeSurfaceReactionModel(CloudType); \
< \ makeSurfaceReactionModelType(NoSurfaceReaction, CloudType); \
ReactingCloud \ makeSurfaceReactionModelType(COxidationDiffusionLimitedRate, CloudType); \
< \
ThermoCloud \
< \
KinematicCloud \
< \
Cloud \
< \
ParcelType \
> \
> \
> \
> \
> RMPRTKC##ParcelType; \
\
makeSurfaceReactionModel(RMPRTKC##ParcelType); \
makeSurfaceReactionModelType \
( \
NoSurfaceReaction, \
RMPRTKC##ParcelType \
); \
makeSurfaceReactionModelType \
( \
COxidationDiffusionLimitedRate, \
RMPRTKC##ParcelType \
); \
makeSurfaceReactionModelType \ makeSurfaceReactionModelType \
( \ ( \
COxidationKineticDiffusionLimitedRate, \ COxidationKineticDiffusionLimitedRate, \
RMPRTKC##ParcelType \ CloudType \
); \ ); \
makeSurfaceReactionModelType \ makeSurfaceReactionModelType(COxidationMurphyShaddix, CloudType);
( \
COxidationMurphyShaddix, \
RMPRTKC##ParcelType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //