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
commit ee67c2640c
22 changed files with 254 additions and 147 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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;
}

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 |
| \\ / 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

View File

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