diff --git a/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C b/src/lagrangian/coalCombustion/coalParcel/makeCoalParcelSubmodels.C index fa9e048bad10e6975aa27711faafa730360921cc..4a6b297c1d8dff74a500801d683f02a1b08356c5 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 3c61ef64255cc8bd5adb7dc5a502d478ac5a15f3..51cf60820fbce98a4f451a1fb9044f9bd279ccce 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 53e1374424a1d388b8c441b69fb2310988c83d30..b1185d25d76828cef19872f84df7940f4869094e 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 4e96d838382318e73e5f95c7e73ecbdda14a2476..47b2fac7ecd495878e1fc15a4166b7e0c0b7404e 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 a7069c7229decdd9d620ffc0f9373bc5dd1f2179..4a55932786f9e2479bd15ae97253cd20dcaf36d0 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 61fc12f8eae47070bf5c32fcc988a7f596132c9e..ed22e80b487e9586ca64562a099c327538368f24 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<CloudType>, 0); \ + typedef CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + DispersionRASModel<kinematicCloudType>, \ + 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 1d8ef2e66757c844ca71385b6836e52c2e50388d..caf5473ec012f72561de39c672b29a6b11d611c1 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 63ad6f094582ca58a24425f7cbd5a8316904a2a2..3d332ddd973d676d26b49b296a5f49bda3034c79 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H index edd4d726f617e8d68f04c75e49d5e0f9eb9c874a..827dd1347bcb3265299e342dc88072549bef5b7d 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H index 79653d42565f9243ecc957062f8707be50f81a69..7664723dd1956f03a40e8e3197f3ca92e194ca1c 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H index f95a9802bb8c89be8c590d8a7a05855397ccd3ba..14995a5bc0958cb1da478715f9c018714aea5e61 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PostProcessingModel/PostProcessingModel/PostProcessingModel.H index bb1352302c9e9440a4f069e39719db131b1d1e1f..553e03a28ad9e702e776d0d8f4b5d29b66816311 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H index 792eb876aeff11f49b70a0f07479f91d517e938b..35b8526c35547f431ab24b09a56508c6616f9d21 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 2f38ff6a154455988b5fd0afb0eaf63e0284a30d..be2e267b869e9de3d0e921f151b1f31981b9a3e5 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H index e0e161c8463695261f1c0378e965e0d088a354f7..369b7b8e3ad753a0b6810bc6d9f8538e49f5891a 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index 697c5ce76b3d5f0c42f89b1b6a640d4362045db8..4b16bb77f431117d114b0b1690419f7c09323084 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index a8b975c1376270ee954f18c3bd459ac54cd9f0e7..d218936656f167a4bda75f3349667ebec2e951a3 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index 9769f809411627f7c5e1b32fda3abbaa392ca1a8..927151ff43b1377781981b736456d7e6ef05222a 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<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_; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties b/tutorials/combustion/engineFoam/kivaTest/constant/thermophysicalProperties index e2e943d38b2d7913fe515cc294c6ae2f90245c1e..c36b507a1e68edcf0885777b80e411a45593526f 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; } diff --git a/tutorials/discreteMethods/dsmcFoam/README b/tutorials/discreteMethods/dsmcFoam/README new file mode 100644 index 0000000000000000000000000000000000000000..1c6b83c1cecf306bf5cb9bd0c7cf2e6067fbad26 --- /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. diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/0/p index bb7898548f02ca7f0f5e64876ed070abaaa12ccb..e449a51f2ea9aaa5a01a98e9ba8a4f0db3eefa58 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 0befc6212d4836bcb5af916ab297fc45533c9c86..14c329d20b10ee1fa8fa821ab0a1a904e98c5b78 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