ENH: Updated cloud sub-model macros

This commit is contained in:
andy
2011-03-24 12:33:57 +00:00
parent 2816819e4f
commit 8af299cc26
18 changed files with 193 additions and 138 deletions

View File

@ -50,27 +50,23 @@ License
namespace Foam
{
typedef coalCloud::cloudType coalCloud_R;
typedef coalCloud_R::cloudType coalCloud_T;
typedef coalCloud_T::cloudType coalCloud_K;
// Kinematic sub-models
makeThermoParcelForces(coalCloud_K);
makeParcelDispersionModels(coalCloud_K);
makeReactingMultiphaseParcelInjectionModels(coalCloud_K);
makeParcelPatchInteractionModels(coalCloud_K);
makeParcelPostProcessingModels(coalCloud_K);
makeThermoParcelForces(coalCloud);
makeParcelDispersionModels(coalCloud);
makeReactingMultiphaseParcelInjectionModels(coalCloud);
makeParcelPatchInteractionModels(coalCloud);
makeParcelPostProcessingModels(coalCloud);
// Thermo sub-models
makeParcelHeatTransferModels(coalCloud_T);
makeParcelHeatTransferModels(coalCloud);
// Reacting sub-models
makeReactingMultiphaseParcelCompositionModels(coalCloud_R);
makeReactingParcelPhaseChangeModels(coalCloud_R);
makeReactingMultiphaseParcelCompositionModels(coalCloud);
makeReactingParcelPhaseChangeModels(coalCloud);
// Reacting multiphase sub-models
makeReactingMultiphaseParcelDevolatilisationModels(coalCloud);
makeReactingParcelSurfaceFilmModels(coalCloud_K);
makeReactingParcelSurfaceFilmModels(coalCloud);
makeCoalParcelSurfaceReactionModels(coalCloud);
}

View File

@ -39,16 +39,13 @@ License
namespace Foam
{
// Kinematic sub-models
typedef basicKinematicCollidingCloud::cloudType
basicKinematicCollidingCloud_K;
makeParcelForces(basicKinematicCollidingCloud_K);
makeParcelDispersionModels(basicKinematicCollidingCloud_K);
makeParcelInjectionModels(basicKinematicCollidingCloud_K);
makeParcelForces(basicKinematicCollidingCloud);
makeParcelDispersionModels(basicKinematicCollidingCloud);
makeParcelInjectionModels(basicKinematicCollidingCloud);
makeParcelCollisionModels(basicKinematicCollidingCloud);
makeParcelPatchInteractionModels(basicKinematicCollidingCloud_K);
makeParcelPostProcessingModels(basicKinematicCollidingCloud_K);
makeParcelSurfaceFilmModels(basicKinematicCollidingCloud_K);
makeParcelPatchInteractionModels(basicKinematicCollidingCloud);
makeParcelPostProcessingModels(basicKinematicCollidingCloud);
makeParcelSurfaceFilmModels(basicKinematicCollidingCloud);
}

View File

@ -48,29 +48,22 @@ License
namespace Foam
{
typedef basicReactingMultiphaseCloud::cloudType
basicReactingMultiphaseCloud_R;
typedef basicReactingMultiphaseCloud_R::cloudType
basicReactingMultiphaseCloud_T;
typedef basicReactingMultiphaseCloud_T::cloudType
basicReactingMultiphaseCloud_K;
// Kinematic sub-models
makeThermoParcelForces(basicReactingMultiphaseCloud_K);
makeParcelDispersionModels(basicReactingMultiphaseCloud_K);
makeReactingMultiphaseParcelInjectionModels(basicReactingMultiphaseCloud_K);
makeParcelPatchInteractionModels(basicReactingMultiphaseCloud_K);
makeParcelPostProcessingModels(basicReactingMultiphaseCloud_K);
makeThermoParcelForces(basicReactingMultiphaseCloud);
makeParcelDispersionModels(basicReactingMultiphaseCloud);
makeReactingMultiphaseParcelInjectionModels(basicReactingMultiphaseCloud);
makeParcelPatchInteractionModels(basicReactingMultiphaseCloud);
makeParcelPostProcessingModels(basicReactingMultiphaseCloud);
// Thermo sub-models
makeParcelHeatTransferModels(basicReactingMultiphaseCloud_T);
makeParcelHeatTransferModels(basicReactingMultiphaseCloud);
// Reacting sub-models
makeReactingMultiphaseParcelCompositionModels
(
basicReactingMultiphaseCloud_R
basicReactingMultiphaseCloud
);
makeReactingParcelPhaseChangeModels(basicReactingMultiphaseCloud_R);
makeReactingParcelPhaseChangeModels(basicReactingMultiphaseCloud);
// Reacting multiphase sub-models
makeReactingMultiphaseParcelDevolatilisationModels
@ -79,7 +72,7 @@ namespace Foam
);
makeReactingParcelSurfaceFilmModels
(
basicReactingMultiphaseCloud_K
basicReactingMultiphaseCloud
);
makeReactingMultiphaseParcelSurfaceReactionModels
(

View File

@ -44,23 +44,23 @@ License
namespace Foam
{
typedef basicReactingCloud::cloudType basicReactingCloud_T;
typedef basicReactingCloud_T::cloudType basicReactingCloud_K;
typedef basicReactingCloud::thermoCloudType thermoCloudType2;
typedef basicReactingCloud::kinematicCloudType kinematicCloudType2;
// Kinematic sub-models
makeThermoParcelForces(basicReactingCloud_K);
makeParcelDispersionModels(basicReactingCloud_K);
makeReactingParcelInjectionModels(basicReactingCloud_K);
makeParcelPatchInteractionModels(basicReactingCloud_K);
makeParcelPostProcessingModels(basicReactingCloud_K);
makeThermoParcelForces(basicReactingCloud);
makeParcelDispersionModels(basicReactingCloud);
makeReactingParcelInjectionModels(basicReactingCloud);
makeParcelPatchInteractionModels(basicReactingCloud);
makeParcelPostProcessingModels(basicReactingCloud);
// Thermo sub-models
makeParcelHeatTransferModels(basicReactingCloud_T);
makeParcelHeatTransferModels(basicReactingCloud);
// Reacting sub-models
makeReactingParcelCompositionModels(basicReactingCloud);
makeReactingParcelPhaseChangeModels(basicReactingCloud);
makeReactingParcelSurfaceFilmModels(basicReactingCloud_K);
makeReactingParcelSurfaceFilmModels(basicReactingCloud);
}

View File

@ -41,18 +41,15 @@ License
namespace Foam
{
// Kinematic sub-models
typedef basicThermoCloud::cloudType basicThermoCloud_K;
// Kinematic sub-models
makeThermoParcelForces(basicThermoCloud_K);
makeParcelDispersionModels(basicThermoCloud_K);
makeParcelInjectionModels(basicThermoCloud_K);
makeParcelPatchInteractionModels(basicThermoCloud_K);
makeParcelPostProcessingModels(basicThermoCloud_K);
makeThermoParcelForces(basicThermoCloud);
makeParcelDispersionModels(basicThermoCloud);
makeParcelInjectionModels(basicThermoCloud);
makeParcelPatchInteractionModels(basicThermoCloud);
makeParcelPostProcessingModels(basicThermoCloud);
// Thermo sub-models
makeParcelHeatTransferModels(basicThermoCloud);
makeParcelSurfaceFilmModels(basicThermoCloud_K);
makeParcelSurfaceFilmModels(basicThermoCloud);
}

View File

@ -38,7 +38,12 @@ License
\
makeDispersionModel(CloudType); \
\
defineNamedTemplateTypeNameAndDebug(DispersionRASModel<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
DispersionRASModel<kinematicCloudType>, \
0 \
); \
\
makeDispersionModelType(NoDispersion, CloudType); \
makeDispersionModelType(GradientDispersionRAS, CloudType); \

View File

@ -141,18 +141,27 @@ public:
#define makeCollisionModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(CollisionModel<CloudType>, 0); \
\
defineTemplateRunTimeSelectionTable(CollisionModel<CloudType>, dictionary);
typedef CloudType::collidingCloudType collidingCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
CollisionModel<collidingCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
CollisionModel<collidingCloudType>, \
dictionary \
);
#define makeCollisionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::collidingCloudType collidingCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<collidingCloudType>, 0); \
\
CollisionModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
CollisionModel<collidingCloudType>:: \
adddictionaryConstructorToTable<SS<collidingCloudType> > \
add##SS##CloudType##collidingCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -132,22 +132,23 @@ public:
#define makeDispersionModel(CloudType) \
\
defineTemplateTypeNameAndDebug(DispersionModel<CloudType>, 0); \
\
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineTemplateTypeNameAndDebug(DispersionModel<kinematicCloudType>, 0); \
defineTemplateRunTimeSelectionTable \
( \
DispersionModel<CloudType>, \
DispersionModel<kinematicCloudType>, \
dictionary \
);
#define makeDispersionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
DispersionModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
DispersionModel<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -328,17 +328,27 @@ public:
#define makeInjectionModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(InjectionModel<CloudType>, 0); \
\
defineTemplateRunTimeSelectionTable(InjectionModel<CloudType>, dictionary);
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
InjectionModel<kinematicCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
InjectionModel<kinematicCloudType>, \
dictionary \
);
#define makeInjectionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
InjectionModel<CloudType>::adddictionaryConstructorToTable<SS<CloudType> >\
add##SS##CloudType##ConstructorToTable_;
InjectionModel<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -188,16 +188,23 @@ public:
#define makeParticleForceModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(ParticleForce<CloudType>, 0); \
defineTemplateRunTimeSelectionTable(ParticleForce<CloudType>, dictionary);
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(ParticleForce<kinematicCloudType>, 0);\
defineTemplateRunTimeSelectionTable \
( \
ParticleForce<kinematicCloudType>, \
dictionary \
);
#define makeParticleForceModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
ParticleForce<CloudType>::adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
ParticleForce<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -192,22 +192,27 @@ public:
#define makePatchInteractionModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(PatchInteractionModel<CloudType>, 0); \
\
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
PatchInteractionModel<kinematicCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
PatchInteractionModel<CloudType>, \
PatchInteractionModel<kinematicCloudType>, \
dictionary \
);
#define makePatchInteractionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
PatchInteractionModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
PatchInteractionModel<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -145,22 +145,27 @@ public:
#define makePostProcessingModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(PostProcessingModel<CloudType>, 0); \
\
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
PostProcessingModel<kinematicCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
PostProcessingModel<CloudType>, \
PostProcessingModel<kinematicCloudType>, \
dictionary \
);
#define makePostProcessingModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
PostProcessingModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
PostProcessingModel<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -243,22 +243,27 @@ public:
#define makeSurfaceFilmModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SurfaceFilmModel<CloudType>, 0); \
\
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
SurfaceFilmModel<kinematicCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
SurfaceFilmModel<CloudType>, \
SurfaceFilmModel<kinematicCloudType>, \
dictionary \
);
#define makeSurfaceFilmModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::kinematicCloudType kinematicCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<kinematicCloudType>, 0); \
\
SurfaceFilmModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
SurfaceFilmModel<kinematicCloudType>:: \
adddictionaryConstructorToTable<SS<kinematicCloudType> > \
add##SS##CloudType##kinematicCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -267,26 +267,27 @@ public:
#define makeCompositionModel(CloudType) \
\
typedef CloudType::reactingCloudType reactingCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
CompositionModel<CloudType>, \
CompositionModel<reactingCloudType>, \
0 \
); \
\
defineTemplateRunTimeSelectionTable \
( \
CompositionModel<CloudType>, \
CompositionModel<reactingCloudType>, \
dictionary \
);
#define makeCompositionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::reactingCloudType reactingCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<reactingCloudType>, 0); \
\
CompositionModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
CompositionModel<reactingCloudType>:: \
adddictionaryConstructorToTable<SS<reactingCloudType> > \
add##SS##CloudType##reactingCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -185,22 +185,27 @@ public:
#define makePhaseChangeModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(PhaseChangeModel<CloudType>, 0); \
\
typedef CloudType::reactingCloudType reactingCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
PhaseChangeModel<reactingCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
PhaseChangeModel<CloudType>, \
PhaseChangeModel<reactingCloudType>, \
dictionary \
);
#define makePhaseChangeModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::reactingCloudType reactingCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<reactingCloudType>, 0); \
\
PhaseChangeModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
PhaseChangeModel<reactingCloudType>:: \
adddictionaryConstructorToTable<SS<reactingCloudType> > \
add##SS##CloudType##reactingCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -136,22 +136,29 @@ public:
#define makeDevolatilisationModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(DevolatilisationModel<CloudType>, 0); \
\
typedef CloudType::reactingMultiphaseCloudType \
reactingMultiphaseCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
DevolatilisationModel<reactingMultiphaseCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
DevolatilisationModel<CloudType>, \
DevolatilisationModel<reactingMultiphaseCloudType>, \
dictionary \
);
#define makeDevolatilisationModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::reactingMultiphaseCloudType \
reactingMultiphaseCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<reactingMultiphaseCloudType>, 0); \
\
DevolatilisationModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
DevolatilisationModel<reactingMultiphaseCloudType>:: \
adddictionaryConstructorToTable<SS<reactingMultiphaseCloudType> > \
add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -149,22 +149,29 @@ public:
#define makeSurfaceReactionModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SurfaceReactionModel<CloudType>, 0); \
\
typedef CloudType::reactingMultiphaseCloudType \
reactingMultiphaseCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
SurfaceReactionModel<reactingMultiphaseCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
SurfaceReactionModel<CloudType>, \
SurfaceReactionModel<reactingMultiphaseCloudType>, \
dictionary \
);
#define makeSurfaceReactionModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::reactingMultiphaseCloudType \
reactingMultiphaseCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<reactingMultiphaseCloudType>, 0); \
\
SurfaceReactionModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
SurfaceReactionModel<reactingMultiphaseCloudType>:: \
adddictionaryConstructorToTable<SS<reactingMultiphaseCloudType> > \
add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -155,22 +155,27 @@ public:
#define makeHeatTransferModel(CloudType) \
\
defineNamedTemplateTypeNameAndDebug(HeatTransferModel<CloudType>, 0); \
\
typedef CloudType::thermoCloudType thermoCloudType; \
defineNamedTemplateTypeNameAndDebug \
( \
HeatTransferModel<thermoCloudType>, \
0 \
); \
defineTemplateRunTimeSelectionTable \
( \
HeatTransferModel<CloudType>, \
HeatTransferModel<thermoCloudType>, \
dictionary \
);
#define makeHeatTransferModelType(SS, CloudType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \
typedef CloudType::thermoCloudType thermoCloudType; \
defineNamedTemplateTypeNameAndDebug(SS<thermoCloudType>, 0); \
\
HeatTransferModel<CloudType>:: \
adddictionaryConstructorToTable<SS<CloudType> > \
add##SS##CloudType##ConstructorToTable_;
HeatTransferModel<thermoCloudType>:: \
adddictionaryConstructorToTable<SS<thermoCloudType> > \
add##SS##CloudType##thermoCloudType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //