Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev

This commit is contained in:
mattijs
2010-09-08 17:30:20 +01:00
285 changed files with 24531 additions and 3972 deletions

View File

@ -14,6 +14,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/surfaceFilmModels/lnInclude \ -I$(LIB_SRC)/surfaceFilmModels/lnInclude \
@ -36,6 +37,7 @@ EXE_LIBS = \
-lsolidMixture \ -lsolidMixture \
-lthermophysicalFunctions \ -lthermophysicalFunctions \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lchemistryModel \ -lchemistryModel \
-lradiation \ -lradiation \
-lsurfaceFilmModels \ -lsurfaceFilmModels \

View File

@ -39,11 +39,12 @@ Description
#include "hCombustionThermo.H" #include "hCombustionThermo.H"
#include "turbulenceModel.H" #include "turbulenceModel.H"
#include "basicThermoCloud.H" #include "basicThermoCloud.H"
#include "CoalCloud.H" #include "coalCloud.H"
#include "psiChemistryModel.H" #include "psiChemistryModel.H"
#include "chemistrySolver.H" #include "chemistrySolver.H"
#include "timeActivatedExplicitSource.H" #include "timeActivatedExplicitSource.H"
#include "radiationModel.H" #include "radiationModel.H"
#include "SLGThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,11 +1,11 @@
Info<< "\nConstructing coal cloud" << endl; Info<< "\nConstructing coal cloud" << endl;
thermoCoalCloud coalParcels coalCloud coalParcels
( (
"coalCloud1", "coalCloud1",
rho, rho,
U, U,
g, g,
thermo slgThermo
); );
Info<< "\nConstructing limestone cloud" << endl; Info<< "\nConstructing limestone cloud" << endl;
@ -15,5 +15,5 @@ basicThermoCloud limestoneParcels
rho, rho,
U, U,
g, g,
thermo slgThermo
); );

View File

@ -8,6 +8,8 @@
hsCombustionThermo& thermo = chemistry.thermo(); hsCombustionThermo& thermo = chemistry.thermo();
SLGThermo slgThermo(mesh, thermo);
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();

View File

@ -14,6 +14,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/ODE/lnInclude \ -I$(LIB_SRC)/ODE/lnInclude \
@ -35,6 +36,7 @@ EXE_LIBS = \
-lsolidMixture \ -lsolidMixture \
-lthermophysicalFunctions \ -lthermophysicalFunctions \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lchemistryModel \ -lchemistryModel \
-lradiation \ -lradiation \
-lODE \ -lODE \

View File

@ -1,9 +1,9 @@
Info<< "\nConstructing reacting cloud" << endl; Info<< "\nConstructing reacting cloud" << endl;
icoPoly8ThermoReactingMultiphaseCloud parcels basicReactingMultiphaseCloud parcels
( (
"reactingCloud1", "reactingCloud1",
rho, rho,
U, U,
g, g,
thermo slgThermo
); );

View File

@ -8,6 +8,8 @@
hsReactionThermo& thermo = chemistry.thermo(); hsReactionThermo& thermo = chemistry.thermo();
SLGThermo slgThermo(mesh, thermo);
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();

View File

@ -33,7 +33,6 @@ Description
- reacting multiphase parcel cloud - reacting multiphase parcel cloud
- porous media - porous media
- mass, momentum and energy sources - mass, momentum and energy sources
- polynomial based, incompressible thermodynamics (f(T))
Note: ddtPhiCorr not used here when porous zones are active Note: ddtPhiCorr not used here when porous zones are active
- not well defined for porous calculations - not well defined for porous calculations
@ -43,12 +42,13 @@ Description
#include "fvCFD.H" #include "fvCFD.H"
#include "hReactionThermo.H" #include "hReactionThermo.H"
#include "turbulenceModel.H" #include "turbulenceModel.H"
#include "BasicReactingMultiphaseCloud.H" #include "basicReactingMultiphaseCloud.H"
#include "rhoChemistryModel.H" #include "rhoChemistryModel.H"
#include "chemistrySolver.H" #include "chemistrySolver.H"
#include "radiationModel.H" #include "radiationModel.H"
#include "porousZones.H" #include "porousZones.H"
#include "timeActivatedExplicitSource.H" #include "timeActivatedExplicitSource.H"
#include "SLGThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,5 +1,3 @@
DEV_PATH=./../..
EXE_INC = \ EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I${LIB_SRC}/meshTools/lnInclude \ -I${LIB_SRC}/meshTools/lnInclude \
@ -13,6 +11,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/liquidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/surfaceFilmModels/lnInclude \ -I$(LIB_SRC)/surfaceFilmModels/lnInclude \
@ -31,6 +30,7 @@ EXE_LIBS = \
-lsolidMixture \ -lsolidMixture \
-lthermophysicalFunctions \ -lthermophysicalFunctions \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lchemistryModel \ -lchemistryModel \
-lradiation \ -lradiation \
-lsurfaceFilmModels \ -lsurfaceFilmModels \

View File

@ -1,9 +1,9 @@
Info<< "\nConstructing reacting cloud" << endl; Info<< "\nConstructing reacting cloud" << endl;
thermoReactingCloud parcels basicReactingCloud parcels
( (
"reactingCloud1", "reactingCloud1",
rho, rho,
U, U,
g, g,
thermo slgThermo
); );

View File

@ -8,6 +8,8 @@
hsCombustionThermo& thermo = chemistry.thermo(); hsCombustionThermo& thermo = chemistry.thermo();
SLGThermo slgThermo(mesh, thermo);
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();

View File

@ -33,11 +33,12 @@ Description
#include "fvCFD.H" #include "fvCFD.H"
#include "hCombustionThermo.H" #include "hCombustionThermo.H"
#include "turbulenceModel.H" #include "turbulenceModel.H"
#include "BasicReactingCloud.H" #include "basicReactingCloud.H"
#include "surfaceFilmModel.H" #include "surfaceFilmModel.H"
#include "psiChemistryModel.H" #include "psiChemistryModel.H"
#include "chemistrySolver.H" #include "chemistrySolver.H"
#include "radiationModel.H" #include "radiationModel.H"
#include "SLGThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -13,6 +13,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/ODE/lnInclude \ -I$(LIB_SRC)/ODE/lnInclude \
@ -34,6 +35,7 @@ EXE_LIBS = \
-lsolidMixture \ -lsolidMixture \
-lthermophysicalFunctions \ -lthermophysicalFunctions \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lchemistryModel \ -lchemistryModel \
-lradiation \ -lradiation \
-lODE \ -lODE \

View File

@ -1,9 +1,9 @@
Info<< "\nConstructing reacting cloud" << endl; Info<< "\nConstructing reacting cloud" << endl;
thermoReactingCloud parcels basicReactingCloud parcels
( (
"reactingCloud1", "reactingCloud1",
rho, rho,
U, U,
g, g,
thermo slgThermo
); );

View File

@ -8,6 +8,8 @@
hsCombustionThermo& thermo = chemistry.thermo(); hsCombustionThermo& thermo = chemistry.thermo();
SLGThermo slgThermo(mesh, thermo);
basicMultiComponentMixture& composition = thermo.composition(); basicMultiComponentMixture& composition = thermo.composition();
PtrList<volScalarField>& Y = composition.Y(); PtrList<volScalarField>& Y = composition.Y();

View File

@ -33,10 +33,11 @@ Description
#include "fvCFD.H" #include "fvCFD.H"
#include "hCombustionThermo.H" #include "hCombustionThermo.H"
#include "turbulenceModel.H" #include "turbulenceModel.H"
#include "BasicReactingCloud.H" #include "basicReactingCloud.H"
#include "psiChemistryModel.H" #include "psiChemistryModel.H"
#include "chemistrySolver.H" #include "chemistrySolver.H"
#include "radiationModel.H" #include "radiationModel.H"
#include "SLGThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,9 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
set -x
wmake libso nonuniformTransformCyclic
wmake
# ----------------------------------------------------------------- end-of-file

View File

@ -1,11 +1,9 @@
EXE_INC = \ EXE_INC = \
-InonuniformTransformCyclic/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude -I$(LIB_SRC)/dynamicMesh/lnInclude
EXE_LIBS = \ EXE_LIBS = \
-lnonuniformTransformCyclic \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-ldynamicMesh -ldynamicMesh

View File

@ -1,8 +0,0 @@
fvPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.C
pointPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.C
polyPatches/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.C
pointPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.C
fvsPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.C
fvPatchFields/constraint/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFields.C
LIB = $(FOAM_LIBBIN)/libnonuniformTransformCyclic

View File

@ -1,5 +0,0 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
LIB_LIBS = \
-lfiniteVolume

View File

@ -341,13 +341,14 @@ $(basicPolyPatches)/coupled/coupledPolyPatch.C
$(basicPolyPatches)/generic/genericPolyPatch.C $(basicPolyPatches)/generic/genericPolyPatch.C
constraintPolyPatches = $(polyPatches)/constraint constraintPolyPatches = $(polyPatches)/constraint
$(constraintPolyPatches)/empty/emptyPolyPatch.C
$(constraintPolyPatches)/symmetry/symmetryPolyPatch.C
$(constraintPolyPatches)/wedge/wedgePolyPatch.C
$(constraintPolyPatches)/cyclic/cyclicPolyPatch.C $(constraintPolyPatches)/cyclic/cyclicPolyPatch.C
$(constraintPolyPatches)/cyclicSlip/cyclicSlipPolyPatch.C $(constraintPolyPatches)/cyclicSlip/cyclicSlipPolyPatch.C
$(constraintPolyPatches)/empty/emptyPolyPatch.C
$(constraintPolyPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicPolyPatch.C
$(constraintPolyPatches)/processorCyclic/processorCyclicPolyPatch.C $(constraintPolyPatches)/processorCyclic/processorCyclicPolyPatch.C
$(constraintPolyPatches)/processor/processorPolyPatch.C $(constraintPolyPatches)/processor/processorPolyPatch.C
$(constraintPolyPatches)/symmetry/symmetryPolyPatch.C
$(constraintPolyPatches)/wedge/wedgePolyPatch.C
derivedPolyPatches = $(polyPatches)/derived derivedPolyPatches = $(polyPatches)/derived
$(derivedPolyPatches)/wall/wallPolyPatch.C $(derivedPolyPatches)/wall/wallPolyPatch.C
@ -453,13 +454,14 @@ $(basicPointPatches)/coupled/coupledPointPatch.C
$(basicPointPatches)/generic/genericPointPatch.C $(basicPointPatches)/generic/genericPointPatch.C
constraintPointPatches = $(pointPatches)/constraint constraintPointPatches = $(pointPatches)/constraint
$(constraintPointPatches)/empty/emptyPointPatch.C
$(constraintPointPatches)/symmetry/symmetryPointPatch.C
$(constraintPointPatches)/wedge/wedgePointPatch.C
$(constraintPointPatches)/cyclic/cyclicPointPatch.C $(constraintPointPatches)/cyclic/cyclicPointPatch.C
$(constraintPointPatches)/cyclicSlip/cyclicSlipPointPatch.C $(constraintPointPatches)/cyclicSlip/cyclicSlipPointPatch.C
$(constraintPointPatches)/empty/emptyPointPatch.C
$(constraintPointPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatch.C
$(constraintPointPatches)/processor/processorPointPatch.C $(constraintPointPatches)/processor/processorPointPatch.C
$(constraintPointPatches)/processorCyclic/processorCyclicPointPatch.C $(constraintPointPatches)/processorCyclic/processorCyclicPointPatch.C
$(constraintPointPatches)/symmetry/symmetryPointPatch.C
$(constraintPointPatches)/wedge/wedgePointPatch.C
derivedPointPatches = $(pointPatches)/derived derivedPointPatches = $(pointPatches)/derived
$(derivedPointPatches)/coupled/coupledFacePointPatch.C $(derivedPointPatches)/coupled/coupledFacePointPatch.C
@ -520,13 +522,14 @@ $(basicPointPatchFields)/zeroGradient/zeroGradientPointPatchFields.C
$(basicPointPatchFields)/mixed/mixedPointPatchFields.C $(basicPointPatchFields)/mixed/mixedPointPatchFields.C
constraintPointPatchFields = $(pointPatchFields)/constraint constraintPointPatchFields = $(pointPatchFields)/constraint
$(constraintPointPatchFields)/empty/emptyPointPatchFields.C
$(constraintPointPatchFields)/symmetry/symmetryPointPatchFields.C
$(constraintPointPatchFields)/wedge/wedgePointPatchFields.C
$(constraintPointPatchFields)/cyclic/cyclicPointPatchFields.C $(constraintPointPatchFields)/cyclic/cyclicPointPatchFields.C
$(constraintPointPatchFields)/cyclicSlip/cyclicSlipPointPatchFields.C $(constraintPointPatchFields)/cyclicSlip/cyclicSlipPointPatchFields.C
$(constraintPointPatchFields)/empty/emptyPointPatchFields.C
$(constraintPointPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicPointPatchFields.C
$(constraintPointPatchFields)/processor/processorPointPatchFields.C $(constraintPointPatchFields)/processor/processorPointPatchFields.C
$(constraintPointPatchFields)/processorCyclic/processorCyclicPointPatchFields.C $(constraintPointPatchFields)/processorCyclic/processorCyclicPointPatchFields.C
$(constraintPointPatchFields)/symmetry/symmetryPointPatchFields.C
$(constraintPointPatchFields)/wedge/wedgePointPatchFields.C
derivedPointPatchFields = $(pointPatchFields)/derived derivedPointPatchFields = $(pointPatchFields)/derived
$(derivedPointPatchFields)/slip/slipPointPatchFields.C $(derivedPointPatchFields)/slip/slipPointPatchFields.C

View File

@ -38,8 +38,7 @@ Description
dictionaries since, unlike the IOdictionary class, it does not use an dictionaries since, unlike the IOdictionary class, it does not use an
objectRegistry itself to work. objectRegistry itself to work.
ToDo To add - a merge() member function with a non-const dictionary parameter?
A merge() member function with a non-const dictionary parameter.
This would avoid unnecessary cloning in the add(entry*, bool) method. This would avoid unnecessary cloning in the add(entry*, bool) method.
SourceFiles SourceFiles

View File

@ -156,6 +156,29 @@ public:
); );
} }
//- Construct and return a clone, resetting the face list
// and boundary mesh
virtual autoPtr<polyPatch> clone
(
const polyBoundaryMesh& bm,
const label index,
const unallocLabelList& mapAddressing,
const label newStart
) const
{
return autoPtr<polyPatch>
(
new nonuniformTransformCyclicPolyPatch
(
*this,
bm,
index,
mapAddressing,
newStart
)
);
}
// Destructor // Destructor

View File

@ -16,13 +16,14 @@ $(basicFvPatches)/coupled/coupledFvPatch.C
$(basicFvPatches)/generic/genericFvPatch.C $(basicFvPatches)/generic/genericFvPatch.C
constraintFvPatches = $(fvPatches)/constraint constraintFvPatches = $(fvPatches)/constraint
$(constraintFvPatches)/empty/emptyFvPatch.C
$(constraintFvPatches)/symmetry/symmetryFvPatch.C
$(constraintFvPatches)/wedge/wedgeFvPatch.C
$(constraintFvPatches)/cyclic/cyclicFvPatch.C $(constraintFvPatches)/cyclic/cyclicFvPatch.C
$(constraintFvPatches)/cyclicSlip/cyclicSlipFvPatch.C $(constraintFvPatches)/cyclicSlip/cyclicSlipFvPatch.C
$(constraintFvPatches)/empty/emptyFvPatch.C
$(constraintFvPatches)/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatch.C
$(constraintFvPatches)/processor/processorFvPatch.C $(constraintFvPatches)/processor/processorFvPatch.C
$(constraintFvPatches)/processorCyclic/processorCyclicFvPatch.C $(constraintFvPatches)/processorCyclic/processorCyclicFvPatch.C
$(constraintFvPatches)/symmetry/symmetryFvPatch.C
$(constraintFvPatches)/wedge/wedgeFvPatch.C
derivedFvPatches = $(fvPatches)/derived derivedFvPatches = $(fvPatches)/derived
$(derivedFvPatches)/wall/wallFvPatch.C $(derivedFvPatches)/wall/wallFvPatch.C
@ -100,6 +101,7 @@ $(constraintFvPatchFields)/cyclic/cyclicFvPatchFields.C
$(constraintFvPatchFields)/cyclicSlip/cyclicSlipFvPatchFields.C $(constraintFvPatchFields)/cyclicSlip/cyclicSlipFvPatchFields.C
$(constraintFvPatchFields)/empty/emptyFvPatchFields.C $(constraintFvPatchFields)/empty/emptyFvPatchFields.C
$(constraintFvPatchFields)/jumpCyclic/jumpCyclicFvPatchFields.C $(constraintFvPatchFields)/jumpCyclic/jumpCyclicFvPatchFields.C
$(constraintFvPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicFvPatchFields.C
$(constraintFvPatchFields)/processor/processorFvPatchFields.C $(constraintFvPatchFields)/processor/processorFvPatchFields.C
$(constraintFvPatchFields)/processor/processorFvPatchScalarField.C $(constraintFvPatchFields)/processor/processorFvPatchScalarField.C
$(constraintFvPatchFields)/processorCyclic/processorCyclicFvPatchFields.C $(constraintFvPatchFields)/processorCyclic/processorCyclicFvPatchFields.C
@ -174,12 +176,12 @@ constraintFvsPatchFields = $(fvsPatchFields)/constraint
$(constraintFvsPatchFields)/cyclic/cyclicFvsPatchFields.C $(constraintFvsPatchFields)/cyclic/cyclicFvsPatchFields.C
$(constraintFvsPatchFields)/cyclicSlip/cyclicSlipFvsPatchFields.C $(constraintFvsPatchFields)/cyclicSlip/cyclicSlipFvsPatchFields.C
$(constraintFvsPatchFields)/empty/emptyFvsPatchFields.C $(constraintFvsPatchFields)/empty/emptyFvsPatchFields.C
$(constraintFvsPatchFields)/nonuniformTransformCyclic/nonuniformTransformCyclicFvsPatchFields.C
$(constraintFvsPatchFields)/processor/processorFvsPatchFields.C $(constraintFvsPatchFields)/processor/processorFvsPatchFields.C
$(constraintFvsPatchFields)/processorCyclic/processorCyclicFvsPatchFields.C $(constraintFvsPatchFields)/processorCyclic/processorCyclicFvsPatchFields.C
$(constraintFvsPatchFields)/symmetry/symmetryFvsPatchFields.C $(constraintFvsPatchFields)/symmetry/symmetryFvsPatchFields.C
$(constraintFvsPatchFields)/wedge/wedgeFvsPatchFields.C $(constraintFvsPatchFields)/wedge/wedgeFvsPatchFields.C
fields/volFields/volFields.C fields/volFields/volFields.C
fields/surfaceFields/surfaceFields.C fields/surfaceFields/surfaceFields.C

View File

@ -57,18 +57,18 @@ cyclicFvPatchField<Type>::cyclicFvPatchField
coupledFvPatchField<Type>(ptf, p, iF, mapper), coupledFvPatchField<Type>(ptf, p, iF, mapper),
cyclicPatch_(refCast<const cyclicFvPatch>(p)) cyclicPatch_(refCast<const cyclicFvPatch>(p))
{ {
if (!isType<cyclicFvPatch>(this->patch())) if (!isA<cyclicFvPatch>(this->patch()))
{ {
FatalErrorIn FatalErrorIn
( (
"cyclicFvPatchField<Type>::cyclicFvPatchField\n" "cyclicFvPatchField<Type>::cyclicFvPatchField"
"(\n" "("
" const cyclicFvPatchField<Type>& ptf,\n" "const cyclicFvPatchField<Type>& ,"
" const fvPatch& p,\n" "const fvPatch&, "
" const DimensionedField<Type, volMesh>& iF,\n" "const DimensionedField<Type, volMesh>&, "
" const fvPatchFieldMapper& mapper\n" "const fvPatchFieldMapper&"
")\n" ")"
) << "\n patch type '" << p.type() ) << " patch type '" << p.type()
<< "' not constraint type '" << typeName << "'" << "' not constraint type '" << typeName << "'"
<< "\n for patch " << p.name() << "\n for patch " << p.name()
<< " of field " << this->dimensionedInternalField().name() << " of field " << this->dimensionedInternalField().name()
@ -89,18 +89,18 @@ cyclicFvPatchField<Type>::cyclicFvPatchField
coupledFvPatchField<Type>(p, iF, dict), coupledFvPatchField<Type>(p, iF, dict),
cyclicPatch_(refCast<const cyclicFvPatch>(p)) cyclicPatch_(refCast<const cyclicFvPatch>(p))
{ {
if (!isType<cyclicFvPatch>(p)) if (!isA<cyclicFvPatch>(p))
{ {
FatalIOErrorIn FatalIOErrorIn
( (
"cyclicFvPatchField<Type>::cyclicFvPatchField\n" "cyclicFvPatchField<Type>::cyclicFvPatchField"
"(\n" "("
" const fvPatch& p,\n" "const fvPatch&, "
" const Field<Type>& field,\n" "const Field<Type>&, "
" const dictionary& dict\n" "const dictionary&"
")\n", ")",
dict dict
) << "\n patch type '" << p.type() ) << " patch type '" << p.type()
<< "' not constraint type '" << typeName << "'" << "' not constraint type '" << typeName << "'"
<< "\n for patch " << p.name() << "\n for patch " << p.name()
<< " of field " << this->dimensionedInternalField().name() << " of field " << this->dimensionedInternalField().name()

View File

@ -1,5 +1,6 @@
/* Coal parcel and sub-models */ /* Coal parcel and sub-models */
CoalParcel/defineCoalParcel.C coalParcel/coalParcel.C
CoalParcel/makeCoalParcelSubmodels.C coalParcel/defineCoalParcel.C
coalParcel/makeCoalParcelSubmodels.C
LIB = $(FOAM_LIBBIN)/libcoalCombustion LIB = $(FOAM_LIBBIN)/libcoalCombustion

View File

@ -11,6 +11,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@ -32,6 +33,7 @@ LIB_LIBS = \
-lsolids \ -lsolids \
-lsolidMixture \ -lsolidMixture \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lcompressibleRASModels \ -lcompressibleRASModels \
-lcompressibleLESModels \ -lcompressibleLESModels \
-lsurfaceFilmModels -lsurfaceFilmModels

View File

@ -25,29 +25,21 @@ Class
CoalCloud CoalCloud
Description Description
Coal cloud templated on the type of carrier phase thermodynamics Coal cloud
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef CoalCloud_H #ifndef coalCloud_H
#define CoalCloud_H #define coalCloud_H
#include "ReactingMultiphaseCloud.H" #include "ReactingMultiphaseCloud.H"
#include "CoalParcel.H" #include "coalParcel.H"
#include "thermoPhysicsTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
typedef ReactingMultiphaseCloud<CoalParcel<constGasThermoPhysics> > typedef ReactingMultiphaseCloud<coalParcel> coalCloud;
constThermoCoalCloud;
typedef ReactingMultiphaseCloud<CoalParcel<gasThermoPhysics> >
thermoCoalCloud;
typedef ReactingMultiphaseCloud<CoalParcel<icoPoly8ThermoPhysics> >
icoPoly8ThermoCoalCloud;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -23,26 +23,24 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "CoalParcel.H" #include "coalParcel.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::coalParcel::coalParcel
Foam::CoalParcel<ThermoType>::CoalParcel
( (
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner, ReactingMultiphaseCloud<coalParcel>& owner,
const vector& position, const vector& position,
const label cellI const label cellI
) )
: :
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(owner, position, cellI) ReactingMultiphaseParcel<coalParcel>(owner, position, cellI)
{} {}
template<class ThermoType> Foam::coalParcel::coalParcel
Foam::CoalParcel<ThermoType>::CoalParcel
( (
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner, ReactingMultiphaseCloud<coalParcel>& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -56,12 +54,10 @@ Foam::CoalParcel<ThermoType>::CoalParcel
const scalarField& YGas0, const scalarField& YGas0,
const scalarField& YLiquid0, const scalarField& YLiquid0,
const scalarField& YSolid0, const scalarField& YSolid0,
const typename const ReactingMultiphaseParcel<coalParcel>::constantProperties& constProps
ReactingMultiphaseParcel<CoalParcel<ThermoType> >::
constantProperties& constProps
) )
: :
ReactingMultiphaseParcel<CoalParcel<ThermoType> > ReactingMultiphaseParcel<coalParcel>
( (
owner, owner,
position, position,
@ -82,22 +78,27 @@ Foam::CoalParcel<ThermoType>::CoalParcel
{} {}
template<class ThermoType> Foam::coalParcel::coalParcel
Foam::CoalParcel<ThermoType>::CoalParcel
( (
const Cloud<CoalParcel<ThermoType> >& cloud, const Cloud<coalParcel>& cloud,
Istream& is, Istream& is,
bool readFields bool readFields
) )
: :
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(cloud, is, readFields) ReactingMultiphaseParcel<coalParcel>(cloud, is, readFields)
{} {}
Foam::coalParcel::coalParcel(const coalParcel& p)
:
ReactingMultiphaseParcel<coalParcel>(p)
{
}
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::coalParcel::~coalParcel()
Foam::CoalParcel<ThermoType>::~CoalParcel()
{} {}

View File

@ -22,19 +22,18 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
CoalParcel coalParcel
Description Description
Coal parcel class
SourceFiles SourceFiles
CoalParcel.C CoalParcel.C
CoalParcelIO.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef CoalParcel_H #ifndef coalParcel_H
#define CoalParcel_H #define coalParcel_H
#include "ReactingMultiphaseParcel.H" #include "ReactingMultiphaseParcel.H"
@ -43,42 +42,34 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward declaration of classes
template<class ThermoType>
class CoalParcel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class CoalParcel Declaration Class coalParcel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class ThermoType> class coalParcel
class CoalParcel
: :
public ReactingMultiphaseParcel<CoalParcel<ThermoType> > public ReactingMultiphaseParcel<coalParcel>
{ {
public: public:
//- The type of thermodynamics this parcel was instantiated for
typedef ThermoType thermoType;
// Run-time type information // Run-time type information
TypeName("CoalParcel"); TypeName("coalParcel");
// Constructors // Constructors
//- Construct from owner, position, and cloud owner //- Construct from owner, position, and cloud owner
// Other properties initialised as null // Other properties initialised as null
CoalParcel coalParcel
( (
ReactingMultiphaseCloud<CoalParcel>& owner, ReactingMultiphaseCloud<coalParcel>& owner,
const vector& position, const vector& position,
const label cellI const label cellI
); );
//- Construct from components //- Construct from components
CoalParcel coalParcel
( (
ReactingMultiphaseCloud<CoalParcel>& owner, ReactingMultiphaseCloud<coalParcel>& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -92,28 +83,30 @@ public:
const scalarField& YGas0, const scalarField& YGas0,
const scalarField& YLiquid0, const scalarField& YLiquid0,
const scalarField& YSolid0, const scalarField& YSolid0,
const typename const ReactingMultiphaseParcel<coalParcel>::constantProperties&
ReactingMultiphaseParcel<CoalParcel>:: constProps
constantProperties& constProps
); );
//- Construct from Istream //- Construct from Istream
CoalParcel coalParcel
( (
const Cloud<CoalParcel>& c, const Cloud<coalParcel>& c,
Istream& is, Istream& is,
bool readFields = true bool readFields = true
); );
//- Construct as a copy
coalParcel(const coalParcel& p);
//- Construct and return a clone //- Construct and return a clone
autoPtr<CoalParcel> clone() const autoPtr<coalParcel> clone() const
{ {
return autoPtr<CoalParcel>(new CoalParcel(*this)); return autoPtr<coalParcel>(new coalParcel(*this));
} }
//- Destructor //- Destructor
virtual ~CoalParcel(); virtual ~coalParcel();
}; };
@ -123,12 +116,6 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "CoalParcel.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -23,14 +23,14 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "createCoalParcelTypes.H" #include "createReactingMultiphaseParcelTypes.H"
#include "CoalParcel.H" #include "coalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
createCoalParcelType(CoalParcel); createReactingMultiphaseParcelTypes(coalParcel);
}; };

View File

@ -23,26 +23,26 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "CoalParcel.H" #include "coalParcel.H"
// Kinematic // Kinematic
#include "makeReactingParcelDispersionModels.H" #include "makeParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H" #include "makeParcelDragModels.H"
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant #include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
#include "makeReactingParcelCollisionModels.H" #include "makeParcelCollisionModels.H"
#include "makeReactingParcelPatchInteractionModels.H" #include "makeParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H" #include "makeParcelPostProcessingModels.H"
// Thermodynamic // Thermodynamic
#include "makeReactingParcelHeatTransferModels.H" #include "makeParcelHeatTransferModels.H"
// Reacting // Reacting
#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant #include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant
#include "makeReactingParcelPhaseChangeModels.H" #include "makeReactingParcelPhaseChangeModels.H"
#include "makeReactingParcelSurfaceFilmModels.H"
// Reacting multiphase // Reacting multiphase
#include "makeReactingMultiphaseParcelDevolatilisationModels.H" #include "makeReactingMultiphaseParcelDevolatilisationModels.H"
#include "makeReactingMultiphaseParcelSurfaceFilmModels.H"
// Coal specific // Coal specific
#include "makeCoalParcelSurfaceReactionModels.H" #include "makeCoalParcelSurfaceReactionModels.H"
@ -52,24 +52,24 @@ License
namespace Foam namespace Foam
{ {
// Kinematic sub-models // Kinematic sub-models
makeReactingDispersionModels(CoalParcel); makeParcelDispersionModels(coalParcel);
makeReactingDragModels(CoalParcel); makeParcelDragModels(coalParcel);
makeReactingMultiphaseInjectionModels(CoalParcel); makeReactingMultiphaseParcelInjectionModels(coalParcel);
makeReactingCollisionModels(CoalParcel); makeParcelCollisionModels(coalParcel);
makeReactingPatchInteractionModels(CoalParcel); makeParcelPatchInteractionModels(coalParcel);
makeReactingPostProcessingModels(CoalParcel); makeParcelPostProcessingModels(coalParcel);
// Thermo sub-models // Thermo sub-models
makeReactingHeatTransferModels(CoalParcel); makeParcelHeatTransferModels(coalParcel);
// Reacting sub-models // Reacting sub-models
makeReactingMultiphaseCompositionModels(CoalParcel); makeReactingMultiphaseParcelCompositionModels(coalParcel);
makeReactingPhaseChangeModels(CoalParcel); makeReactingParcelPhaseChangeModels(coalParcel);
// Reacting multiphase sub-models // Reacting multiphase sub-models
makeReactingMultiphaseDevolatilisationModels(CoalParcel); makeReactingMultiphaseParcelDevolatilisationModels(coalParcel);
makeReactingMultiphaseSurfaceFilmModels(CoalParcel); makeReactingParcelSurfaceFilmModels(coalParcel);
makeCoalSurfaceReactionModels(CoalParcel); makeCoalParcelSurfaceReactionModels(coalParcel);
}; };

View File

@ -1,98 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef createCoalParcelTypes_H
#define createCoalParcelTypes_H
#include "thermoPhysicsTypes.H"
#include "CoalCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createCoalParcelType(ParcelType) \
\
createCoalParcelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
createCoalParcelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
createCoalParcelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define createCoalParcelThermoType(ParcelType, ThermoType) \
\
typedef ParcelType<ThermoType> ParcelType##ThermoType; \
\
defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \
defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \
\
defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug \
( \
KinematicParcel<ParcelType##ThermoType>, \
0 \
); \
defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\
defineParcelTypeNameAndDebug \
( \
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
0 \
); \
defineTemplateTypeNameAndDebug \
( \
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
0 \
); \
defineParcelTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \
\
defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug \
( \
ReactingMultiphaseCloud<ParcelType##ThermoType>, \
0 \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingMultiphaseCloud.H" #include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H" #include "NoSurfaceReaction.H"
@ -38,59 +37,33 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeCoalSurfaceReactionModels(ParcelType) \ #define makeCoalParcelSurfaceReactionModels(ParcelType) \
\ \
makeCoalSurfaceReactionModelThermoType \ makeSurfaceReactionModel(ReactingMultiphaseCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeCoalSurfaceReactionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeCoalSurfaceReactionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeCoalSurfaceReactionModelThermoType(ParcelType, ThermoType) \
\ \
makeSurfaceReactionModel \ makeSurfaceReactionModelType \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeSurfaceReactionModelThermoType \
( \ ( \
NoSurfaceReaction, \ NoSurfaceReaction, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeSurfaceReactionModelThermoType \ makeSurfaceReactionModelType \
( \ ( \
COxidationDiffusionLimitedRate, \ COxidationDiffusionLimitedRate, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeSurfaceReactionModelThermoType \ makeSurfaceReactionModelType \
( \ ( \
COxidationKineticDiffusionLimitedRate, \ COxidationKineticDiffusionLimitedRate, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeSurfaceReactionModelThermoType \ makeSurfaceReactionModelType \
( \ ( \
COxidationMurphyShaddix, \ COxidationMurphyShaddix, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -50,10 +50,10 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
CsLocalId_ = owner.composition().localId(idSolid, "C"); CsLocalId_ = owner.composition().localId(idSolid, "C");
// Set local copies of thermo properties // Set local copies of thermo properties
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W(); WO2_ = owner.thermo().carrier().W(O2GlobalId_);
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W(); const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
WC_ = WCO2 - WO2_; WC_ = WCO2 - WO2_;
HcCO2_ = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].Hc(); HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
if (Sb_ < 0) if (Sb_ < 0)
{ {
@ -120,7 +120,7 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate
} }
// Local mass fraction of O2 in the carrier phase // Local mass fraction of O2 in the carrier phase
const scalar YO2 = this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI]; const scalar YO2 = this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
// Change in C mass [kg] // Change in C mass [kg]
scalar dmC = scalar dmC =

View File

@ -58,10 +58,10 @@ COxidationKineticDiffusionLimitedRate
CsLocalId_ = owner.composition().localId(idSolid, "C"); CsLocalId_ = owner.composition().localId(idSolid, "C");
// Set local copies of thermo properties // Set local copies of thermo properties
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W(); WO2_ = owner.thermo().carrier().W(O2GlobalId_);
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W(); const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
WC_ = WCO2 - WO2_; WC_ = WCO2 - WO2_;
HcCO2_ = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].Hc(); HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
if (Sb_ < 0) if (Sb_ < 0)
{ {
@ -128,7 +128,7 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
} }
// Local mass fraction of O2 in the carrier phase // Local mass fraction of O2 in the carrier phase
const scalar YO2 = this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI]; const scalar YO2 = this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
// Diffusion rate coefficient // Diffusion rate coefficient
const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75); const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75);

View File

@ -69,8 +69,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
CsLocalId_ = owner.composition().localId(idSolid, "C"); CsLocalId_ = owner.composition().localId(idSolid, "C");
// Set local copies of thermo properties // Set local copies of thermo properties
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W(); WO2_ = owner.thermo().carrier().W(O2GlobalId_);
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W(); const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
WC_ = WCO2 - WO2_; WC_ = WCO2 - WO2_;
} }
@ -125,7 +125,7 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
// Cell carrier phase O2 species density [kg/m^3] // Cell carrier phase O2 species density [kg/m^3]
const scalar rhoO2 = const scalar rhoO2 =
rhoc*this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI]; rhoc*this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
if (rhoO2 < SMALL) if (rhoO2 < SMALL)
{ {
@ -207,10 +207,8 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
const scalar HC = const scalar HC =
this->owner().composition().solids().properties()[CsLocalId_].Hf() this->owner().composition().solids().properties()[CsLocalId_].Hf()
+ this->owner().composition().solids().properties()[CsLocalId_].cp()*T; + this->owner().composition().solids().properties()[CsLocalId_].cp()*T;
const scalar HCO2 = const scalar HCO2 = this->owner().thermo().carrier().H(CO2GlobalId_, T);
this->owner().mcCarrierThermo().speciesData()[CO2GlobalId_].H(T); const scalar HO2 = this->owner().thermo().carrier().H(O2GlobalId_, T);
const scalar HO2 =
this->owner().mcCarrierThermo().speciesData()[O2GlobalId_].H(T);
// Heat of reaction // Heat of reaction
return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2); return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2);

View File

@ -13,7 +13,8 @@ spray::iterator pMax = p2;
scalar dMin = pMin().d(); scalar dMin = pMin().d();
scalar dMax = pMax().d(); scalar dMax = pMax().d();
if (dMin > dMax) { if (dMin > dMax)
{
dMin = pMax().d(); dMin = pMax().d();
dMax = pMin().d(); dMax = pMin().d();
pMin = p2; pMin = p2;
@ -31,13 +32,14 @@ scalar nMin = pMin().N(rhoMin);
scalar mdMin = mMin/nMin; scalar mdMin = mMin/nMin;
scalar nu0 = 0.25*constant::mathematical::pi*sumD*sumD*magVRel*dt/vols_[cell1]; scalar nu0 = 0.25*constant::mathematical::pi*sqr(sumD)*magVRel*dt/vols_[cell1];
scalar nu = nMin*nu0; scalar nu = nMin*nu0;
scalar collProb = exp(-nu); scalar collProb = exp(-nu);
scalar xx = rndGen_.scalar01(); scalar xx = rndGen_.scalar01();
// collision occur if ((xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL))
if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) { {
// collision occurs
scalar gamma = dMax/max(dMin, 1.0e-12); scalar gamma = dMax/max(dMin, 1.0e-12);
scalar f = gamma*gamma*gamma + 2.7*gamma - 2.4*gamma*gamma; scalar f = gamma*gamma*gamma + 2.7*gamma - 2.4*gamma*gamma;
@ -63,8 +65,8 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
scalar prob = rndGen_.scalar01(); scalar prob = rndGen_.scalar01();
// Coalescence // Coalescence
if ( prob < coalesceProb && coalescence_) { if (prob < coalesceProb && coalescence_)
{
// How 'many' of the droplets coalesce // How 'many' of the droplets coalesce
// This is the kiva way ... which actually works best // This is the kiva way ... which actually works best
@ -73,14 +75,17 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
label n=2; label n=2;
// xx > collProb=zz // xx > collProb=zz
while ((zz < xx) && (n<1000)) { while ((zz < xx) && (n<1000))
{
zz += vnu; zz += vnu;
vnu *= nu/n; vnu *= nu/n;
n++;
} }
//Info<< "vnu = " << vnu << ", n = " << n << endl;
scalar nProb = n - 1; scalar nProb = n - 1;
// All droplets coalesce // All droplets coalesce
if (nProb*nMax > nMin) { if (nProb*nMax > nMin)
{
nProb = nMin/nMax; nProb = nMin/nMax;
} }
@ -93,7 +98,7 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
pMax().T() = (averageTemp*mTot - newMinMass*pMin().T())/newMaxMass; pMax().T() = (averageTemp*mTot - newMinMass*pMin().T())/newMaxMass;
rhoMax = spray_.fuels().rho(pc, pMax().T(), pMax().X()); rhoMax = spray_.fuels().rho(pc, pMax().T(), pMax().X());
scalar d3 = pow(dMax, 3) + nProb*pow(dMin,3); scalar d3 = pow3(dMax) + nProb*pow3(dMin);
pMax().d() = cbrt(d3); pMax().d() = cbrt(d3);
pMax().U() = (momMax + (1.0-newMinMass/mMin)*momMin)/newMaxMass; pMax().U() = (momMax + (1.0-newMinMass/mMin)*momMin)/newMaxMass;
@ -110,14 +115,15 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
{ {
pMax().X()[i] = Ynew[i]/(spray_.fuels().properties()[i].W()*Wlinv); pMax().X()[i] = Ynew[i]/(spray_.fuels().properties()[i].W()*Wlinv);
} }
} }
// Grazing collision (no coalescence) else
else { {
// Grazing collision (no coalescence)
scalar gf = sqrt(prob) - sqrt(coalesceProb); scalar gf = sqrt(prob) - sqrt(coalesceProb);
scalar denom = 1.0 - sqrt(coalesceProb); scalar denom = 1.0 - sqrt(coalesceProb);
if (denom < 1.0e-5) { if (denom < 1.0e-5)
{
denom = 1.0; denom = 1.0;
} }
gf /= denom; gf /= denom;
@ -139,16 +145,16 @@ if (( xx > collProb) && (mMin > VSMALL) && (mMax > VSMALL)) {
vector v1p = (mr + m2*gf*vRel)/(m1+m2); vector v1p = (mr + m2*gf*vRel)/(m1+m2);
vector v2p = (mr - m1*gf*vRel)/(m1+m2); vector v2p = (mr - m1*gf*vRel)/(m1+m2);
if (n1 < n2) { if (n1 < n2)
{
p1().U() = v1p; p1().U() = v1p;
p2().U() = (n1*v2p + (n2-n1)*v2)/n2; p2().U() = (n1*v2p + (n2-n1)*v2)/n2;
} }
else { else
{
p1().U() = (n2*v1p + (n1-n2)*v1)/n1; p1().U() = (n2*v1p + (n1-n2)*v1)/n1;
p2().U() = v2p; p2().U() = v2p;
} }
}
} // if - coalescence or not }
} // if - collision

View File

@ -33,13 +33,15 @@ $(THERMOPARCEL)/makeBasicThermoParcelSubmodels.C
/* reacting parcel sub-models */ /* reacting parcel sub-models */
REACTINGPARCEL=$(DERIVEDPARCELS)/BasicReactingParcel REACTINGPARCEL=$(DERIVEDPARCELS)/basicReactingParcel
$(REACTINGPARCEL)/basicReactingParcel.C
$(REACTINGPARCEL)/defineBasicReactingParcel.C $(REACTINGPARCEL)/defineBasicReactingParcel.C
$(REACTINGPARCEL)/makeBasicReactingParcelSubmodels.C $(REACTINGPARCEL)/makeBasicReactingParcelSubmodels.C
/* reacting multiphase parcel sub-models */ /* reacting multiphase parcel sub-models */
REACTINGMPPARCEL=$(DERIVEDPARCELS)/BasicReactingMultiphaseParcel REACTINGMPPARCEL=$(DERIVEDPARCELS)/basicReactingMultiphaseParcel
$(REACTINGMPPARCEL)/basicReactingMultiphaseParcel.C
$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C $(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelSubmodels.C $(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelSubmodels.C
@ -49,9 +51,6 @@ RADIATION=submodels/addOns/radiation
$(RADIATION)/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C $(RADIATION)/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C
$(RADIATION)/scatter/cloudScatter/cloudScatter.C $(RADIATION)/scatter/cloudScatter/cloudScatter.C
SURFACEFILM=submodels/addOns/surfaceFilmModel
$(SURFACEFILM)/injection/cloudInjection/cloudInjection.C
submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
KINEMATICINJECTION=submodels/Kinematic/InjectionModel KINEMATICINJECTION=submodels/Kinematic/InjectionModel

View File

@ -10,6 +10,7 @@ EXE_INC = \
-I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
-I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
@ -19,7 +20,6 @@ EXE_INC = \
-I$(LIB_SRC)/surfaceFilmModels/lnInclude -I$(LIB_SRC)/surfaceFilmModels/lnInclude
LIB_LIBS = \ LIB_LIBS = \
-lsurfaceFilmModels \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-llagrangian \ -llagrangian \
@ -31,8 +31,10 @@ LIB_LIBS = \
-lspecie \ -lspecie \
-lbasicThermophysicalModels \ -lbasicThermophysicalModels \
-lreactionThermophysicalModels \ -lreactionThermophysicalModels \
-lSLGThermo \
-lchemistryModel \ -lchemistryModel \
-lradiation \ -lradiation \
-lODE \ -lODE \
-lcompressibleRASModels \ -lcompressibleRASModels \
-lcompressibleLESModels -lcompressibleLESModels \
-lsurfaceFilmModels

View File

@ -67,9 +67,9 @@ void Foam::ReactingCloud<ParcelType>::preEvolve()
template<class ParcelType> template<class ParcelType>
void Foam::ReactingCloud<ParcelType>::evolveCloud() void Foam::ReactingCloud<ParcelType>::evolveCloud()
{ {
const volScalarField& T = this->carrierThermo().T(); const volScalarField& T = this->thermo().thermo().T();
const volScalarField cp = this->carrierThermo().Cp(); const volScalarField cp = this->thermo().thermo().Cp();
const volScalarField& p = this->carrierThermo().p(); const volScalarField& p = this->thermo().thermo().p();
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
( (
@ -149,17 +149,13 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields bool readFields
) )
: :
ThermoCloud<ParcelType>(cloudName, rho, U, g, thermo, false), ThermoCloud<ParcelType>(cloudName, rho, U, g, thermo, false),
reactingCloud(), reactingCloud(),
constProps_(this->particleProperties()), constProps_(this->particleProperties()),
mcCarrierThermo_
(
dynamic_cast<multiComponentMixture<thermoType>&>(thermo)
),
compositionModel_ compositionModel_
( (
CompositionModel<ReactingCloud<ParcelType> >::New CompositionModel<ReactingCloud<ParcelType> >::New
@ -176,12 +172,13 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud
*this *this
) )
), ),
rhoTrans_(mcCarrierThermo_.species().size()), rhoTrans_(thermo.carrier().species().size()),
dMassPhaseChange_(0.0) dMassPhaseChange_(0.0)
{ {
// Set storage for mass source fields and initialise to zero // Set storage for mass source fields and initialise to zero
forAll(rhoTrans_, i) forAll(rhoTrans_, i)
{ {
const word& specieName = thermo.carrier().species()[i];
rhoTrans_.set rhoTrans_.set
( (
i, i,
@ -189,7 +186,7 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud
( (
IOobject IOobject
( (
this->name() + "rhoTrans_" + mcCarrierThermo_.species()[i], this->name() + "rhoTrans_" + specieName,
this->db().time().timeName(), this->db().time().timeName(),
this->db(), this->db(),
IOobject::NO_READ, IOobject::NO_READ,

View File

@ -42,7 +42,6 @@ SourceFiles
#include "ThermoCloud.H" #include "ThermoCloud.H"
#include "reactingCloud.H" #include "reactingCloud.H"
#include "multiComponentMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -67,11 +66,6 @@ class ReactingCloud
public ThermoCloud<ParcelType>, public ThermoCloud<ParcelType>,
public reactingCloud public reactingCloud
{ {
public:
//- Type of thermodynamics the cloud was instantiated for
typedef typename ParcelType::thermoType thermoType;
private: private:
@ -91,9 +85,6 @@ protected:
//- Parcel constant properties //- Parcel constant properties
typename ParcelType::constantProperties constProps_; typename ParcelType::constantProperties constProps_;
//- Multi-component carrier phase thermo
multiComponentMixture<thermoType>& mcCarrierThermo_;
// References to the cloud sub-models // References to the cloud sub-models
@ -154,7 +145,7 @@ public:
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields = true bool readFields = true
); );
@ -175,13 +166,6 @@ public:
inline const typename ParcelType::constantProperties& inline const typename ParcelType::constantProperties&
constProps() const; constProps() const;
//- Return const access to multi-component carrier phase thermo
inline const multiComponentMixture<thermoType>&
mcCarrierThermo() const;
//- Return access to multi-component carrier phase thermo
inline multiComponentMixture<thermoType>& mcCarrierThermo();
// Sub-models // Sub-models

View File

@ -33,22 +33,6 @@ Foam::ReactingCloud<ParcelType>::constProps() const
} }
template<class ParcelType>
inline const Foam::multiComponentMixture<typename ParcelType::thermoType>&
Foam::ReactingCloud<ParcelType>::mcCarrierThermo() const
{
return mcCarrierThermo_;
}
template<class ParcelType>
inline Foam::multiComponentMixture<typename ParcelType::thermoType>&
Foam::ReactingCloud<ParcelType>::mcCarrierThermo()
{
return mcCarrierThermo_;
}
template<class ParcelType> template<class ParcelType>
inline const Foam::CompositionModel<Foam::ReactingCloud<ParcelType> >& inline const Foam::CompositionModel<Foam::ReactingCloud<ParcelType> >&
Foam::ReactingCloud<ParcelType>::composition() const Foam::ReactingCloud<ParcelType>::composition() const

View File

@ -40,9 +40,9 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::preEvolve()
template<class ParcelType> template<class ParcelType>
void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud() void Foam::ReactingMultiphaseCloud<ParcelType>::evolveCloud()
{ {
const volScalarField& T = this->carrierThermo().T(); const volScalarField& T = this->thermo().thermo().T();
const volScalarField cp = this->carrierThermo().Cp(); const volScalarField cp = this->thermo().thermo().Cp();
const volScalarField& p = this->carrierThermo().p(); const volScalarField& p = this->thermo().thermo().p();
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
( (
@ -122,7 +122,7 @@ Foam::ReactingMultiphaseCloud<ParcelType>::ReactingMultiphaseCloud
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields bool readFields
) )
: :

View File

@ -136,7 +136,7 @@ public:
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields = true bool readFields = true
); );

View File

@ -41,8 +41,8 @@ void Foam::ThermoCloud<ParcelType>::preEvolve()
template<class ParcelType> template<class ParcelType>
void Foam::ThermoCloud<ParcelType>::evolveCloud() void Foam::ThermoCloud<ParcelType>::evolveCloud()
{ {
const volScalarField& T = carrierThermo_.T(); const volScalarField& T = thermo_.thermo().T();
const volScalarField cp = carrierThermo_.Cp(); const volScalarField cp = thermo_.thermo().Cp();
autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New autoPtr<interpolation<scalar> > rhoInterp = interpolation<scalar>::New
( (
@ -115,7 +115,7 @@ Foam::ThermoCloud<ParcelType>::ThermoCloud
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields bool readFields
) )
: :
@ -124,13 +124,13 @@ Foam::ThermoCloud<ParcelType>::ThermoCloud
cloudName, cloudName,
rho, rho,
U, U,
thermo.mu(), thermo.thermo().mu(),
g, g,
false false
), ),
thermoCloud(), thermoCloud(),
constProps_(this->particleProperties()), constProps_(this->particleProperties()),
carrierThermo_(thermo), thermo_(thermo),
heatTransferModel_ heatTransferModel_
( (
HeatTransferModel<ThermoCloud<ParcelType> >::New HeatTransferModel<ThermoCloud<ParcelType> >::New

View File

@ -41,7 +41,7 @@ SourceFiles
#include "KinematicCloud.H" #include "KinematicCloud.H"
#include "thermoCloud.H" #include "thermoCloud.H"
#include "basicThermo.H" #include "SLGThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -82,8 +82,8 @@ protected:
// References to the carrier gas fields // References to the carrier gas fields
//- Thermodynamics package (basic) //- SLG thermodynamics package
basicThermo& carrierThermo_; const SLGThermo& thermo_;
// References to the cloud sub-models // References to the cloud sub-models
@ -136,7 +136,7 @@ public:
const volScalarField& rho, const volScalarField& rho,
const volVectorField& U, const volVectorField& U,
const dimensionedVector& g, const dimensionedVector& g,
basicThermo& thermo, const SLGThermo& thermo,
bool readFields = true bool readFields = true
); );
@ -158,10 +158,7 @@ public:
constProps() const; constProps() const;
//- Return const access to thermo package //- Return const access to thermo package
inline const basicThermo& carrierThermo() const; inline const SLGThermo& thermo() const;
//- Return access to thermo package
inline basicThermo& carrierThermo();
// Sub-models // Sub-models

View File

@ -38,18 +38,9 @@ Foam::ThermoCloud<ParcelType>::constProps() const
template<class ParcelType> template<class ParcelType>
inline const Foam::basicThermo& inline const Foam::SLGThermo& Foam::ThermoCloud<ParcelType>::thermo() const
Foam::ThermoCloud<ParcelType>::carrierThermo() const
{ {
return carrierThermo_; return thermo_;
}
template<class ParcelType>
inline Foam::basicThermo&
Foam::ThermoCloud<ParcelType>::carrierThermo()
{
return carrierThermo_;
} }

View File

@ -22,35 +22,27 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::BasicReactingCloud Foam::basicReactingCloud
Description Description
Reacting cloud templated on the type of carrier phase thermodynamics Cloud class to introduce reacting parcels
SourceFiles SourceFiles
BasicReactingCloud.C BasicReactingCloud.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef BasicReactingCloud_H #ifndef basicReactingCloud_H
#define BasicReactingCloud_H #define basicReactingCloud_H
#include "ReactingCloud.H" #include "ReactingCloud.H"
#include "BasicReactingParcel.H" #include "basicReactingParcel.H"
#include "thermoPhysicsTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
typedef ReactingCloud<BasicReactingParcel<constGasThermoPhysics> > typedef ReactingCloud<basicReactingParcel> basicReactingCloud;
constThermoReactingCloud;
typedef ReactingCloud<BasicReactingParcel<gasThermoPhysics> >
thermoReactingCloud;
typedef ReactingCloud<BasicReactingParcel<icoPoly8ThermoPhysics> >
icoPoly8ThermoReactingCloud;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -22,20 +22,18 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::BasicReactingMultiphaseCloud Foam::basicReactingMultiphaseCloud
Description Description
Reacting multiphase cloud templated on the type of carrier phase Cloud class to introduce multi-phase reacting parcels
thermodynamics
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef BasicReactingMultiphaseCloud_H #ifndef basicReactingMultiphaseCloud_H
#define BasicReactingMultiphaseCloud_H #define basicReactingMultiphaseCloud_H
#include "ReactingMultiphaseCloud.H" #include "ReactingMultiphaseCloud.H"
#include "BasicReactingMultiphaseParcel.H" #include "basicReactingMultiphaseParcel.H"
#include "thermoPhysicsTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -43,30 +41,9 @@ namespace Foam
{ {
typedef ReactingMultiphaseCloud typedef ReactingMultiphaseCloud
< <
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
<
constGasThermoPhysics
>
> >
constThermoReactingMultiphaseCloud; basicReactingMultiphaseCloud;
typedef ReactingMultiphaseCloud
<
BasicReactingMultiphaseParcel
<
gasThermoPhysics
>
>
thermoReactingMultiphaseCloud;
typedef ReactingMultiphaseCloud
<
BasicReactingMultiphaseParcel
<
icoPoly8ThermoPhysics
>
>
icoPoly8ThermoReactingMultiphaseCloud;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -170,8 +170,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::cellValueSourceCorrection
forAll(td.cloud().rhoTrans(), i) forAll(td.cloud().rhoTrans(), i)
{ {
scalar Y = td.cloud().rhoTrans(i)[cellI]/addedMass; scalar Y = td.cloud().rhoTrans(i)[cellI]/addedMass;
cpEff += cpEff += Y*td.cloud().thermo().carrier().Cp(i, this->Tc_);
Y*td.cloud().mcCarrierThermo().speciesData()[i].Cp(this->Tc_);
} }
} }
const scalar cpc = td.cpInterp().psi()[cellI]; const scalar cpc = td.cpInterp().psi()[cellI];
@ -247,7 +246,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
scalar NCpW = 0.0; scalar NCpW = 0.0;
// Surface concentrations of emitted species // Surface concentrations of emitted species
scalarField Cs(td.cloud().mcCarrierThermo().species().size(), 0.0); scalarField Cs(td.cloud().composition().carrier().species().size(), 0.0);
// Calc mass and enthalpy transfer due to phase change // Calc mass and enthalpy transfer due to phase change
calcPhaseChange calcPhaseChange
@ -313,7 +312,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
scalarField scalarField
dMassSRCarrier dMassSRCarrier
( (
td.cloud().mcCarrierThermo().species().size(), td.cloud().composition().carrier().species().size(),
0.0 0.0
); );
@ -547,8 +546,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
const scalar beta = sqr(cbrt(15.0) + cbrt(15.0)); const scalar beta = sqr(cbrt(15.0) + cbrt(15.0));
const label id = const label id =
td.cloud().composition().localToGlobalCarrierId(GAS, i); td.cloud().composition().localToGlobalCarrierId(GAS, i);
const scalar Cp = td.cloud().mcCarrierThermo().speciesData()[id].Cp(Ts); const scalar Cp = td.cloud().thermo().carrier().Cp(id, Ts);
const scalar W = td.cloud().mcCarrierThermo().speciesData()[id].W(); const scalar W = td.cloud().thermo().carrier().W(id);
const scalar Ni = dMassDV[i]/(this->areaS(d)*dt*W); const scalar Ni = dMassDV[i]/(this->areaS(d)*dt*W);
// Dab calc'd using API vapour mass diffusivity function // Dab calc'd using API vapour mass diffusivity function

View File

@ -89,8 +89,7 @@ void Foam::ReactingParcel<ParcelType>::cellValueSourceCorrection
forAll(td.cloud().rhoTrans(), i) forAll(td.cloud().rhoTrans(), i)
{ {
scalar Y = td.cloud().rhoTrans(i)[cellI]/addedMass; scalar Y = td.cloud().rhoTrans(i)[cellI]/addedMass;
cpEff += cpEff += Y*td.cloud().composition().carrier().Cp(i, this->Tc_);
Y*td.cloud().mcCarrierThermo().speciesData()[i].Cp(this->Tc_);
} }
} }
const scalar cpc = td.cpInterp().psi()[cellI]; const scalar cpc = td.cpInterp().psi()[cellI];
@ -121,13 +120,13 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
} }
// Far field carrier molar fractions // Far field carrier molar fractions
scalarField Xinf(td.cloud().mcCarrierThermo().speciesData().size()); scalarField Xinf(td.cloud().thermo().carrier().species().size());
forAll(Xinf, i) forAll(Xinf, i)
{ {
Xinf[i] = Xinf[i] =
td.cloud().mcCarrierThermo().Y(i)[cellI] td.cloud().thermo().carrier().Y(i)[cellI]
/td.cloud().mcCarrierThermo().speciesData()[i].W(); /td.cloud().thermo().carrier().W(i);
} }
Xinf /= sum(Xinf); Xinf /= sum(Xinf);
@ -149,7 +148,7 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
const scalar Csi = Cs[i] + Xsff*Xinf[i]*CsTot; const scalar Csi = Cs[i] + Xsff*Xinf[i]*CsTot;
Xs[i] = (2.0*Csi + Xinf[i]*CsTot)/3.0; Xs[i] = (2.0*Csi + Xinf[i]*CsTot)/3.0;
Ys[i] = Xs[i]*td.cloud().mcCarrierThermo().speciesData()[i].W(); Ys[i] = Xs[i]*td.cloud().thermo().carrier().W(i);
} }
Xs /= sum(Xs); Xs /= sum(Xs);
Ys /= sum(Ys); Ys /= sum(Ys);
@ -164,16 +163,13 @@ void Foam::ReactingParcel<ParcelType>::correctSurfaceValues
forAll(Ys, i) forAll(Ys, i)
{ {
const scalar sqrtW = const scalar sqrtW = sqrt(td.cloud().thermo().carrier().W(i));
sqrt(td.cloud().mcCarrierThermo().speciesData()[i].W()); const scalar cbrtW = cbrt(td.cloud().thermo().carrier().W(i));
const scalar cbrtW =
cbrt(td.cloud().mcCarrierThermo().speciesData()[i].W());
rhos += Xs[i]*td.cloud().mcCarrierThermo().speciesData()[i].W(); rhos += Xs[i]*td.cloud().thermo().carrier().W(i);
mus += Ys[i]*sqrtW*td.cloud().mcCarrierThermo().speciesData()[i].mu(T); mus += Ys[i]*sqrtW*td.cloud().thermo().carrier().mu(i, T);
kappa += kappa += Ys[i]*cbrtW*td.cloud().thermo().carrier().kappa(i, T);
Ys[i]*cbrtW*td.cloud().mcCarrierThermo().speciesData()[i].kappa(T); cps += Xs[i]*td.cloud().thermo().carrier().Cp(i, T);
cps += Xs[i]*td.cloud().mcCarrierThermo().speciesData()[i].Cp(T);
sumYiSqrtW += Ys[i]*sqrtW; sumYiSqrtW += Ys[i]*sqrtW;
sumYiCbrtW += Ys[i]*cbrtW; sumYiCbrtW += Ys[i]*cbrtW;
@ -267,7 +263,7 @@ void Foam::ReactingParcel<ParcelType>::calc
scalar NCpW = 0.0; scalar NCpW = 0.0;
// Surface concentrations of emitted species // Surface concentrations of emitted species
scalarField Cs(td.cloud().mcCarrierThermo().species().size(), 0.0); scalarField Cs(td.cloud().composition().carrier().species().size(), 0.0);
// Calc mass and enthalpy transfer due to phase change // Calc mass and enthalpy transfer due to phase change
calcPhaseChange calcPhaseChange
@ -416,10 +412,10 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
scalarField& Cs scalarField& Cs
) )
{ {
typedef PhaseChangeModel typedef typename ReactingParcel<ParcelType>::trackData::cloudType cloudType;
< typedef PhaseChangeModel<cloudType> phaseChangeModelType;
typename ReactingParcel<ParcelType>::trackData::cloudType const CompositionModel<cloudType>& composition = td.cloud().composition();
> phaseChangeModelType;
if if
( (
@ -458,9 +454,8 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
forAll(YComponents, i) forAll(YComponents, i)
{ {
const label idc = const label idc = composition.localToGlobalCarrierId(idPhase, i);
td.cloud().composition().localToGlobalCarrierId(idPhase, i); const label idl = composition.globalIds(idPhase)[i];
const label idl = td.cloud().composition().globalIds(idPhase)[i];
// Calculate enthalpy transfer // Calculate enthalpy transfer
if if
@ -469,28 +464,25 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
== phaseChangeModelType::etLatentHeat == phaseChangeModelType::etLatentHeat
) )
{ {
scalar hlp = scalar hlp = composition.liquids().properties()[idl].hl(pc_, T);
td.cloud().composition().liquids().properties()[idl].hl(pc_, T);
Sh -= dMassPC[i]*hlp/dt; Sh -= dMassPC[i]*hlp/dt;
} }
else else
{ {
// Note: enthalpies of both phases must use the same reference // Note: enthalpies of both phases must use the same reference
scalar hc = td.cloud().mcCarrierThermo().speciesData()[idc].H(T); scalar hc = composition.carrier().H(idc, T);
scalar hp = scalar hp = composition.liquids().properties()[idl].h(pc_, T);
td.cloud().composition().liquids().properties()[idl].h(pc_, T);
Sh -= dMassPC[i]*(hc - hp)/dt; Sh -= dMassPC[i]*(hc - hp)/dt;
} }
// Update particle surface thermo properties // Update particle surface thermo properties
const scalar Dab = const scalar Dab =
td.cloud().composition().liquids().properties()[idl].D(pc_, Ts, Wc); composition.liquids().properties()[idl].D(pc_, Ts, Wc);
const scalar Cp = const scalar Cp = composition.carrier().Cp(idc, Ts);
td.cloud().mcCarrierThermo().speciesData()[idc].Cp(Ts); const scalar W = composition.carrier().W(idc);
const scalar W = td.cloud().mcCarrierThermo().speciesData()[idc].W();
const scalar Ni = dMassPC[i]/(this->areaS(d)*dt*W); const scalar Ni = dMassPC[i]/(this->areaS(d)*dt*W);
// Molar flux of species coming from the particle (kmol/m^2/s) // Molar flux of species coming from the particle (kmol/m^2/s)

View File

@ -32,7 +32,7 @@ License
#include "makeParcelCollisionModels.H" #include "makeParcelCollisionModels.H"
#include "makeParcelPatchInteractionModels.H" #include "makeParcelPatchInteractionModels.H"
#include "makeParcelPostProcessingModels.H" #include "makeParcelPostProcessingModels.H"
#include "makeKinematicParcelSurfaceFilmModels.H" #include "makeParcelSurfaceFilmModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -45,7 +45,7 @@ namespace Foam
makeParcelCollisionModels(basicKinematicParcel); makeParcelCollisionModels(basicKinematicParcel);
makeParcelPatchInteractionModels(basicKinematicParcel); makeParcelPatchInteractionModels(basicKinematicParcel);
makeParcelPostProcessingModels(basicKinematicParcel); makeParcelPostProcessingModels(basicKinematicParcel);
makeKinematicParcelSurfaceFilmModels(basicKinematicParcel); makeParcelSurfaceFilmModels(basicKinematicParcel);
}; };

View File

@ -23,19 +23,18 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "BasicReactingMultiphaseParcel.H" #include "basicReactingMultiphaseParcel.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel
Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
( (
ReactingMultiphaseCloud<BasicReactingMultiphaseParcel<ThermoType> >& owner, ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner,
const vector& position, const vector& position,
const label cellI const label cellI
) )
: :
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel<ThermoType> > ReactingMultiphaseParcel<basicReactingMultiphaseParcel>
( (
owner, owner,
position, position,
@ -44,10 +43,9 @@ Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
{} {}
template<class ThermoType> Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel
Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
( (
ReactingMultiphaseCloud<BasicReactingMultiphaseParcel<ThermoType> >& owner, ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -61,12 +59,11 @@ Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
const scalarField& YLiquid0, const scalarField& YLiquid0,
const scalarField& YSolid0, const scalarField& YSolid0,
const scalarField& Y0, const scalarField& Y0,
const typename const ReactingMultiphaseParcel<basicReactingMultiphaseParcel>::
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel>::
constantProperties& constProps constantProperties& constProps
) )
: :
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel<ThermoType> > ReactingMultiphaseParcel<basicReactingMultiphaseParcel >
( (
owner, owner,
position, position,
@ -87,15 +84,14 @@ Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
{} {}
template<class ThermoType> Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel
Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
( (
const Cloud<BasicReactingMultiphaseParcel<ThermoType> >& cloud, const Cloud<basicReactingMultiphaseParcel>& cloud,
Istream& is, Istream& is,
bool readFields bool readFields
) )
: :
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel<ThermoType> > ReactingMultiphaseParcel<basicReactingMultiphaseParcel>
( (
cloud, cloud,
is, is,
@ -104,21 +100,18 @@ Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
{} {}
template<class ThermoType> Foam::basicReactingMultiphaseParcel::basicReactingMultiphaseParcel
Foam::BasicReactingMultiphaseParcel<ThermoType>::BasicReactingMultiphaseParcel
( (
const BasicReactingMultiphaseParcel<ThermoType>& p const basicReactingMultiphaseParcel& p
) )
: :
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel<ThermoType> >(p) ReactingMultiphaseParcel<basicReactingMultiphaseParcel>(p)
{} {}
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::basicReactingMultiphaseParcel::~basicReactingMultiphaseParcel()
Foam::BasicReactingMultiphaseParcel<ThermoType>::
~BasicReactingMultiphaseParcel()
{} {}

View File

@ -28,13 +28,13 @@ Description
SourceFiles SourceFiles
BasicReactingMultiphaseParcel.C basicReactingMultiphaseParcel.C
BasicReactingMultiphaseParcelIO.C basicReactingMultiphaseParcelIO.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef BasicReactingMultiphaseParcel_H #ifndef basicReactingMultiphaseParcel_H
#define BasicReactingMultiphaseParcel_H #define basicReactingMultiphaseParcel_H
#include "ReactingMultiphaseParcel.H" #include "ReactingMultiphaseParcel.H"
@ -44,43 +44,35 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward declaration of classes
template<class ThermoType>
class BasicReactingMultiphaseParcel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class BasicReactingMultiphaseParcel Declaration Class basicReactingMultiphaseParcel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class ThermoType> class basicReactingMultiphaseParcel
class BasicReactingMultiphaseParcel
: :
public ReactingMultiphaseParcel<BasicReactingMultiphaseParcel<ThermoType> > public ReactingMultiphaseParcel<basicReactingMultiphaseParcel>
{ {
public: public:
//- The type of thermodynamics this parcel was instantiated for
typedef ThermoType thermoType;
//- Run-time type information //- Run-time type information
TypeName("BasicReactingMultiphaseParcel"); TypeName("basicReactingMultiphaseParcel");
// Constructors // Constructors
//- Construct from owner, position, and cloud owner //- Construct from owner, position, and cloud owner
// Other properties initialised as null // Other properties initialised as null
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
( (
ReactingMultiphaseCloud<BasicReactingMultiphaseParcel>& owner, ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner,
const vector& position, const vector& position,
const label cellI const label cellI
); );
//- Construct from components //- Construct from components
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
( (
ReactingMultiphaseCloud<BasicReactingMultiphaseParcel>& owner, ReactingMultiphaseCloud<basicReactingMultiphaseParcel>& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -94,35 +86,34 @@ public:
const scalarField& YLiquid0, const scalarField& YLiquid0,
const scalarField& YSolid0, const scalarField& YSolid0,
const scalarField& Y0, const scalarField& Y0,
const typename const ReactingMultiphaseParcel<basicReactingMultiphaseParcel>::
ReactingMultiphaseParcel<BasicReactingMultiphaseParcel>::
constantProperties& constProps constantProperties& constProps
); );
//- Construct from Istream //- Construct from Istream
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
( (
const Cloud<BasicReactingMultiphaseParcel>& c, const Cloud<basicReactingMultiphaseParcel>& c,
Istream& is, Istream& is,
bool readFields = true bool readFields = true
); );
//- Construct as a copy //- Construct as a copy
BasicReactingMultiphaseParcel(const BasicReactingMultiphaseParcel& p); basicReactingMultiphaseParcel(const basicReactingMultiphaseParcel& p);
//- Construct and return a clone //- Construct and return a clone
autoPtr<BasicReactingMultiphaseParcel> clone() const autoPtr<basicReactingMultiphaseParcel> clone() const
{ {
return return
autoPtr<BasicReactingMultiphaseParcel> autoPtr<basicReactingMultiphaseParcel>
( (
new BasicReactingMultiphaseParcel(*this) new basicReactingMultiphaseParcel(*this)
); );
} }
//- Destructor //- Destructor
virtual ~BasicReactingMultiphaseParcel(); virtual ~basicReactingMultiphaseParcel();
}; };
@ -132,12 +123,6 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "BasicReactingMultiphaseParcel.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -24,13 +24,13 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "createReactingMultiphaseParcelTypes.H" #include "createReactingMultiphaseParcelTypes.H"
#include "BasicReactingMultiphaseParcel.H" #include "basicReactingMultiphaseParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
createReactingMultiphaseParcelType(BasicReactingMultiphaseParcel); createReactingMultiphaseParcelTypes(basicReactingMultiphaseParcel);
}; };

View File

@ -23,26 +23,26 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "BasicReactingMultiphaseParcel.H" #include "basicReactingMultiphaseParcel.H"
// Kinematic // Kinematic
#include "makeReactingParcelDispersionModels.H" #include "makeParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H" #include "makeParcelDragModels.H"
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant #include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
#include "makeReactingParcelCollisionModels.H" #include "makeParcelCollisionModels.H"
#include "makeReactingParcelPatchInteractionModels.H" #include "makeParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H" #include "makeParcelPostProcessingModels.H"
// Thermodynamic // Thermodynamic
#include "makeReactingParcelHeatTransferModels.H" #include "makeParcelHeatTransferModels.H"
// Reacting // Reacting
#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant #include "makeReactingMultiphaseParcelCompositionModels.H" // MP Variant
#include "makeReactingParcelPhaseChangeModels.H" #include "makeReactingParcelPhaseChangeModels.H"
#include "makeReactingParcelSurfaceFilmModels.H"
// Reacting multiphase // Reacting multiphase
#include "makeReactingMultiphaseParcelDevolatilisationModels.H" #include "makeReactingMultiphaseParcelDevolatilisationModels.H"
#include "makeReactingMultiphaseParcelSurfaceFilmModels.H"
#include "makeReactingMultiphaseParcelSurfaceReactionModels.H" #include "makeReactingMultiphaseParcelSurfaceReactionModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -50,32 +50,35 @@ License
namespace Foam namespace Foam
{ {
// Kinematic sub-models // Kinematic sub-models
makeReactingDispersionModels(BasicReactingMultiphaseParcel); makeParcelDispersionModels(basicReactingMultiphaseParcel);
makeReactingDragModels(BasicReactingMultiphaseParcel); makeParcelDragModels(basicReactingMultiphaseParcel);
makeReactingMultiphaseInjectionModels(BasicReactingMultiphaseParcel); makeReactingMultiphaseParcelInjectionModels(basicReactingMultiphaseParcel);
makeReactingCollisionModels(BasicReactingMultiphaseParcel); makeParcelCollisionModels(basicReactingMultiphaseParcel);
makeReactingPatchInteractionModels(BasicReactingMultiphaseParcel); makeParcelPatchInteractionModels(basicReactingMultiphaseParcel);
makeReactingPostProcessingModels(BasicReactingMultiphaseParcel); makeParcelPostProcessingModels(basicReactingMultiphaseParcel);
// Thermo sub-models // Thermo sub-models
makeReactingHeatTransferModels(BasicReactingMultiphaseParcel); makeParcelHeatTransferModels(basicReactingMultiphaseParcel);
// Reacting sub-models // Reacting sub-models
makeReactingMultiphaseCompositionModels(BasicReactingMultiphaseParcel); makeReactingMultiphaseParcelCompositionModels
makeReactingPhaseChangeModels(BasicReactingMultiphaseParcel); (
basicReactingMultiphaseParcel
);
makeReactingParcelPhaseChangeModels(basicReactingMultiphaseParcel);
// Reacting multiphase sub-models // Reacting multiphase sub-models
makeReactingMultiphaseDevolatilisationModels makeReactingMultiphaseParcelDevolatilisationModels
( (
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
); );
makeReactingMultiphaseSurfaceFilmModels makeReactingParcelSurfaceFilmModels
( (
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
); );
makeReactingMultiphaseSurfaceReactionModels makeReactingMultiphaseParcelSurfaceReactionModels
( (
BasicReactingMultiphaseParcel basicReactingMultiphaseParcel
); );
}; };

View File

@ -23,26 +23,24 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "BasicReactingParcel.H" #include "basicReactingParcel.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::basicReactingParcel::basicReactingParcel
Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
( (
ReactingCloud<BasicReactingParcel<ThermoType> >& owner, ReactingCloud<basicReactingParcel >& owner,
const vector& position, const vector& position,
const label cellI const label cellI
) )
: :
ReactingParcel<BasicReactingParcel<ThermoType> >(owner, position, cellI) ReactingParcel<basicReactingParcel >(owner, position, cellI)
{} {}
template<class ThermoType> Foam::basicReactingParcel::basicReactingParcel
Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
( (
ReactingCloud<BasicReactingParcel<ThermoType> >& owner, ReactingCloud<basicReactingParcel >& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -53,11 +51,10 @@ Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
const vector& angularMomentum0, const vector& angularMomentum0,
const vector& torque0, const vector& torque0,
const scalarField& Y0, const scalarField& Y0,
const typename ReactingParcel<BasicReactingParcel<ThermoType> >:: const ReactingParcel<basicReactingParcel>::constantProperties& constProps
constantProperties& constProps
) )
: :
ReactingParcel<BasicReactingParcel<ThermoType> > ReactingParcel<basicReactingParcel >
( (
owner, owner,
position, position,
@ -75,32 +72,29 @@ Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
{} {}
template<class ThermoType> Foam::basicReactingParcel::basicReactingParcel
Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
( (
const Cloud<BasicReactingParcel<ThermoType> >& cloud, const Cloud<basicReactingParcel >& cloud,
Istream& is, Istream& is,
bool readFields bool readFields
) )
: :
ReactingParcel<BasicReactingParcel<ThermoType> >(cloud, is, readFields) ReactingParcel<basicReactingParcel>(cloud, is, readFields)
{} {}
template<class ThermoType> Foam::basicReactingParcel::basicReactingParcel
Foam::BasicReactingParcel<ThermoType>::BasicReactingParcel
( (
const BasicReactingParcel<ThermoType>& p const basicReactingParcel& p
) )
: :
ReactingParcel<BasicReactingParcel>(p) ReactingParcel<basicReactingParcel>(p)
{} {}
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
template<class ThermoType> Foam::basicReactingParcel::~basicReactingParcel()
Foam::BasicReactingParcel<ThermoType>::~BasicReactingParcel()
{} {}

View File

@ -22,19 +22,18 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::BasicReactingParcel Foam::basicReactingParcel
Description Description
SourceFiles SourceFiles
BasicReactingParcel.C basicReactingParcel.C
BasicReactingParcelIO.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef BasicReactingParcel_H #ifndef basicReactingParcel_H
#define BasicReactingParcel_H #define basicReactingParcel_H
#include "ReactingParcel.H" #include "ReactingParcel.H"
@ -43,43 +42,35 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward declaration of classes
template<class ThermoType>
class BasicReactingParcel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class BasicReactingParcel Declaration Class basicReactingParcel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
template<class ThermoType> class basicReactingParcel
class BasicReactingParcel
: :
public ReactingParcel<BasicReactingParcel<ThermoType> > public ReactingParcel<basicReactingParcel>
{ {
public: public:
//- The type of thermodynamics this parcel was instantiated for
typedef ThermoType thermoType;
//- Run-time type information //- Run-time type information
TypeName("BasicReactingParcel"); TypeName("basicReactingParcel");
// Constructors // Constructors
//- Construct from owner, position, and cloud owner //- Construct from owner, position, and cloud owner
// Other properties initialised as null // Other properties initialised as null
BasicReactingParcel basicReactingParcel
( (
ReactingCloud<BasicReactingParcel>& owner, ReactingCloud<basicReactingParcel>& owner,
const vector& position, const vector& position,
const label cellI const label cellI
); );
//- Construct from components //- Construct from components
BasicReactingParcel basicReactingParcel
( (
ReactingCloud<BasicReactingParcel>& owner, ReactingCloud<basicReactingParcel>& owner,
const vector& position, const vector& position,
const label cellI, const label cellI,
const label typeId, const label typeId,
@ -90,49 +81,50 @@ public:
const vector& angularMomentum0, const vector& angularMomentum0,
const vector& torque0, const vector& torque0,
const scalarField& Y0, const scalarField& Y0,
const typename ReactingParcel<BasicReactingParcel>:: const ReactingParcel<basicReactingParcel>::constantProperties&
constantProperties& constProps constProps
); );
//- Construct from Istream //- Construct from Istream
BasicReactingParcel basicReactingParcel
( (
const Cloud<BasicReactingParcel>& c, const Cloud<basicReactingParcel>& c,
Istream& is, Istream& is,
bool readFields = true bool readFields = true
); );
//- Construct as a copy //- Construct as a copy
BasicReactingParcel(const BasicReactingParcel& p); basicReactingParcel(const basicReactingParcel& p);
//- Construct and return a clone //- Construct and return a clone
autoPtr<BasicReactingParcel> clone() const autoPtr<basicReactingParcel> clone() const
{ {
return return
autoPtr<BasicReactingParcel> autoPtr<basicReactingParcel>
( (
new BasicReactingParcel(*this) new basicReactingParcel(*this)
); );
} }
//- Destructor //- Destructor
virtual ~BasicReactingParcel(); virtual ~basicReactingParcel();
}; };
template<>
inline bool contiguous<basicReactingParcel>()
{
return false;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "BasicReactingParcel.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -23,14 +23,14 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "basicReactingParcel.H"
#include "createReactingParcelTypes.H" #include "createReactingParcelTypes.H"
#include "BasicReactingParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
createReactingParcelType(BasicReactingParcel); createReactingParcelTypes(basicReactingParcel);
}; };

View File

@ -23,18 +23,18 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "BasicReactingParcel.H" #include "basicReactingParcel.H"
// Kinematic // Kinematic
#include "makeReactingParcelDispersionModels.H" #include "makeParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H" #include "makeParcelDragModels.H"
#include "makeReactingParcelInjectionModels.H" #include "makeReactingParcelInjectionModels.H" // Reacting variant
#include "makeReactingParcelCollisionModels.H" #include "makeParcelCollisionModels.H"
#include "makeReactingParcelPatchInteractionModels.H" #include "makeParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H" #include "makeParcelPostProcessingModels.H"
// Thermodynamic // Thermodynamic
#include "makeReactingParcelHeatTransferModels.H" #include "makeParcelHeatTransferModels.H"
// Reacting // Reacting
#include "makeReactingParcelCompositionModels.H" #include "makeReactingParcelCompositionModels.H"
@ -46,20 +46,20 @@ License
namespace Foam namespace Foam
{ {
// Kinematic sub-models // Kinematic sub-models
makeReactingDispersionModels(BasicReactingParcel); makeParcelDispersionModels(basicReactingParcel);
makeReactingDragModels(BasicReactingParcel); makeParcelDragModels(basicReactingParcel);
makeReactingInjectionModels(BasicReactingParcel); makeReactingParcelInjectionModels(basicReactingParcel);
makeReactingCollisionModels(BasicReactingParcel); makeParcelCollisionModels(basicReactingParcel);
makeReactingPatchInteractionModels(BasicReactingParcel); makeParcelPatchInteractionModels(basicReactingParcel);
makeReactingPostProcessingModels(BasicReactingParcel); makeParcelPostProcessingModels(basicReactingParcel);
// Thermo sub-models // Thermo sub-models
makeReactingHeatTransferModels(BasicReactingParcel); makeParcelHeatTransferModels(basicReactingParcel);
// Reacting sub-models // Reacting sub-models
makeReactingCompositionModels(BasicReactingParcel); makeReactingParcelCompositionModels(basicReactingParcel);
makeReactingPhaseChangeModels(BasicReactingParcel); makeReactingParcelPhaseChangeModels(basicReactingParcel);
makeReactingSurfaceFilmModels(BasicReactingParcel); makeReactingParcelSurfaceFilmModels(basicReactingParcel);
}; };

View File

@ -0,0 +1,50 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef createKinematicParcelTypes_H
#define createKinematicParcelTypes_H
#include "KinematicParcel.H"
#include "KinematicCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createKinematicParcelTypes(ParcelType) \
\
defineTemplateTypeNameAndDebug(ParcelType, 0); \
defineTemplateTypeNameAndDebug(Particle<ParcelType>, 0); \
defineTemplateTypeNameAndDebug(Cloud<ParcelType>, 0); \
\
defineParcelTypeNameAndDebug(KinematicParcel<ParcelType>, 0); \
defineTemplateTypeNameAndDebug(KinematicParcel<ParcelType>, 0); \
defineParcelTypeNameAndDebug(KinematicCloud<ParcelType>, 0);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -26,67 +26,20 @@ License
#ifndef createReactingMultiphaseParcelTypes_H #ifndef createReactingMultiphaseParcelTypes_H
#define createReactingMultiphaseParcelTypes_H #define createReactingMultiphaseParcelTypes_H
#include "thermoPhysicsTypes.H" #include "ReactingMultiphaseParcel.H"
#include "ReactingMultiphaseCloud.H"
#include "createReactingParcelTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingMultiphaseParcelType(ParcelType) \ #define createReactingMultiphaseParcelTypes(ParcelType) \
\ \
createReactingMultiphaseParcelThermoType \ createReactingParcelTypes(ParcelType); \
( \
ParcelType, \
constGasThermoPhysics \
); \
createReactingMultiphaseParcelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
createReactingMultiphaseParcelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define createReactingMultiphaseParcelThermoType(ParcelType, ThermoType) \
\ \
typedef ParcelType<ThermoType> ParcelType##ThermoType; \ defineParcelTypeNameAndDebug(ReactingMultiphaseParcel<ParcelType>, 0); \
\ defineTemplateTypeNameAndDebug(ReactingMultiphaseParcel<ParcelType>, 0); \
defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \ defineParcelTypeNameAndDebug(ReactingMultiphaseCloud<ParcelType>, 0);
defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \
\
defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug \
( \
KinematicParcel<ParcelType##ThermoType>, \
0 \
); \
defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\
defineParcelTypeNameAndDebug \
( \
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
0 \
); \
defineTemplateTypeNameAndDebug \
( \
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
0 \
); \
\
defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug \
( \
ReactingMultiphaseCloud<ParcelType##ThermoType>, \
0 \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -26,39 +26,20 @@ License
#ifndef createReactingParcelTypes_H #ifndef createReactingParcelTypes_H
#define createReactingParcelTypes_H #define createReactingParcelTypes_H
#include "thermoPhysicsTypes.H" #include "ReactingParcel.H"
#include "ReactingCloud.H"
#include "createThermoParcelTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingParcelType(ParcelType) \ #define createReactingParcelTypes(ParcelType) \
\ \
createReactingParcelThermoType(ParcelType, constGasThermoPhysics); \ createThermoParcelTypes(ParcelType); \
createReactingParcelThermoType(ParcelType, gasThermoPhysics); \
createReactingParcelThermoType(ParcelType, icoPoly8ThermoPhysics);
#define createReactingParcelThermoType(ParcelType, ThermoType) \
\ \
typedef ParcelType<ThermoType> ParcelType##ThermoType; \ defineParcelTypeNameAndDebug(ReactingParcel<ParcelType>, 0); \
\ defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType>, 0); \
defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \ defineParcelTypeNameAndDebug(ReactingCloud<ParcelType>, 0);
defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \
\
defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug \
( \
KinematicParcel<ParcelType##ThermoType>, \
0 \
); \
defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\
\
defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef createThermoParcelTypes_H
#define createThermoParcelTypes_H
#include "ThermoParcel.H"
#include "ThermoCloud.H"
#include "createKinematicParcelTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createThermoParcelTypes(ParcelType) \
\
createKinematicParcelTypes(ParcelType); \
\
defineParcelTypeNameAndDebug(ThermoParcel<ParcelType>, 0); \
defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType>, 0); \
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType>, 0);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd. \\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,11 +29,12 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "KinematicCloud.H" #include "KinematicCloud.H"
#include "NoSurfaceFilm.H" #include "NoSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeKinematicParcelSurfaceFilmModels(ParcelType) \ #define makeParcelSurfaceFilmModels(ParcelType) \
\ \
makeSurfaceFilmModel(KinematicCloud<ParcelType>); \ makeSurfaceFilmModel(KinematicCloud<ParcelType>); \
\ \
@ -44,8 +45,11 @@ License
ParcelType \ ParcelType \
); );
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -28,42 +28,20 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H" #include "ReactingMultiphaseCloud.H"
#include "ReactingCloud.H"
#include "SingleMixtureFraction.H" #include "SingleMixtureFraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingMultiphaseCompositionModels(ParcelType) \ #define makeReactingMultiphaseParcelCompositionModels(ParcelType) \
\ \
makeReactingMultiphaseCompositionModelThermoType \ makeCompositionModel(ReactingCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingMultiphaseCompositionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingMultiphaseCompositionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingMultiphaseCompositionModelThermoType(ParcelType, ThermoType)\
\ \
makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \ makeCompositionModelType \
\
makeCompositionModelThermoType \
( \ ( \
SingleMixtureFraction, \ SingleMixtureFraction, \
ReactingCloud, \ ReactingCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingMultiphaseCloud.H" #include "ReactingMultiphaseCloud.H"
#include "ConstantRateDevolatilisation.H" #include "ConstantRateDevolatilisation.H"
@ -37,52 +36,27 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingMultiphaseDevolatilisationModels(ParcelType) \ #define makeReactingMultiphaseParcelDevolatilisationModels(ParcelType) \
\ \
makeReactingMultiphaseDevolatilisationModelThermoType \ makeDevolatilisationModel(ReactingMultiphaseCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingMultiphaseDevolatilisationModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingMultiphaseDevolatilisationModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingMultiphaseDevolatilisationModelThermoType(ParcelType, ThermoType)\
\ \
makeDevolatilisationModel \ makeDevolatilisationModelType \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeDevolatilisationModelThermoType \
( \ ( \
ConstantRateDevolatilisation, \ ConstantRateDevolatilisation, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeDevolatilisationModelThermoType \ makeDevolatilisationModelType \
( \ ( \
NoDevolatilisation, \ NoDevolatilisation, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeDevolatilisationModelThermoType \ makeDevolatilisationModelType \
( \ ( \
SingleKineticRateDevolatilisation, \ SingleKineticRateDevolatilisation, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -41,79 +41,51 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingMultiphaseInjectionModels(ParcelType) \ #define makeReactingMultiphaseParcelInjectionModels(ParcelType) \
\ \
makeReactingMultiphaseInjectionModelThermoType \ makeInjectionModel(KinematicCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
\ \
makeReactingMultiphaseInjectionModelThermoType \ makeInjectionModelType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingMultiphaseInjectionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingMultiphaseInjectionModelThermoType(ParcelType, ThermoType)\
\
makeInjectionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeInjectionModelThermoType \
( \ ( \
ConeInjection, \ ConeInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ConeInjectionMP, \ ConeInjectionMP, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
FieldActivatedInjection, \ FieldActivatedInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ManualInjection, \ ManualInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
NoInjection, \ NoInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
PatchInjection, \ PatchInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ReactingMultiphaseLookupTableInjection, \ ReactingMultiphaseLookupTableInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -1,74 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2009-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingMultiphaseParcelSurfaceFilmModels_H
#define makeReactingMultiphaseParcelSurfaceFilmModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceFilm.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingMultiphaseSurfaceFilmModels(ParcelType) \
\
makeReactingMultiphaseSurfaceFilmModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingMultiphaseSurfaceFilmModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingMultiphaseSurfaceFilmModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingMultiphaseSurfaceFilmModelThermoType(ParcelType, ThermoType)\
\
makeSurfaceFilmModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeSurfaceFilmModelThermoType \
( \
NoSurfaceFilm, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,45 +28,20 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingMultiphaseCloud.H" #include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H" #include "NoSurfaceReaction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingMultiphaseSurfaceReactionModels(ParcelType) \ #define makeReactingMultiphaseParcelSurfaceReactionModels(ParcelType) \
\ \
makeReactingMultiphaseSurfaceReactionModelThermoType \ makeSurfaceReactionModel(ReactingMultiphaseCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingMultiphaseSurfaceReactionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingMultiphaseSurfaceReactionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingMultiphaseSurfaceReactionModelThermoType(ParcelType, ThermoType)\
\ \
makeSurfaceReactionModel \ makeSurfaceReactionModelType \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeSurfaceReactionModelThermoType \
( \ ( \
NoSurfaceReaction, \ NoSurfaceReaction, \
ReactingMultiphaseCloud, \ ReactingMultiphaseCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -1,117 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelCollisionModels_H
#define makeReactingParcelCollisionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H"
#include "NoCollision.H"
#include "PairCollision.H"
#include "PairSpringSliderDashpot.H"
#include "WallSpringSliderDashpot.H"
#include "WallLocalSpringSliderDashpot.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingCollisionModels(ParcelType) \
\
makeReactingCollisionModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
\
makeReactingCollisionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingCollisionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingCollisionModelThermoType(ParcelType, ThermoType) \
\
makeCollisionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeCollisionModelThermoType \
( \
NoCollision, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
\
makeCollisionModelThermoType \
( \
PairCollision, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
\
makePairModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makePairModelThermoType \
( \
PairSpringSliderDashpot, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
\
makeWallModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeWallModelThermoType \
( \
WallSpringSliderDashpot, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
\
makeWallModelThermoType \
( \
WallLocalSpringSliderDashpot, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,42 +28,20 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingCloud.H" #include "ReactingCloud.H"
#include "SinglePhaseMixture.H" #include "SinglePhaseMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingCompositionModels(ParcelType) \ #define makeReactingParcelCompositionModels(ParcelType) \
\ \
makeReactingCompositionModelThermoType \ makeCompositionModel(ReactingCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingCompositionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingCompositionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingCompositionModelThermoType(ParcelType, ThermoType) \
\ \
makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \ makeCompositionModelType \
\
makeCompositionModelThermoType \
( \ ( \
SinglePhaseMixture, \ SinglePhaseMixture, \
ReactingCloud, \ ReactingCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -1,98 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelDispersionModels_H
#define makeReactingParcelDispersionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingDispersionModels(ParcelType) \
\
makeReactingDispersionModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
\
makeReactingDispersionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingDispersionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingDispersionModelThermoType(ParcelType, ThermoType) \
\
makeDispersionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
defineNamedTemplateTypeNameAndDebug \
( \
DispersionRASModel<KinematicCloud<ParcelType<ThermoType> > >, \
0 \
); \
\
makeDispersionModelThermoType \
( \
NoDispersion, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeDispersionModelThermoType \
( \
GradientDispersionRAS, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeDispersionModelThermoType \
( \
StochasticDispersionRAS, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,82 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelDragModels_H
#define makeReactingParcelDragModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H"
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingDragModels(ParcelType) \
\
makeReactingDragModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingDragModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingDragModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingDragModelThermoType(ParcelType, ThermoType) \
\
makeDragModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeDragModelThermoType \
( \
NoDrag, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeDragModelThermoType \
( \
SphereDrag, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,82 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelHeatTransferModels_H
#define makeReactingParcelHeatTransferModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ThermoCloud.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingHeatTransferModels(ParcelType) \
\
makeReactingHeatTransferModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
makeReactingHeatTransferModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
makeReactingHeatTransferModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingHeatTransferModelThermoType(ParcelType, ThermoType) \
\
makeHeatTransferModel(ThermoCloud<ParcelType<ThermoType> >); \
\
makeHeatTransferModelThermoType \
( \
NoHeatTransfer, \
ThermoCloud, \
ParcelType, \
ThermoType \
); \
makeHeatTransferModelThermoType \
( \
RanzMarshall, \
ThermoCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H" #include "KinematicCloud.H"
#include "ConeInjection.H" #include "ConeInjection.H"
@ -41,79 +40,51 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingInjectionModels(ParcelType) \ #define makeReactingParcelInjectionModels(ParcelType) \
\ \
makeReactingInjectionModelThermoType \ makeInjectionModel(KinematicCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
\ \
makeReactingInjectionModelThermoType \ makeInjectionModelType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingInjectionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingInjectionModelThermoType(ParcelType, ThermoType) \
\
makeInjectionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeInjectionModelThermoType \
( \ ( \
ConeInjection, \ ConeInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ConeInjectionMP, \ ConeInjectionMP, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
FieldActivatedInjection, \ FieldActivatedInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ManualInjection, \ ManualInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
NoInjection, \ NoInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
PatchInjection, \ PatchInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeInjectionModelThermoType \ makeInjectionModelType \
( \ ( \
ReactingLookupTableInjection, \ ReactingLookupTableInjection, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

View File

@ -1,92 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelPatchInteractionModels_H
#define makeReactingParcelPatchInteractionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingPatchInteractionModels(ParcelType) \
\
makeReactingPatchInteractionModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
\
makeReactingPatchInteractionModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingPatchInteractionModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingPatchInteractionModelThermoType(ParcelType, ThermoType) \
\
makePatchInteractionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makePatchInteractionModelThermoType \
( \
LocalInteraction, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePatchInteractionModelThermoType \
( \
Rebound, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePatchInteractionModelThermoType \
( \
StandardWallInteraction, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "ReactingCloud.H" #include "ReactingCloud.H"
#include "NoPhaseChange.H" #include "NoPhaseChange.H"
@ -36,44 +35,21 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingPhaseChangeModels(ParcelType) \ #define makeReactingParcelPhaseChangeModels(ParcelType) \
\ \
makeReactingPhaseChangeModelThermoType \ makePhaseChangeModel(ReactingCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
\ \
makeReactingPhaseChangeModelThermoType \ makePhaseChangeModelType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingPhaseChangeModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingPhaseChangeModelThermoType(ParcelType, ThermoType) \
\
makePhaseChangeModel(ReactingCloud<ParcelType<ThermoType> >); \
\
makePhaseChangeModelThermoType \
( \ ( \
NoPhaseChange, \ NoPhaseChange, \
ReactingCloud, \ ReactingCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makePhaseChangeModelThermoType \ makePhaseChangeModelType \
( \ ( \
LiquidEvaporation, \ LiquidEvaporation, \
ReactingCloud, \ ReactingCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );
@ -82,3 +58,4 @@ License
#endif #endif
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,84 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelPostProcessingModels_H
#define makeReactingParcelPostProcessingModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "PatchPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingPostProcessingModels(ParcelType) \
\
makeReactingPostProcessingModelThermoType \
( \
ParcelType, \
constGasThermoPhysics \
); \
\
makeReactingPostProcessingModelThermoType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingPostProcessingModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingPostProcessingModelThermoType(ParcelType, ThermoType) \
\
makePostProcessingModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makePostProcessingModelThermoType \
( \
NoPostProcessing, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePostProcessingModelThermoType \
( \
PatchPostProcessing, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,7 +28,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "thermoPhysicsTypes.H"
#include "KinematicCloud.H" #include "KinematicCloud.H"
#include "NoSurfaceFilm.H" #include "NoSurfaceFilm.H"
@ -36,44 +35,21 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactingSurfaceFilmModels(ParcelType) \ #define makeReactingParcelSurfaceFilmModels(ParcelType) \
\ \
makeReactingSurfaceFilmModelThermoType \ makeSurfaceFilmModel(KinematicCloud<ParcelType>); \
( \
ParcelType, \
constGasThermoPhysics \
); \
\ \
makeReactingSurfaceFilmModelThermoType \ makeSurfaceFilmModelType \
( \
ParcelType, \
gasThermoPhysics \
); \
\
makeReactingSurfaceFilmModelThermoType \
( \
ParcelType, \
icoPoly8ThermoPhysics \
);
#define makeReactingSurfaceFilmModelThermoType(ParcelType, ThermoType) \
\
makeSurfaceFilmModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeSurfaceFilmModelThermoType \
( \ ( \
NoSurfaceFilm, \ NoSurfaceFilm, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); \ ); \
makeSurfaceFilmModelThermoType \ makeSurfaceFilmModelType \
( \ ( \
ThermoSurfaceFilm, \ ThermoSurfaceFilm, \
KinematicCloud, \ KinematicCloud, \
ParcelType, \ ParcelType \
ThermoType \
); );

Some files were not shown because too many files have changed in this diff Show More