From 8af299cc26340efd310b11b51456addb10a31dd4 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Mar 2011 12:33:57 +0000 Subject: [PATCH 1/5] ENH: Updated cloud sub-model macros --- .../coalParcel/makeCoalParcelSubmodels.C | 22 +++++++--------- ...keBasicKinematicCollidingParcelSubmodels.C | 15 +++++------ ...keBasicReactingMultiphaseParcelSubmodels.C | 25 +++++++------------ .../makeBasicReactingParcelSubmodels.C | 18 ++++++------- .../makeBasicThermoParcelSubmodels.C | 15 +++++------ .../include/makeParcelDispersionModels.H | 7 +++++- .../CollisionModel/CollisionModel.H | 23 +++++++++++------ .../DispersionModel/DispersionModel.H | 15 +++++------ .../InjectionModel/InjectionModel.H | 22 +++++++++++----- .../ParticleForce/ParticleForce.H | 17 +++++++++---- .../PatchInteractionModel.H | 19 ++++++++------ .../PostProcessingModel/PostProcessingModel.H | 19 ++++++++------ .../SurfaceFilmModel/SurfaceFilmModel.H | 19 ++++++++------ .../CompositionModel/CompositionModel.H | 15 +++++------ .../PhaseChangeModel/PhaseChangeModel.H | 19 ++++++++------ .../DevolatilisationModel.H | 21 ++++++++++------ .../SurfaceReactionModel.H | 21 ++++++++++------ .../HeatTransferModel/HeatTransferModel.H | 19 ++++++++------ 18 files changed, 193 insertions(+), 138 deletions(-) diff --git a/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C b/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C index fa9e048bad..4a6b297c1d 100644 --- a/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C +++ b/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C @@ -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); } diff --git a/src/lagrangian/intermediate/parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C index 3c61ef6425..51cf60820f 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicKinematicCollidingParcel/makeBasicKinematicCollidingParcelSubmodels.C @@ -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); } diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C index 53e1374424..b1185d25d7 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingMultiphaseParcel/makeBasicReactingMultiphaseParcelSubmodels.C @@ -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 ( diff --git a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C index 4e96d83838..47b2fac7ec 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicReactingParcel/makeBasicReactingParcelSubmodels.C @@ -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); } diff --git a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C index a7069c7229..4a55932786 100644 --- a/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C +++ b/src/lagrangian/intermediate/parcels/derived/basicThermoParcel/makeBasicThermoParcelSubmodels.C @@ -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); } diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H index 61fc12f8ea..ed22e80b48 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H @@ -38,7 +38,12 @@ License \ makeDispersionModel(CloudType); \ \ - defineNamedTemplateTypeNameAndDebug(DispersionRASModel, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + DispersionRASModel, \ + 0 \ + ); \ \ makeDispersionModelType(NoDispersion, CloudType); \ makeDispersionModelType(GradientDispersionRAS, CloudType); \ diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H index 1d8ef2e667..caf5473ec0 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H @@ -141,18 +141,27 @@ public: #define makeCollisionModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(CollisionModel, 0); \ - \ - defineTemplateRunTimeSelectionTable(CollisionModel, dictionary); + typedef CloudType::collidingCloudType collidingCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + CollisionModel, \ + 0 \ + ); \ + defineTemplateRunTimeSelectionTable \ + ( \ + CollisionModel, \ + dictionary \ + ); #define makeCollisionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::collidingCloudType collidingCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - CollisionModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + CollisionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##collidingCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 63ad6f0945..3d332ddd97 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -132,22 +132,23 @@ public: #define makeDispersionModel(CloudType) \ \ - defineTemplateTypeNameAndDebug(DispersionModel, 0); \ - \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineTemplateTypeNameAndDebug(DispersionModel, 0); \ defineTemplateRunTimeSelectionTable \ ( \ - DispersionModel, \ + DispersionModel, \ dictionary \ ); #define makeDispersionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - DispersionModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + DispersionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H index edd4d726f6..827dd1347b 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H @@ -328,17 +328,27 @@ public: #define makeInjectionModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(InjectionModel, 0); \ - \ - defineTemplateRunTimeSelectionTable(InjectionModel, dictionary); + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + InjectionModel, \ + 0 \ + ); \ + defineTemplateRunTimeSelectionTable \ + ( \ + InjectionModel, \ + dictionary \ + ); #define makeInjectionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - InjectionModel::adddictionaryConstructorToTable >\ - add##SS##CloudType##ConstructorToTable_; + InjectionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H index 79653d4256..7664723dd1 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H @@ -188,16 +188,23 @@ public: #define makeParticleForceModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(ParticleForce, 0); \ - defineTemplateRunTimeSelectionTable(ParticleForce, dictionary); + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(ParticleForce, 0);\ + defineTemplateRunTimeSelectionTable \ + ( \ + ParticleForce, \ + dictionary \ + ); #define makeParticleForceModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - ParticleForce::adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + ParticleForce:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H index f95a9802bb..14995a5bc0 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H @@ -192,22 +192,27 @@ public: #define makePatchInteractionModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(PatchInteractionModel, 0); \ - \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + PatchInteractionModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - PatchInteractionModel, \ + PatchInteractionModel, \ dictionary \ ); #define makePatchInteractionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - PatchInteractionModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + PatchInteractionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H index bb1352302c..553e03a28a 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H @@ -145,22 +145,27 @@ public: #define makePostProcessingModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(PostProcessingModel, 0); \ - \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + PostProcessingModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - PostProcessingModel, \ + PostProcessingModel, \ dictionary \ ); #define makePostProcessingModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - PostProcessingModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + PostProcessingModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H index 792eb876ae..35b8526c35 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H @@ -243,22 +243,27 @@ public: #define makeSurfaceFilmModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SurfaceFilmModel, 0); \ - \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SurfaceFilmModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - SurfaceFilmModel, \ + SurfaceFilmModel, \ dictionary \ ); #define makeSurfaceFilmModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - SurfaceFilmModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + SurfaceFilmModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##kinematicCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 2f38ff6a15..be2e267b86 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H @@ -267,26 +267,27 @@ public: #define makeCompositionModel(CloudType) \ \ + typedef CloudType::reactingCloudType reactingCloudType; \ defineNamedTemplateTypeNameAndDebug \ ( \ - CompositionModel, \ + CompositionModel, \ 0 \ ); \ - \ defineTemplateRunTimeSelectionTable \ ( \ - CompositionModel, \ + CompositionModel, \ dictionary \ ); #define makeCompositionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - CompositionModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + CompositionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##reactingCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H index e0e161c846..369b7b8e3a 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H @@ -185,22 +185,27 @@ public: #define makePhaseChangeModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(PhaseChangeModel, 0); \ - \ + typedef CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + PhaseChangeModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - PhaseChangeModel, \ + PhaseChangeModel, \ dictionary \ ); #define makePhaseChangeModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - PhaseChangeModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + PhaseChangeModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##reactingCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index 697c5ce76b..4b16bb77f4 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H @@ -136,22 +136,29 @@ public: #define makeDevolatilisationModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(DevolatilisationModel, 0); \ - \ + typedef CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + DevolatilisationModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - DevolatilisationModel, \ + DevolatilisationModel, \ dictionary \ ); #define makeDevolatilisationModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - DevolatilisationModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + DevolatilisationModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index a8b975c137..d218936656 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -149,22 +149,29 @@ public: #define makeSurfaceReactionModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SurfaceReactionModel, 0); \ - \ + typedef CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SurfaceReactionModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - SurfaceReactionModel, \ + SurfaceReactionModel, \ dictionary \ ); #define makeSurfaceReactionModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - SurfaceReactionModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + SurfaceReactionModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index 9769f80941..e622d06f6c 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -155,22 +155,27 @@ public: #define makeHeatTransferModel(CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(HeatTransferModel, 0); \ - \ + typedef CloudType::thermoCloudType thermoCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + HeatTransferModel, \ + 0 \ + ); \ defineTemplateRunTimeSelectionTable \ ( \ - HeatTransferModel, \ + HeatTransferModel, \ dictionary \ ); #define makeHeatTransferModelType(SS, CloudType) \ \ - defineNamedTemplateTypeNameAndDebug(SS, 0); \ + typedef CloudType::thermoCloudType thermoCloudType; \ + defineNamedTemplateTypeNameAndDebug(SS, 0); \ \ - HeatTransferModel:: \ - adddictionaryConstructorToTable > \ - add##SS##CloudType##ConstructorToTable_; + HeatTransferModel:: \ + adddictionaryConstructorToTable > \ + add##SS##CloudType##thermoCloudType##ConstructorToTable_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // From 20c4f5eea673116613015837814e9ad556f510ae Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Mar 2011 12:37:23 +0000 Subject: [PATCH 2/5] ENH: Updated tutorial headers --- .../lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p | 4 ++-- .../counterFlowFlame2D/constant/polyMesh/blockMeshDict | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p index bb7898548f..e449a51f2e 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p +++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p @@ -1,8 +1,8 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.openfoam.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: http://www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/polyMesh/blockMeshDict b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/polyMesh/blockMeshDict index 0befc6212d..14c329d20b 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/polyMesh/blockMeshDict +++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/constant/polyMesh/blockMeshDict @@ -1,8 +1,8 @@ /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: 1.6 | -| \\ / A nd | Web: http://www.openfoam.org | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: http://www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile From 7c858d2eeb0eca6b06cfdda38be0cb2449d72c95 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Mar 2011 12:38:24 +0000 Subject: [PATCH 3/5] STYLE: limit code to 80 chars --- .../HeatTransferModel/HeatTransferModel/HeatTransferModel.H | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index e622d06f6c..927151ff43 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -163,7 +163,7 @@ public: ); \ defineTemplateRunTimeSelectionTable \ ( \ - HeatTransferModel, \ + HeatTransferModel, \ dictionary \ ); From 6daa99f1cf97fd5092e9845856f4879b70d69874 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 24 Mar 2011 13:04:57 +0000 Subject: [PATCH 4/5] ENH: Updated kivaaTest tutorial case --- .../kivaTest/constant/thermophysicalProperties | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties index e2e943d38b..c36b507a1e 100644 --- a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties +++ b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties @@ -48,12 +48,12 @@ oxidant burntProducts { nMoles 1; - molWeight 28.8478; - Tlow 298.15; - Thigh 5000; + molWeight 28.6068; + Tlow 200; + Thigh 6000; Tcommon 1000; - highCpCoeffs ( 3.10156 0.00124723 -4.2071e-07 6.66805e-11 -3.92581e-15 -1092.96 5.35255 ); - lowCpCoeffs ( 3.58264 -0.000711179 1.64893e-06 -9.37968e-11 -4.35761e-13 -1158.24 3.11438 ); + highCpCoeffs ( 3.12468 0.00178578 -5.94695e-07 9.09801e-11 -5.1246e-15 -11005.8 5.03593 ); + lowCpCoeffs ( 3.47612 0.000758205 -3.68739e-07 1.3449e-09 -8.08868e-13 -11071.5 3.3058 ); As 1.67212e-06; Ts 170.672; } From 2fb374b61db503ec3b6871d5bfb0cb2a971d3f5c Mon Sep 17 00:00:00 2001 From: graham Date: Thu, 24 Mar 2011 15:52:00 +0000 Subject: [PATCH 5/5] STYLE: README for dsmcFoam cases explaining the fields. --- tutorials/discreteMethods/dsmcFoam/README | 52 +++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tutorials/discreteMethods/dsmcFoam/README diff --git a/tutorials/discreteMethods/dsmcFoam/README b/tutorials/discreteMethods/dsmcFoam/README new file mode 100644 index 0000000000..1c6b83c1ce --- /dev/null +++ b/tutorials/discreteMethods/dsmcFoam/README @@ -0,0 +1,52 @@ +Fields are used by dsmcFoam in several ways, some of which are different to +their use elsewhere in OpenFOAM. None of these fields are solved by partial +differential equations, they are used either to record simulation data, or to +supply boundary data. + +In each case there are 11 fields: + + boundaryT, boundaryU: + + The wall and free stream conditions at the boundary are specified for + velocity and temperature with these fields - only the data on the + patches is used, the cell data is not. These are the only two fields + which supply data to the case. + + dsmcRhoN: + + The population of dsmc particles in cells is recorded to visualise how + well the cell population conditions required for dsmc are met. The + boundary conditions are zeroGradient because only cell data is + meaningful. + + fD, q: + + The wall heat flux (q) and force density (fD, i.e. stress vector) is + recorded with these fields - only the data on wall patches is relevant, + the cell data is not. + + iDof, internalE, linearKE, momentum, rhoM, rhoN: + + These fields are the densities of extensive quantities in the + simulation, i.e. of number, mass, momentum, energy. Cell data is + recorded in the internal field and the boundaryField is used to record + the data of particles that strike wall patches. The properties of + particles striking wall faces are weighted by 1/(Un*fA), where Un is the + normal component of the particle's velocity and fA is the face area. + This is done so that when intensive quantities, such as velocity or + temperature, are evaluated on the wall the values are correct this + allows velocity slip and temperature jump to be evaluated. + + Therefore, the data in these fields on wall patches is of a different + type to the volume data. This may cause problems when post-processing, + as any interpolation of these fields will have a artifacts in the near + wall cells because the values on the faces are radically different. + This can be overcome by visualising the data uninterpolated, or by + copying the fields and setting zeroGradient boundary conditions on + walls. Calculated intensive fields do not have this issue. + +Further fields are produced by dsmcFoam, i.e. dsmcSigmaTcRMax (used in the +selection of collision partners) and by the fieldAverage (averaging the +extensive quantity densities) and dsmcFields (calculating intensive quantities, +i.e. velocity and temperature, from extensive quantities) function objects in +each case as it runs.