Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry
2011-03-24 21:42:20 +00:00
22 changed files with 254 additions and 147 deletions

View File

@ -50,27 +50,23 @@ 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(coalCloud_K); makeThermoParcelForces(coalCloud);
makeParcelDispersionModels(coalCloud_K); makeParcelDispersionModels(coalCloud);
makeReactingMultiphaseParcelInjectionModels(coalCloud_K); makeReactingMultiphaseParcelInjectionModels(coalCloud);
makeParcelPatchInteractionModels(coalCloud_K); makeParcelPatchInteractionModels(coalCloud);
makeParcelPostProcessingModels(coalCloud_K); makeParcelPostProcessingModels(coalCloud);
// Thermo sub-models // Thermo sub-models
makeParcelHeatTransferModels(coalCloud_T); makeParcelHeatTransferModels(coalCloud);
// Reacting sub-models // Reacting sub-models
makeReactingMultiphaseParcelCompositionModels(coalCloud_R); makeReactingMultiphaseParcelCompositionModels(coalCloud);
makeReactingParcelPhaseChangeModels(coalCloud_R); makeReactingParcelPhaseChangeModels(coalCloud);
// Reacting multiphase sub-models // Reacting multiphase sub-models
makeReactingMultiphaseParcelDevolatilisationModels(coalCloud); makeReactingMultiphaseParcelDevolatilisationModels(coalCloud);
makeReactingParcelSurfaceFilmModels(coalCloud_K); makeReactingParcelSurfaceFilmModels(coalCloud);
makeCoalParcelSurfaceReactionModels(coalCloud); makeCoalParcelSurfaceReactionModels(coalCloud);
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -48,12 +48,12 @@ oxidant
burntProducts burntProducts
{ {
nMoles 1; nMoles 1;
molWeight 28.8478; molWeight 28.6068;
Tlow 298.15; Tlow 200;
Thigh 5000; Thigh 6000;
Tcommon 1000; Tcommon 1000;
highCpCoeffs ( 3.10156 0.00124723 -4.2071e-07 6.66805e-11 -3.92581e-15 -1092.96 5.35255 ); highCpCoeffs ( 3.12468 0.00178578 -5.94695e-07 9.09801e-11 -5.1246e-15 -11005.8 5.03593 );
lowCpCoeffs ( 3.58264 -0.000711179 1.64893e-06 -9.37968e-11 -4.35761e-13 -1158.24 3.11438 ); lowCpCoeffs ( 3.47612 0.000758205 -3.68739e-07 1.3449e-09 -8.08868e-13 -11071.5 3.3058 );
As 1.67212e-06; As 1.67212e-06;
Ts 170.672; Ts 170.672;
} }

View File

@ -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.

View File

@ -1,8 +1,8 @@
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.openfoam.org | | \\ / A nd | Web: http://www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: dev |
| \\ / A nd | Web: http://www.openfoam.org | | \\ / A nd | Web: http://www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile