more fun with templates - templating thermo type throughout submodels

This commit is contained in:
andy
2009-06-02 19:55:56 +01:00
parent 03edbb8bad
commit c766b6c301
92 changed files with 1820 additions and 2308 deletions

View File

@ -35,10 +35,10 @@ Description
#include "hCombustionThermo.H"
#include "turbulenceModel.H"
#include "basicThermoCloud.H"
#include "coalCloud.H"
#include "CoalCloud.H"
#include "chemistryModel.H"
#include "chemistrySolver.H"
#include "ReactingCloudThermoTypes.H"
#include "reactingThermoTypes.H"
#include "timeActivatedExplicitSource.H"
#include "radiationModel.H"

View File

@ -31,7 +31,7 @@ forAll(gasProperties, i)
}
Info<< "\nConstructing coal cloud" << endl;
coalCloud coalParcels
CoalCloud<specieReactingProperties> coalParcels
(
"coalCloud1",
rho,

View File

@ -37,7 +37,7 @@ Description
#include "BasicReactingCloud.H"
#include "chemistryModel.H"
#include "chemistrySolver.H"
#include "ReactingCloudThermoTypes.H"
#include "reactingThermoTypes.H"
#include "radiationModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -24,53 +24,48 @@ License
\*---------------------------------------------------------------------------*/
#include "coalCloud.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(coalCloud, 0);
};
#include "CoalCloud.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::coalCloud::coalCloud
template<class ThermoType>
Foam::CoalCloud<ThermoType>::CoalCloud
(
const word& cloudName,
const volScalarField& rho,
const volVectorField& U,
const dimensionedVector& g,
hCombustionThermo& thermo,
PtrList<specieReactingProperties>& gases
PtrList<ThermoType>& carrierSpecies
)
:
ReactingMultiphaseCloud<coalParcel>
ReactingMultiphaseCloud<CoalParcel<ThermoType> >
(
cloudName,
rho,
U,
g,
thermo,
gases
carrierSpecies
)
{
coalParcel::readFields(*this);
CoalParcel<ThermoType>::readFields(*this);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::coalCloud::~coalCloud()
template<class ThermoType>
Foam::CoalCloud<ThermoType>::~CoalCloud()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::coalCloud::writeFields() const
template<class ThermoType>
void Foam::CoalCloud<ThermoType>::writeFields() const
{
coalParcel::writeFields(*this);
CoalParcel<ThermoType>::writeFields(*this);
}

View File

@ -23,20 +23,20 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
coalCloud
CoalCloud
Description
SourceFiles
coalCloud.C
CoalCloud.C
\*---------------------------------------------------------------------------*/
#ifndef coalCloud_H
#define coalCloud_H
#ifndef CoalCloud_H
#define CoalCloud_H
#include "ReactingMultiphaseCloud.H"
#include "coalParcel.H"
#include "CoalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -44,44 +44,45 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class coalCloud Declaration
Class CoalCloud Declaration
\*---------------------------------------------------------------------------*/
class coalCloud
template<class ThermoType>
class CoalCloud
:
public ReactingMultiphaseCloud<coalParcel>
public ReactingMultiphaseCloud<CoalParcel<ThermoType> >
{
// Private Member Functions
//- Disallow default bitwise copy construct
coalCloud(const coalCloud&);
CoalCloud(const CoalCloud&);
//- Disallow default bitwise assignment
void operator=(const coalCloud&);
void operator=(const CoalCloud&);
public:
//-Runtime type information
TypeName("coalCloud");
TypeName("CoalCloud");
// Constructors
//- Construct given carrier gas fields
coalCloud
CoalCloud
(
const word& cloudName,
const volScalarField& rho,
const volVectorField& U,
const dimensionedVector& g,
hCombustionThermo& thermo,
PtrList<specieReactingProperties>& gases
PtrList<ThermoType>& gases
);
//- Destructor
~coalCloud();
~CoalCloud();
// Member Functions
@ -97,6 +98,12 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "CoalCloud.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,15 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "makeParcelIOList.H"
#include "coalParcel.H"
#include "createReactingCloudTypes.H"
#include "CoalCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeParcelIOList(coalParcel);
createReactingCloudType(CoalCloud);
};

View File

@ -24,34 +24,26 @@ License
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(coalParcel, 0);
defineParticleTypeNameAndDebug(coalParcel, 0);
defineParcelTypeNameAndDebug(coalParcel, 0);
};
#include "CoalParcel.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::coalParcel::coalParcel
template<class ThermoType>
Foam::CoalParcel<ThermoType>::CoalParcel
(
ReactingMultiphaseCloud<coalParcel>& owner,
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner,
const vector& position,
const label cellI
)
:
ReactingMultiphaseParcel<coalParcel>(owner, position, cellI)
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(owner, position, cellI)
{}
Foam::coalParcel::coalParcel
template<class ThermoType>
Foam::CoalParcel<ThermoType>::CoalParcel
(
ReactingMultiphaseCloud<coalParcel>& owner,
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner,
const vector& position,
const label cellI,
const label typeId,
@ -62,10 +54,12 @@ Foam::coalParcel::coalParcel
const scalarField& YGas0,
const scalarField& YLiquid0,
const scalarField& YSolid0,
const constantProperties& constProps
const typename
ReactingMultiphaseParcel<CoalParcel<ThermoType> >::
constantProperties& constProps
)
:
ReactingMultiphaseParcel<coalParcel>
ReactingMultiphaseParcel<CoalParcel<ThermoType> >
(
owner,
position,
@ -83,20 +77,22 @@ Foam::coalParcel::coalParcel
{}
Foam::coalParcel::coalParcel
template<class ThermoType>
Foam::CoalParcel<ThermoType>::CoalParcel
(
const Cloud<coalParcel>& cloud,
const Cloud<CoalParcel<ThermoType> >& cloud,
Istream& is,
bool readFields
)
:
ReactingMultiphaseParcel<coalParcel>(cloud, is, readFields)
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(cloud, is, readFields)
{}
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
Foam::coalParcel::~coalParcel()
template<class ThermoType>
Foam::CoalParcel<ThermoType>::~CoalParcel()
{}

View File

@ -23,19 +23,19 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
coalParcel
CoalParcel
Description
SourceFiles
coalParcel.C
coalParcelIO.C
CoalParcel.C
CoalParcelIO.C
\*---------------------------------------------------------------------------*/
#ifndef coalParcel_H
#define coalParcel_H
#ifndef CoalParcel_H
#define CoalParcel_H
#include "ReactingMultiphaseParcel.H"
@ -44,34 +44,42 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
template<class ThermoType>
class CoalParcel;
/*---------------------------------------------------------------------------*\
Class coalParcel Declaration
Class CoalParcel Declaration
\*---------------------------------------------------------------------------*/
class coalParcel
template<class ThermoType>
class CoalParcel
:
public ReactingMultiphaseParcel<coalParcel>
public ReactingMultiphaseParcel<CoalParcel<ThermoType> >
{
public:
//- The type of thermodynamics this parcel was instantiated for
typedef ThermoType thermoType;
// Run-time type information
TypeName("coalParcel");
TypeName("CoalParcel");
// Constructors
//- Construct from owner, position, and cloud owner
// Other properties initialised as null
coalParcel
CoalParcel
(
ReactingMultiphaseCloud<coalParcel>& owner,
ReactingMultiphaseCloud<CoalParcel>& owner,
const vector& position,
const label cellI
);
//- Construct from components
coalParcel
CoalParcel
(
ReactingMultiphaseCloud<coalParcel>& owner,
ReactingMultiphaseCloud<CoalParcel>& owner,
const vector& position,
const label cellI,
const label typeId,
@ -82,42 +90,43 @@ public:
const scalarField& YGas0,
const scalarField& YLiquid0,
const scalarField& YSolid0,
const constantProperties& constProps
const typename
ReactingMultiphaseParcel<CoalParcel>::
constantProperties& constProps
);
//- Construct from Istream
coalParcel
CoalParcel
(
const Cloud<coalParcel>& c,
const Cloud<CoalParcel>& c,
Istream& is,
bool readFields = true
);
//- 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
virtual ~coalParcel();
virtual ~CoalParcel();
};
template<>
inline bool contiguous<coalParcel>()
{
return false; // Now have scalar lists/fields (mass fractions)
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "CoalParcel.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,24 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingCloud.H"
#include "SingleMixtureFraction.H"
#include "createCoalParcelTypes.H"
#include "CoalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel(ReactingCloud<coalParcel>);
// Add instances of composition model to the table
makeCompositionModelType
(
SingleMixtureFraction,
ReactingCloud,
coalParcel
);
createCoalParcelType(CoalParcel);
};

View File

@ -24,31 +24,43 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ThermoCloud.H"
#include "CoalParcel.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
#include "makeReactingParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H"
#include "makeReactingParcelInjectionModels.H"
#include "makeReactingParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H"
#include "makeReactingParcelHeatTransferModels.H"
#include "makeReactingMultiphaseParcelCompositionModels.H"
#include "makeReactingParcelPhaseChangeModels.H"
#include "makeReactingMultiphaseParcelDevolatilisationModels.H"
#include "makeCoalParcelSurfaceReactionModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<bReactingMultiphaseParcel>);
// Kinematic sub-models
createReactingDispersionModelType(CoalParcel);
createReactingDragModelType(CoalParcel);
createReactingInjectionModelType(CoalParcel);
createReactingPatchInteractionModelType(CoalParcel);
createReactingPostProcessingModelType(CoalParcel);
// Add instances of heat transfer model to the table
makeHeatTransferModelType
(
NoHeatTransfer,
ThermoCloud,
bReactingMultiphaseParcel
);
makeHeatTransferModelType
(
RanzMarshall,
ThermoCloud,
bReactingMultiphaseParcel
);
// Thermo sub-models
createReactingHeatTransferModelType(CoalParcel);
// Reacting sub-models
createReactingMultiphaseCompositionModelType(CoalParcel);
createReactingPhaseChangeModelType(CoalParcel);
// Reacting multiphase sub-models
createReactingMultiphaseDevolatilisationModelType(CoalParcel);
createCoalSurfaceReactionModelType(CoalParcel);
};

View File

@ -0,0 +1,97 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeCoalParcelSurfaceReactionModels_H
#define makeCoalParcelSurfaceReactionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H"
#include "COxidationDiffusionLimitedRate.H"
#include "COxidationKineticDiffusionLimitedRate.H"
#include "COxidationMurphyShaddix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createCoalSurfaceReactionModelType(ParcelType) \
\
createCoalSurfaceReactionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createCoalSurfaceReactionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createCoalSurfaceReactionModelThermoType(ParcelType, ThermoType) \
\
makeSurfaceReactionModel \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeSurfaceReactionModelThermoTypeNew \
( \
NoSurfaceReaction, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
); \
makeSurfaceReactionModelThermoTypeNew \
( \
COxidationDiffusionLimitedRate, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
); \
makeSurfaceReactionModelThermoTypeNew \
( \
COxidationKineticDiffusionLimitedRate, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
); \
makeSurfaceReactionModelThermoTypeNew \
( \
COxidationMurphyShaddix, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -1,25 +1,8 @@
/* coal cloud */
coalCloud/coalCloud.C
/* Coal cloud */
CoalCloud/defineCoalCloud.C
/* coal parcel and sub-models */
coalParcel/coalParcel.C
coalParcel/defineCoalParcel.C
coalParcel/submodels/makeCoalParcelCompositionModels.C
coalParcel/submodels/makeCoalParcelDevolatilisationModels.C
coalParcel/submodels/makeCoalParcelDragModels.C
coalParcel/submodels/makeCoalParcelDispersionModels.C
coalParcel/submodels/makeCoalParcelInjectionModels.C
coalParcel/submodels/makeCoalParcelHeatTransferModels.C
coalParcel/submodels/makeCoalParcelPhaseChangeModels.C
coalParcel/submodels/makeCoalParcelPatchInteractionModels.C
coalParcel/submodels/makeCoalParcelPostProcessingModels.C
coalParcel/submodels/makeCoalParcelSurfaceReactionModels.C
submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C
submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C
submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C
/* IOLists */
coalParcel/submodels/makeCoalParcelIOList.C
/* Coal parcel and sub-models */
CoalParcel/defineCoalParcel.C
CoalParcel/submodels/makeCoalParcelSubmodels.C
LIB = $(FOAM_LIBBIN)/libcoalCombustion

View File

@ -1,50 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingMultiphaseCloud.H"
namespace Foam
{
defineTemplateTypeNameAndDebug(Cloud<coalParcel>, 0);
defineParcelTypeNameAndDebug(KinematicParcel<coalParcel>, 0);
// defineTemplateTypeNameAndDebug(KinematicParcel<coalParcel>, 0);
defineParcelTypeNameAndDebug(ThermoParcel<coalParcel>, 0);
defineTemplateTypeNameAndDebug(ThermoParcel<coalParcel>, 0);
defineParcelTypeNameAndDebug(ReactingParcel<coalParcel>, 0);
defineTemplateTypeNameAndDebug(ReactingParcel<coalParcel>, 0);
defineParcelTypeNameAndDebug(ReactingMultiphaseParcel<coalParcel>, 0);
defineTemplateTypeNameAndDebug(ReactingMultiphaseParcel<coalParcel>, 0);
defineParcelTypeNameAndDebug(KinematicCloud<coalParcel>, 0);
defineParcelTypeNameAndDebug(ThermoCloud<coalParcel>, 0);
defineParcelTypeNameAndDebug(ReactingCloud<coalParcel>, 0);
defineParcelTypeNameAndDebug(ReactingMultiphaseCloud<coalParcel>, 0);
};
// ************************************************************************* //

View File

@ -1,65 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingMultiphaseCloud.H"
#include "NoDevolatilisation.H"
#include "ConstantRateDevolatilisation.H"
#include "SingleKineticRateDevolatilisation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDevolatilisationModel
(
ReactingMultiphaseCloud<coalParcel>
);
// Add instances of devolatilisation model to the table
makeDevolatilisationModelType
(
NoDevolatilisation,
ReactingMultiphaseCloud,
coalParcel
);
makeDevolatilisationModelType
(
ConstantRateDevolatilisation,
ReactingMultiphaseCloud,
coalParcel
);
makeDevolatilisationModelType
(
SingleKineticRateDevolatilisation,
ReactingMultiphaseCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -1,68 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "KinematicCloud.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<coalParcel>);
defineNamedTemplateTypeNameAndDebug
(
DispersionRASModel<KinematicCloud<coalParcel> >,
0
);
// Add instances of dispersion model to the table
makeDispersionModelType
(
NoDispersion,
KinematicCloud,
coalParcel
);
makeDispersionModelType
(
GradientDispersionRAS,
KinematicCloud,
coalParcel
);
makeDispersionModelType
(
StochasticDispersionRAS,
KinematicCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "KinematicCloud.H"
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<coalParcel>);
// Add instances of drag model to the table
makeDragModelType(NoDrag, KinematicCloud, coalParcel);
makeDragModelType(SphereDrag, KinematicCloud, coalParcel);
};
// ************************************************************************* //

View File

@ -1,45 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ThermoCloud.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<coalParcel>);
// Add instances of heat transfer model to the table
makeHeatTransferModelType(NoHeatTransfer, ThermoCloud, coalParcel);
makeHeatTransferModelType(RanzMarshall, ThermoCloud, coalParcel);
};
// ************************************************************************* //

View File

@ -1,49 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingCloud.H"
#include "ConeInjection.H"
#include "FieldActivatedInjection.H"
#include "ManualInjection.H"
#include "NoInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<coalParcel>);
// Add instances of injection model to the table
makeInjectionModelType(ConeInjection, KinematicCloud, coalParcel);
makeInjectionModelType(FieldActivatedInjection, KinematicCloud, coalParcel);
makeInjectionModelType(ManualInjection, KinematicCloud, coalParcel);
makeInjectionModelType(NoInjection, KinematicCloud, coalParcel);
};
// ************************************************************************* //

View File

@ -1,62 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchInteractionModel(KinematicCloud<coalParcel>);
// Add instances of patch interaction model to the table
makePatchInteractionModelType
(
LocalInteraction,
KinematicCloud,
coalParcel
);
makePatchInteractionModelType
(
Rebound,
KinematicCloud,
coalParcel
);
makePatchInteractionModelType
(
StandardWallInteraction,
KinematicCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingCloud.H"
#include "NoPhaseChange.H"
#include "LiquidEvaporation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel
(
ReactingCloud<coalParcel>
);
// Add instances of phase change model to the table
makePhaseChangeModelType
(
NoPhaseChange,
ReactingCloud,
coalParcel
);
makePhaseChangeModelType
(
LiquidEvaporation,
ReactingCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "StandardPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePostProcessingModel(KinematicCloud<coalParcel>);
// Add instances of post-processing model to the table
makePostProcessingModelType
(
NoPostProcessing,
KinematicCloud,
coalParcel
);
makePostProcessingModelType
(
StandardPostProcessing,
KinematicCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -1,69 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "coalParcel.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H"
#include "COxidationDiffusionLimitedRate.H"
#include "COxidationKineticDiffusionLimitedRate.H"
#include "COxidationMurphyShaddix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeSurfaceReactionModel(ReactingMultiphaseCloud<coalParcel>);
// Add instances of surface reaction model to the table
makeSurfaceReactionModelType
(
NoSurfaceReaction,
ReactingMultiphaseCloud,
coalParcel
);
makeSurfaceReactionModelTypeInstance
(
COxidationDiffusionLimitedRate,
ReactingMultiphaseCloud,
coalParcel
);
makeSurfaceReactionModelTypeInstance
(
COxidationKineticDiffusionLimitedRate,
ReactingMultiphaseCloud,
coalParcel
);
makeSurfaceReactionModelTypeInstance
(
COxidationMurphyShaddix,
ReactingMultiphaseCloud,
coalParcel
);
};
// ************************************************************************* //

View File

@ -0,0 +1,98 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef createCoalParcelTypes_H
#define createCoalParcelTypes_H
#include "makeParcelIOList.H"
#include "reactingThermoTypes.H"
#include "CoalCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createCoalParcelType(ParcelType) \
\
createCoalParcelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createCoalParcelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createCoalParcelThermoType(ParcelType, ThermoType) \
\
typedef ParcelType<ThermoType> ParcelType##ThermoType; \
\
makeParcelIOList(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 \
); \
defineParcelTypeNameAndDebug(CoalCloud<ParcelType##ThermoType>, 0);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,18 +28,14 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate
template<class CloudType>
Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
)
:
SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
(
dict,
owner,
typeName
),
SurfaceReactionModel<CloudType>(dict, owner, typeName),
Sb_(dimensionedScalar(this->coeffDict().lookup("Sb")).value()),
D_(dimensionedScalar(this->coeffDict().lookup("D")).value()),
CsLocalId_(-1),
@ -63,10 +59,10 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate
{
FatalErrorIn
(
"COxidationDiffusionLimitedRate"
"COxidationDiffusionLimitedRate<CloudType>"
"("
"const dictionary&, "
"ReactingMultiphaseCloud<coalParcel>&"
"CloudType&"
")"
) << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
<< exit(FatalError);
@ -76,19 +72,23 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::COxidationDiffusionLimitedRate::~COxidationDiffusionLimitedRate()
template<class CloudType>
Foam::COxidationDiffusionLimitedRate<CloudType>::
~COxidationDiffusionLimitedRate()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::COxidationDiffusionLimitedRate::active() const
template<class CloudType>
bool Foam::COxidationDiffusionLimitedRate<CloudType>::active() const
{
return true;
}
Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate
template<class CloudType>
Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate
(
const scalar dt,
const label cellI,
@ -110,7 +110,8 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate
) const
{
// Fraction of remaining combustible material
const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_];
const label idSolid = CloudType::parcelType::SLD;
const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_];
// Surface combustion active combustible fraction is consumed
if (fComb < SMALL)
@ -120,7 +121,7 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate
// Local mass fraction of O2 in the carrier phase
const scalar YO2 =
owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
// Change in C mass [kg]
scalar dmC =

View File

@ -38,19 +38,23 @@ Description
#define COxidationDiffusionLimitedRate_H
#include "SurfaceReactionModel.H"
#include "coalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Forward class declarations
template<class CloudType>
class COxidationDiffusionLimitedRate;
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class COxidationDiffusionLimitedRate Declaration
Class COxidationDiffusionLimitedRate Declaration
\*---------------------------------------------------------------------------*/
template<class CloudType>
class COxidationDiffusionLimitedRate
:
public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
public SurfaceReactionModel<CloudType>
{
// Private data
@ -99,7 +103,7 @@ public:
COxidationDiffusionLimitedRate
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
);
@ -142,6 +146,12 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "COxidationDiffusionLimitedRate.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,14 +28,15 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::COxidationKineticDiffusionLimitedRate::
template<class CloudType>
Foam::COxidationKineticDiffusionLimitedRate<CloudType>::
COxidationKineticDiffusionLimitedRate
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
)
:
SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
SurfaceReactionModel<CloudType>
(
dict,
owner,
@ -69,7 +70,7 @@ COxidationKineticDiffusionLimitedRate
"COxidationKineticDiffusionLimitedRate"
"("
"const dictionary&, "
"ReactingMultiphaseCloud<coalParcel>&"
"CloudType&"
")"
) << "Stoichiometry of reaction, Sb, must be greater than zero" << nl
<< exit(FatalError);
@ -79,20 +80,23 @@ COxidationKineticDiffusionLimitedRate
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::COxidationKineticDiffusionLimitedRate::
template<class CloudType>
Foam::COxidationKineticDiffusionLimitedRate<CloudType>::
~COxidationKineticDiffusionLimitedRate()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::COxidationKineticDiffusionLimitedRate::active() const
template<class CloudType>
bool Foam::COxidationKineticDiffusionLimitedRate<CloudType>::active() const
{
return true;
}
Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate
template<class CloudType>
Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
(
const scalar dt,
const label cellI,
@ -114,7 +118,8 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate
) const
{
// Fraction of remaining combustible material
const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_];
const label idSolid = CloudType::parcelType::SLD;
const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_];
// Surface combustion active combustible fraction is consumed
if (fComb < SMALL)
@ -124,7 +129,7 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate
// Local mass fraction of O2 in the carrier phase
const scalar YO2 =
owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
// Diffusion rate coefficient
const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75);

View File

@ -39,19 +39,24 @@ Description
#define COxidationKineticDiffusionLimitedRate_H
#include "SurfaceReactionModel.H"
#include "coalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// Forward class declarations
template<class CloudType>
class COxidationKineticDiffusionLimitedRate;
/*---------------------------------------------------------------------------*\
Class COxidationKineticDiffusionLimitedRate Declaration
\*---------------------------------------------------------------------------*/
template<class CloudType>
class COxidationKineticDiffusionLimitedRate
:
public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
public SurfaceReactionModel<CloudType>
{
// Private data
@ -106,7 +111,7 @@ public:
COxidationKineticDiffusionLimitedRate
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
);
@ -149,6 +154,12 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "COxidationKineticDiffusionLimitedRate.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -28,20 +28,23 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
Foam::label Foam::COxidationMurphyShaddix::maxIters_ = 1000;
template<class CloudType>
Foam::label Foam::COxidationMurphyShaddix<CloudType>::maxIters_ = 1000;
Foam::scalar Foam::COxidationMurphyShaddix::tolerance_ = 1e-06;
template<class CloudType>
Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::tolerance_ = 1e-06;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::COxidationMurphyShaddix::COxidationMurphyShaddix
template<class CloudType>
Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
)
:
SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
SurfaceReactionModel<CloudType>
(
dict,
owner,
@ -76,19 +79,22 @@ Foam::COxidationMurphyShaddix::COxidationMurphyShaddix
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::COxidationMurphyShaddix::~COxidationMurphyShaddix()
template<class CloudType>
Foam::COxidationMurphyShaddix<CloudType>::~COxidationMurphyShaddix()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::COxidationMurphyShaddix::active() const
template<class CloudType>
bool Foam::COxidationMurphyShaddix<CloudType>::active() const
{
return true;
}
Foam::scalar Foam::COxidationMurphyShaddix::calculate
template<class CloudType>
Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
(
const scalar dt,
const label cellI,
@ -110,7 +116,8 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate
) const
{
// Fraction of remaining combustible material
const scalar fComb = YMixture[coalParcel::SLD]*YSolid[CsLocalId_];
const label idSolid = CloudType::parcelType::SLD;
const scalar fComb = YMixture[idSolid]*YSolid[CsLocalId_];
// Surface combustion until combustible fraction is consumed
if (fComb < SMALL)
@ -120,7 +127,7 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate
// Cell carrier phase O2 species density [kg/m^3]
const scalar rhoO2 =
rhoc*owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
rhoc*this->owner().carrierThermo().composition().Y(O2GlobalId_)[cellI];
if (rhoO2 < SMALL)
{
@ -186,8 +193,10 @@ Foam::scalar Foam::COxidationMurphyShaddix::calculate
if (iter > maxIters_)
{
WarningIn("scalar Foam::COxidationMurphyShaddix::calculate(...)")
<< "iter limit reached (" << maxIters_ << ")" << nl << endl;
WarningIn
(
"scalar Foam::COxidationMurphyShaddix<CloudType>::calculate(...)"
) << "iter limit reached (" << maxIters_ << ")" << nl << endl;
}
// Calculate the number of molar units reacted

View File

@ -34,19 +34,24 @@ Description
#define COxidationMurphyShaddix_H
#include "SurfaceReactionModel.H"
#include "coalParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// Forward class declarations
template<class CloudType>
class COxidationMurphyShaddix;
/*---------------------------------------------------------------------------*\
Class COxidationMurphyShaddix Declaration
\*---------------------------------------------------------------------------*/
template<class CloudType>
class COxidationMurphyShaddix
:
public SurfaceReactionModel<ReactingMultiphaseCloud<coalParcel> >
public SurfaceReactionModel<CloudType>
{
// Private data
@ -122,7 +127,7 @@ public:
COxidationMurphyShaddix
(
const dictionary& dict,
ReactingMultiphaseCloud<coalParcel>& owner
CloudType& owner
);
@ -165,6 +170,12 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "COxidationMurphyShaddix.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -2,32 +2,33 @@ PARCELS=parcels
DERIVEDPARCELS=$(PARCELS)/derived
BASEPARCELS=$(PARCELS)/baseClasses
/* Parcels */
$(DERIVEDPARCELS)/basicKinematicParcel/basicKinematicParcel.C
$(DERIVEDPARCELS)/basicThermoParcel/basicThermoParcel.C
/* $(DERIVEDPARCELS)/basicReactingParcel/basicReactingParcel.C */
/* $(DERIVEDPARCELS)/basicReactingMultiphaseParcel/basicReactingMultiphaseParcel.C */
/* $(DERIVEDPARCELS)/trackedReactingParcel/trackedReactingParcel.C */
CLOUDS=clouds
DERIVEDCLOUDS=$(CLOUDS)/derived
BASECLOUDS=$(CLOUDS)/baseClasses
/* Parcels */
$(BASEPARCELS)/reactingParcel/reactingParcel.C
/* Cloud base classes */
clouds/baseClasses/kinematicCloud/kinematicCloud.C
clouds/baseClasses/thermoCloud/thermoCloud.C
clouds/baseClasses/reactingCloud/reactingCloud.C
clouds/baseClasses/reactingMultiphaseCloud/reactingMultiphaseCloud.C
$(BASECLOUDS)/kinematicCloud/kinematicCloud.C
$(BASECLOUDS)/thermoCloud/thermoCloud.C
$(BASECLOUDS)/reactingCloud/reactingCloud.C
$(BASECLOUDS)/reactingMultiphaseCloud/reactingMultiphaseCloud.C
/* Cloud container/injection mechanisms */
clouds/derived/basicKinematicCloud/basicKinematicCloud.C
clouds/derived/basicThermoCloud/basicThermoCloud.C
/* clouds/derived/basicReactingCloud/basicReactingCloud.C */
/* clouds/derived/basicReactingMultiphaseCloud/basicReactingMultiphaseCloud.C */
/* clouds/derived/trackedReactingCloud/trackedReactingCloud.C */
$(DERIVEDCLOUDS)/basicKinematicCloud/basicKinematicCloud.C
$(DERIVEDCLOUDS)/basicThermoCloud/basicThermoCloud.C
$(DERIVEDCLOUDS)/BasicReactingCloud/defineBasicReactingCloud.C
$(DERIVEDCLOUDS)/BasicReactingMultiphaseCloud/defineBasicReactingMultiphaseCloud.C
$(DERIVEDCLOUDS)/BasicTrackedReactingCloud/defineBasicTrackedReactingCloud.C
/* kinematic parcel sub-models */
KINEMATICPARCEL=$(DERIVEDPARCELS)/basicKinematicParcel
$(KINEMATICPARCEL)/basicKinematicParcel.C
$(KINEMATICPARCEL)/defineBasicKinematicParcel.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDispersionModels.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDragModels.C
@ -38,6 +39,7 @@ $(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelPostProcessingModels.C
/* thermo parcel sub-models */
THERMOPARCEL=$(DERIVEDPARCELS)/basicThermoParcel
$(THERMOPARCEL)/basicThermoParcel.C
$(THERMOPARCEL)/defineBasicThermoParcel.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelDispersionModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelDragModels.C
@ -50,42 +52,19 @@ $(THERMOPARCEL)/submodels/makeBasicThermoParcelPostProcessingModels.C
/* reacting parcel sub-models */
REACTINGPARCEL=$(DERIVEDPARCELS)/BasicReactingParcel
$(REACTINGPARCEL)/defineBasicReactingParcel.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelCompositionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDispersionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDragModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelHeatTransferModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelInjectionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPatchInteractionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPhaseChangeModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPostProcessingModels.C
/* reacting multiphase parcel sub-models */
REACTINGMPPARCEL=$(DERIVEDPARCELS)/BasicReactingMultiphaseParcel
$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelCompositionModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDevolatilisationModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDispersionModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelDragModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelHeatTransferModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelInjectionModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPatchInteractionModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPhaseChangeModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelPostProcessingModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelSubmodels.C
/* tracked reacting parcel sub-models */
TRACKEDREACTINGPARCEL=$(DERIVEDPARCELS)/BasicTrackedReactingParcel
$(TRACKEDREACTINGPARCEL)/defineTrackedReactingParcel.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelCompositionModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelDispersionModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelDragModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelHeatTransferModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelInjectionModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPatchInteractionModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPhaseChangeModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeTrackedReactingParcelPostProcessingModels.C
$(TRACKEDREACTINGPARCEL)/submodels/makeBasicTrackedReactingParcelSubmodels.C
/* reacting multiphase parcel sub-models */
/*REACTINGMPPARCEL=$(DERIVEDPARCELS)/BasicReactingMultiphaseParcel
$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseSubmodels.C
/* bolt-on models */

View File

@ -47,8 +47,6 @@ SourceFiles
#include "ThermoCloud.H"
#include "reactingCloud.H"
#include "ReactingCloudThermoTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam

View File

@ -24,24 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "SinglePhaseMixture.H"
#include "createReactingCloudTypes.H"
#include "BasicReactingCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel(ReactingCloud<bReactingParcel>);
// Add instances of composition model to the table
makeCompositionModelType
(
SinglePhaseMixture,
ReactingCloud,
bReactingParcel
);
createReactingCloudType(BasicReactingCloud);
};

View File

@ -55,7 +55,7 @@ class BasicReactingMultiphaseCloud;
template<class ThermoType>
class BasicReactingMultiphaseCloud
:
public ReactingMultiphaseCloud<BasicReactingMultiphaseParcel>
public ReactingMultiphaseCloud<BasicReactingMultiphaseParcel<ThermoType> >
{
// Private Member Functions

View File

@ -24,21 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "NoDrag.H"
#include "SphereDrag.H"
#include "createReactingCloudTypes.H"
#include "BasicReactingMultiphaseCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<bReactingParcel>);
// Add instances of drag model to the table
makeDragModelType(NoDrag, KinematicCloud, bReactingParcel);
makeDragModelType(SphereDrag, KinematicCloud, bReactingParcel);
createReactingCloudType(BasicReactingMultiphaseCloud);
};

View File

@ -24,12 +24,12 @@ License
\*---------------------------------------------------------------------------*/
#include "trackedReactingCloud.H"
#include "BasicTrackedReactingCloud.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType>
Foam::trackedReactingCloud<ThermoType>::trackedReactingCloud
Foam::BasicTrackedReactingCloud<ThermoType>::BasicTrackedReactingCloud
(
const word& cloudName,
const volScalarField& rho,
@ -56,14 +56,14 @@ Foam::trackedReactingCloud<ThermoType>::trackedReactingCloud
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template<class ThermoType>
Foam::trackedReactingCloud<ThermoType>::~trackedReactingCloud()
Foam::BasicTrackedReactingCloud<ThermoType>::~BasicTrackedReactingCloud()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class ThermoType>
void Foam::trackedReactingCloud<ThermoType>::writeFields() const
void Foam::BasicTrackedReactingCloud<ThermoType>::writeFields() const
{
BasicTrackedReactingParcel<ThermoType>::writeFields(*this);
}

View File

@ -23,18 +23,18 @@ License
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
Foam::trackedReactingCloud
Foam::BasicTrackedReactingCloud
Description
Reacting cloud templated on the reacting parcel
SourceFiles
trackedReactingCloud.C
BasicTrackedReactingCloud.C
\*---------------------------------------------------------------------------*/
#ifndef trackedReactingCloud_H
#define trackedReactingCloud_H
#ifndef BasicTrackedReactingCloud_H
#define BasicTrackedReactingCloud_H
#include "ReactingCloud.H"
#include "BasicTrackedReactingParcel.H"
@ -46,36 +46,36 @@ namespace Foam
// Forward declaration of classes
template<class ThermoType>
class trackedReactingCloud;
class BasicTrackedReactingCloud;
/*---------------------------------------------------------------------------*\
Class trackedReactingCloud Declaration
Class BasicTrackedReactingCloud Declaration
\*---------------------------------------------------------------------------*/
template<class ThermoType>
class trackedReactingCloud
class BasicTrackedReactingCloud
:
public ReactingCloud<BasicTrackedReactingParcel<ThermoType> >
{
// Private Member Functions
//- Disallow default bitwise copy construct
trackedReactingCloud(const trackedReactingCloud&);
BasicTrackedReactingCloud(const BasicTrackedReactingCloud&);
//- Disallow default bitwise assignment
void operator=(const trackedReactingCloud&);
void operator=(const BasicTrackedReactingCloud&);
public:
//- Runtime type information
TypeName("trackedReactingCloud");
TypeName("BasicTrackedReactingCloud");
// Constructors
//- Construct given carrier gas fields
trackedReactingCloud
BasicTrackedReactingCloud
(
const word& cloudName,
const volScalarField& rho,
@ -87,7 +87,7 @@ public:
//- Destructor
~trackedReactingCloud();
~BasicTrackedReactingCloud();
// Member Functions
@ -104,7 +104,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
#include "trackedReactingCloud.C"
#include "BasicTrackedReactingCloud.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -24,22 +24,15 @@ License
\*---------------------------------------------------------------------------*/
#ifndef basicTrackedReactingParcelTypes_H
#define basicTrackedReactingParcelTypes_H
#include "BasicTrackedReactingParcel.H"
#include "ReactingCloudThermoTypes.H"
#include "createReactingCloudTypes.H"
#include "BasicTrackedReactingCloud.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef BasicTrackedReactingParcel<specieReactingProperties>
bTrackedReactingParcel;
createReactingCloudType(BasicTrackedReactingCloud);
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,19 +24,23 @@ License
\*---------------------------------------------------------------------------*/
#ifndef basicReactingMultiphaseParcelTypes_H
#define basicReactingMultiphaseParcelTypes_H
#ifndef createReactingCloudTypes_H
#define createReactingCloudTypes_H
#include "BasicReactingMultiphaseParcel.H"
#include "ReactingCloudThermoTypes.H"
#include "reactingThermoTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef BasicReactingMultiphaseParcel<specieReactingProperties>
bReactingMultiphaseParcel;
};
#define createReactingCloudType(CloudType) \
\
createReactingCloudThermoType(CloudType, specieConstProperties); \
createReactingCloudThermoType(CloudType, specieReactingProperties);
#define createReactingCloudThermoType(CloudType, ThermoType) \
\
defineTemplateTypeNameAndDebug(CloudType<ThermoType>, 0);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -24,79 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "createReactingMultiphaseParcelTypes.H"
#include "BasicReactingMultiphaseParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
defineTemplateTypeNameAndDebug(bReactingMultiphaseParcel, 0);
defineTemplateTypeNameAndDebug(Particle<bReactingMultiphaseParcel>, 0);
defineTemplateTypeNameAndDebug(Cloud<bReactingMultiphaseParcel>, 0);
defineParcelTypeNameAndDebug
(
KinematicParcel<bReactingMultiphaseParcel>,
0
);
defineTemplateTypeNameAndDebug
(
KinematicParcel<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ThermoParcel<bReactingMultiphaseParcel>,
0
);
defineTemplateTypeNameAndDebug
(
ThermoParcel<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ReactingParcel<bReactingMultiphaseParcel>,
0
);
defineTemplateTypeNameAndDebug
(
ReactingParcel<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ReactingMultiphaseParcel<bReactingMultiphaseParcel>,
0
);
defineTemplateTypeNameAndDebug
(
ReactingMultiphaseParcel<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
KinematicCloud<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ThermoCloud<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ReactingCloud<bReactingMultiphaseParcel>,
0
);
defineParcelTypeNameAndDebug
(
ReactingMultiphaseCloud<bReactingMultiphaseParcel>,
0
);
createReactingMultiphaseParcelType(BasicReactingMultiphaseParcel);
};

View File

@ -1,51 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingCloud.H"
#include "SingleMixtureFraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel
(
ReactingCloud<bReactingMultiphaseParcel>
);
// Add instances of composition model to the table
makeCompositionModelType
(
SingleMixtureFraction,
ReactingCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,65 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "NoDevolatilisation.H"
#include "ConstantRateDevolatilisation.H"
#include "SingleKineticRateDevolatilisation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDevolatilisationModel
(
ReactingMultiphaseCloud<bReactingMultiphaseParcel>
);
// Add instances of devolatilisation model to the table
makeDevolatilisationModelType
(
NoDevolatilisation,
ReactingMultiphaseCloud,
bReactingMultiphaseParcel
);
makeDevolatilisationModelType
(
ConstantRateDevolatilisation,
ReactingMultiphaseCloud,
bReactingMultiphaseParcel
);
makeDevolatilisationModelType
(
SingleKineticRateDevolatilisation,
ReactingMultiphaseCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,50 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "KinematicCloud.H"
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<bReactingMultiphaseParcel>);
// Add instances of drag model to the table
makeDragModelType(NoDrag, KinematicCloud, bReactingMultiphaseParcel);
makeDragModelType
(
SphereDrag,
KinematicCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,69 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingCloud.H"
#include "ConeInjection.H"
#include "FieldActivatedInjection.H"
#include "ManualInjection.H"
#include "NoInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<bReactingMultiphaseParcel>);
// Add instances of injection model to the table
makeInjectionModelType
(
ConeInjection,
KinematicCloud,
bReactingMultiphaseParcel
);
makeInjectionModelType
(
FieldActivatedInjection,
KinematicCloud,
bReactingMultiphaseParcel
);
makeInjectionModelType
(
ManualInjection,
KinematicCloud,
bReactingMultiphaseParcel
);
makeInjectionModelType
(
NoInjection,
KinematicCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,62 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "KinematicCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchInteractionModel(KinematicCloud<bReactingMultiphaseParcel>);
// Add instances of patch interaction model to the table
makePatchInteractionModelType
(
LocalInteraction,
KinematicCloud,
bReactingMultiphaseParcel
);
makePatchInteractionModelType
(
Rebound,
KinematicCloud,
bReactingMultiphaseParcel
);
makePatchInteractionModelType
(
StandardWallInteraction,
KinematicCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,58 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingCloud.H"
#include "NoPhaseChange.H"
#include "LiquidEvaporation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel
(
ReactingCloud<bReactingMultiphaseParcel>
);
// Add instances of phase change model to the table
makePhaseChangeModelType
(
NoPhaseChange,
ReactingCloud,
bReactingMultiphaseParcel
);
makePhaseChangeModelType
(
LiquidEvaporation,
ReactingCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "StandardPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePostProcessingModel(KinematicCloud<bReactingMultiphaseParcel>);
// Add instances of post-processing model to the table
makePostProcessingModelType
(
NoPostProcessing,
KinematicCloud,
bReactingMultiphaseParcel
);
makePostProcessingModelType
(
StandardPostProcessing,
KinematicCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -0,0 +1,73 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "BasicReactingMultiphaseParcel.H"
#include "makeReactingParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H"
#include "makeReactingParcelInjectionModels.H"
#include "makeReactingParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H"
#include "makeReactingParcelHeatTransferModels.H"
#include "makeReactingMultiphaseParcelCompositionModels.H"
#include "makeReactingParcelPhaseChangeModels.H"
#include "makeReactingMultiphaseParcelDevolatilisationModels.H"
#include "makeReactingMultiphaseParcelSurfaceReactionModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// Kinematic sub-models
createReactingDispersionModelType(BasicReactingMultiphaseParcel);
createReactingDragModelType(BasicReactingMultiphaseParcel);
createReactingInjectionModelType(BasicReactingMultiphaseParcel);
createReactingPatchInteractionModelType(BasicReactingMultiphaseParcel);
createReactingPostProcessingModelType(BasicReactingMultiphaseParcel);
// Thermo sub-models
createReactingHeatTransferModelType(BasicReactingMultiphaseParcel);
// Reacting sub-models
createReactingMultiphaseCompositionModelType(BasicReactingMultiphaseParcel);
createReactingPhaseChangeModelType(BasicReactingMultiphaseParcel);
// Reacting multiphase sub-models
createReactingMultiphaseDevolatilisationModelType
(
BasicReactingMultiphaseParcel
);
createReactingMultiphaseSurfaceReactionModelType
(
BasicReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -1,51 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeSurfaceReactionModel
(
ReactingMultiphaseCloud<bReactingMultiphaseParcel>
);
// Add instances of surface reaction model to the table
makeSurfaceReactionModelType
(
NoSurfaceReaction,
ReactingMultiphaseCloud,
bReactingMultiphaseParcel
);
};
// ************************************************************************* //

View File

@ -0,0 +1,70 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingMultiphaseParcelCompositionModels_H
#define makeReactingMultiphaseParcelCompositionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingCloud.H"
#include "SingleMixtureFraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingMultiphaseCompositionModelType(ParcelType) \
\
createReactingMultiphaseCompositionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingMultiphaseCompositionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingMultiphaseCompositionModelThermoType(ParcelType, ThermoType)\
\
makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \
\
makeCompositionModelThermoType \
( \
SingleMixtureFraction, \
ReactingCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,89 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingMultiphaseParcelDevolatilisationModels_H
#define makeReactingMultiphaseParcelDevolatilisationModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "ConstantRateDevolatilisation.H"
#include "NoDevolatilisation.H"
#include "SingleKineticRateDevolatilisation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingMultiphaseDevolatilisationModelType(ParcelType) \
\
createReactingMultiphaseDevolatilisationModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingMultiphaseDevolatilisationModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingMultiphaseDevolatilisationModelThermoType(ParcelType, ThermoType)\
\
makeDevolatilisationModel \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeDevolatilisationModelThermoType \
( \
ConstantRateDevolatilisation, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
); \
makeDevolatilisationModelThermoType \
( \
NoDevolatilisation, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
); \
makeDevolatilisationModelThermoType \
( \
SingleKineticRateDevolatilisation, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,73 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingMultiphaseParcelSurfaceReactionModels_H
#define makeReactingMultiphaseParcelSurfaceReactionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingMultiphaseSurfaceReactionModelType(ParcelType) \
\
createReactingMultiphaseSurfaceReactionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingMultiphaseSurfaceReactionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingMultiphaseSurfaceReactionModelThermoType(ParcelType, ThermoType)\
\
makeSurfaceReactionModel \
( \
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
); \
\
makeSurfaceReactionModelThermoType \
( \
NoSurfaceReaction, \
ReactingMultiphaseCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,7 +24,8 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "createReactingParcelTypes.H"
#include "BasicReactingParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,68 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<bReactingParcel>);
defineNamedTemplateTypeNameAndDebug
(
DispersionRASModel<KinematicCloud<bReactingParcel> >,
0
);
// Add instances of dispersion model to the table
makeDispersionModelType
(
NoDispersion,
KinematicCloud,
bReactingParcel
);
makeDispersionModelType
(
GradientDispersionRAS,
KinematicCloud,
bReactingParcel
);
makeDispersionModelType
(
StochasticDispersionRAS,
KinematicCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "ThermoCloud.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<bReactingParcel>);
// Add instances of heat transfer model to the table
makeHeatTransferModelType
(
NoHeatTransfer,
ThermoCloud,
bReactingParcel
);
makeHeatTransferModelType
(
RanzMarshall,
ThermoCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -1,76 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "ConeInjection.H"
#include "FieldActivatedInjection.H"
#include "ManualInjection.H"
#include "NoInjection.H"
#include "ReactingLookupTableInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<bReactingParcel>);
// Add instances of injection model to the table
makeInjectionModelType
(
ConeInjection,
KinematicCloud,
bReactingParcel
);
makeInjectionModelType
(
FieldActivatedInjection,
KinematicCloud,
bReactingParcel
);
makeInjectionModelType
(
ManualInjection,
KinematicCloud,
bReactingParcel
);
makeInjectionModelType
(
NoInjection,
KinematicCloud,
bReactingParcel
);
makeInjectionModelType
(
ReactingLookupTableInjection,
KinematicCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -1,62 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchInteractionModel(KinematicCloud<bReactingParcel>);
// Add instances of patch interaction model to the table
makePatchInteractionModelType
(
LocalInteraction,
KinematicCloud,
bReactingParcel
);
makePatchInteractionModelType
(
Rebound,
KinematicCloud,
bReactingParcel
);
makePatchInteractionModelType
(
StandardWallInteraction,
KinematicCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "NoPhaseChange.H"
#include "LiquidEvaporation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel(ReactingCloud<bReactingParcel>);
// Add instances of phase change model to the table
makePhaseChangeModelType
(
NoPhaseChange,
ReactingCloud,
bReactingParcel
);
makePhaseChangeModelType
(
LiquidEvaporation,
ReactingCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "StandardPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePostProcessingModel(KinematicCloud<bReactingParcel>);
// Add instances of post-processing model to the table
makePostProcessingModelType
(
NoPostProcessing,
KinematicCloud,
bReactingParcel
);
makePostProcessingModelType
(
StandardPostProcessing,
KinematicCloud,
bReactingParcel
);
};
// ************************************************************************* //

View File

@ -24,44 +24,36 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcelTypes.H"
#include "KinematicCloud.H"
#include "BasicReactingParcel.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
#include "makeReactingParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H"
#include "makeReactingParcelInjectionModels.H"
#include "makeReactingParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H"
#include "makeReactingParcelHeatTransferModels.H"
#include "makeReactingParcelCompositionModels.H"
#include "makeReactingParcelPhaseChangeModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<bReactingMultiphaseParcel>);
// Kinematic sub-models
createReactingDispersionModelType(BasicReactingParcel);
createReactingDragModelType(BasicReactingParcel);
createReactingInjectionModelType(BasicReactingParcel);
createReactingPatchInteractionModelType(BasicReactingParcel);
createReactingPostProcessingModelType(BasicReactingParcel);
defineNamedTemplateTypeNameAndDebug
(
DispersionRASModel<KinematicCloud<bReactingMultiphaseParcel> >,
0
);
// Thermo sub-models
createReactingHeatTransferModelType(BasicReactingParcel);
// Add instances of dispersion model to the table
makeDispersionModelType
(
NoDispersion,
KinematicCloud,
bReactingMultiphaseParcel
);
makeDispersionModelType
(
GradientDispersionRAS,
KinematicCloud,
bReactingMultiphaseParcel
);
makeDispersionModelType
(
StochasticDispersionRAS,
KinematicCloud,
bReactingMultiphaseParcel
);
// Reacting sub-models
createReactingCompositionModelType(BasicReactingParcel);
createReactingPhaseChangeModelType(BasicReactingParcel);
};

View File

@ -0,0 +1,70 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelCompositionModels_H
#define makeReactingParcelCompositionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingCloud.H"
#include "SinglePhaseMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingCompositionModelType(ParcelType) \
\
createReactingCompositionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingCompositionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingCompositionModelThermoType(ParcelType, ThermoType) \
\
makeCompositionModel(ReactingCloud<ParcelType<ThermoType> >); \
\
makeCompositionModelThermoType \
( \
SinglePhaseMixture, \
ReactingCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,93 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelDispersionModels_H
#define makeReactingParcelDispersionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "KinematicCloud.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingDispersionModelType(ParcelType) \
\
createReactingDispersionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
\
createReactingDispersionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingDispersionModelThermoType(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

@ -0,0 +1,78 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelDragModels_H
#define makeReactingParcelDragModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "KinematicCloud.H"
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingDragModelType(ParcelType) \
\
createReactingDragModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingDragModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingDragModelThermoType(ParcelType, ThermoType) \
\
makeDragModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeDragModelThermoType \
( \
NoDrag, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeDragModelThermoType \
( \
SphereDrag, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,78 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelHeatTransferModels_H
#define makeReactingParcelHeatTransferModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ThermoCloud.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingHeatTransferModelType(ParcelType) \
\
createReactingHeatTransferModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingHeatTransferModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingHeatTransferModelThermoType(ParcelType, ThermoType) \
\
makeHeatTransferModel(ThermoCloud<ParcelType<ThermoType> >); \
\
makeHeatTransferModelThermoType \
( \
NoHeatTransfer, \
ThermoCloud, \
ParcelType, \
ThermoType \
); \
makeHeatTransferModelThermoType \
( \
RanzMarshall, \
ThermoCloud, \
ParcelType, \
ThermoType \
); \
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,103 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelInjectionModels_H
#define makeReactingParcelInjectionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "KinematicCloud.H"
#include "ConeInjection.H"
#include "FieldActivatedInjection.H"
#include "ManualInjection.H"
#include "NoInjection.H"
#include "ReactingLookupTableInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingInjectionModelType(ParcelType) \
\
createReactingInjectionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
\
createReactingInjectionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingInjectionModelThermoType(ParcelType, ThermoType) \
\
makeInjectionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makeInjectionModelThermoType \
( \
ConeInjection, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeInjectionModelThermoType \
( \
FieldActivatedInjection, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeInjectionModelThermoType \
( \
ManualInjection, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeInjectionModelThermoType \
( \
NoInjection, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makeInjectionModelThermoType \
( \
ReactingLookupTableInjection, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,87 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelPatchInteractionModels_H
#define makeReactingParcelPatchInteractionModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "KinematicCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingPatchInteractionModelType(ParcelType) \
\
createReactingPatchInteractionModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
\
createReactingPatchInteractionModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingPatchInteractionModelThermoType(ParcelType, ThermoType) \
\
makePatchInteractionModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makePatchInteractionModelThermoType \
( \
LocalInteraction, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePatchInteractionModelThermoType \
( \
Rebound, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePatchInteractionModelThermoType \
( \
StandardWallInteraction, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,79 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelPhaseChangeModels_H
#define makeReactingParcelPhaseChangeModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "ReactingCloud.H"
#include "NoPhaseChange.H"
#include "LiquidEvaporation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingPhaseChangeModelType(ParcelType) \
\
createReactingPhaseChangeModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
\
createReactingPhaseChangeModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingPhaseChangeModelThermoType(ParcelType, ThermoType) \
\
makePhaseChangeModel(ReactingCloud<ParcelType<ThermoType> >); \
\
makePhaseChangeModelThermoType \
( \
NoPhaseChange, \
ReactingCloud, \
ParcelType, \
ThermoType \
); \
makePhaseChangeModelThermoType \
( \
LiquidEvaporation, \
ReactingCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -0,0 +1,79 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef makeReactingParcelPostProcessingModels_H
#define makeReactingParcelPostProcessingModels_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "reactingThermoTypes.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "StandardPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingPostProcessingModelType(ParcelType) \
\
createReactingPostProcessingModelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
\
createReactingPostProcessingModelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingPostProcessingModelThermoType(ParcelType, ThermoType) \
\
makePostProcessingModel(KinematicCloud<ParcelType<ThermoType> >); \
\
makePostProcessingModelThermoType \
( \
NoPostProcessing, \
KinematicCloud, \
ParcelType, \
ThermoType \
); \
makePostProcessingModelThermoType \
( \
StandardPostProcessing, \
KinematicCloud, \
ParcelType, \
ThermoType \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,35 +24,14 @@ License
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "BasicReactingCloud.H"
#include "createTrackedReactingParcelTypes.H"
#include "BasicTrackedReactingParcel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
defineTemplateTypeNameAndDebug(bTrackedReactingParcel, 0);
defineTemplateTypeNameAndDebug(Particle<bTrackedReactingParcel>, 0);
defineTemplateTypeNameAndDebug(Cloud<bTrackedReactingParcel>, 0);
defineParcelTypeNameAndDebug(KinematicParcel<bTrackedReactingParcel>, 0);
defineTemplateTypeNameAndDebug(KinematicParcel<bTrackedReactingParcel>, 0);
defineParcelTypeNameAndDebug(ThermoParcel<bTrackedReactingParcel>, 0);
defineTemplateTypeNameAndDebug(ThermoParcel<bTrackedReactingParcel>, 0);
defineParcelTypeNameAndDebug(ReactingParcel<bTrackedReactingParcel>, 0);
defineTemplateTypeNameAndDebug(ReactingParcel<bTrackedReactingParcel>, 0);
defineTemplateTypeNameAndDebug
(
TrackedReactingParcel<bTrackedReactingParcel>,
0
);
defineParcelTypeNameAndDebug(KinematicCloud<bTrackedReactingParcel>, 0);
// defineTemplateTypeNameAndDebug(KinematicCloud<bTrackedReactingParcel>, 0);
defineParcelTypeNameAndDebug(ThermoCloud<bTrackedReactingParcel>, 0);
// defineTemplateTypeNameAndDebug(ThermoCloud<bTrackedReactingParcel>, 0);
defineParcelTypeNameAndDebug(ReactingCloud<bTrackedReactingParcel>, 0);
// defineTemplateTypeNameAndDebug(ReactingCloud<bTrackedReactingParcel>, 0);
createTrackedReactingParcelType(BasicTrackedReactingParcel);
}

View File

@ -24,22 +24,37 @@ License
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "BasicTrackedReactingParcel.H"
#include "NoDrag.H"
#include "SphereDrag.H"
#include "makeReactingParcelDispersionModels.H"
#include "makeReactingParcelDragModels.H"
#include "makeReactingParcelInjectionModels.H"
#include "makeReactingParcelPatchInteractionModels.H"
#include "makeReactingParcelPostProcessingModels.H"
#include "makeReactingParcelHeatTransferModels.H"
#include "makeReactingParcelCompositionModels.H"
#include "makeReactingParcelPhaseChangeModels.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<bTrackedReactingParcel>);
// Kinematic sub-models
createReactingDispersionModelType(BasicTrackedReactingParcel);
createReactingDragModelType(BasicTrackedReactingParcel);
createReactingInjectionModelType(BasicTrackedReactingParcel);
createReactingPatchInteractionModelType(BasicTrackedReactingParcel);
createReactingPostProcessingModelType(BasicTrackedReactingParcel);
// Add instances of drag model to the table
makeDragModelType(NoDrag, KinematicCloud, bTrackedReactingParcel);
makeDragModelType(SphereDrag, KinematicCloud, bTrackedReactingParcel);
}
// Thermo sub-models
createReactingHeatTransferModelType(BasicTrackedReactingParcel);
// Reacting sub-models
createReactingCompositionModelType(BasicTrackedReactingParcel);
createReactingPhaseChangeModelType(BasicTrackedReactingParcel);
};
// ************************************************************************* //

View File

@ -1,48 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "SinglePhaseMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel(ReactingCloud<bTrackedReactingParcel>);
// Add instances of composition model to the table
makeCompositionModelType
(
SinglePhaseMixture,
ReactingCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,68 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "NoDispersion.H"
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<bTrackedReactingParcel>);
defineNamedTemplateTypeNameAndDebug
(
DispersionRASModel<KinematicCloud<bTrackedReactingParcel> >,
0
);
// Add instances of dispersion model to the table
makeDispersionModelType
(
NoDispersion,
KinematicCloud,
bTrackedReactingParcel
);
makeDispersionModelType
(
GradientDispersionRAS,
KinematicCloud,
bTrackedReactingParcel
);
makeDispersionModelType
(
StochasticDispersionRAS,
KinematicCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "ThermoCloud.H"
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<bTrackedReactingParcel>);
// Add instances of heat transfer model to the table
makeHeatTransferModelType
(
NoHeatTransfer,
ThermoCloud,
bTrackedReactingParcel
);
makeHeatTransferModelType
(
RanzMarshall,
ThermoCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,76 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "ConeInjection.H"
#include "FieldActivatedInjection.H"
#include "ManualInjection.H"
#include "NoInjection.H"
#include "ReactingLookupTableInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<bTrackedReactingParcel>);
// Add instances of injection model to the table
makeInjectionModelType
(
ConeInjection,
KinematicCloud,
bTrackedReactingParcel
);
makeInjectionModelType
(
FieldActivatedInjection,
KinematicCloud,
bTrackedReactingParcel
);
makeInjectionModelType
(
ManualInjection,
KinematicCloud,
bTrackedReactingParcel
);
makeInjectionModelType
(
NoInjection,
KinematicCloud,
bTrackedReactingParcel
);
makeInjectionModelType
(
ReactingLookupTableInjection,
KinematicCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,62 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "LocalInteraction.H"
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchInteractionModel(KinematicCloud<bTrackedReactingParcel>);
// Add instances of patch interaction model to the table
makePatchInteractionModelType
(
LocalInteraction,
KinematicCloud,
bTrackedReactingParcel
);
makePatchInteractionModelType
(
Rebound,
KinematicCloud,
bTrackedReactingParcel
);
makePatchInteractionModelType
(
StandardWallInteraction,
KinematicCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "ReactingCloud.H"
#include "NoPhaseChange.H"
#include "LiquidEvaporation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel(ReactingCloud<bTrackedReactingParcel>);
// Add instances of phase change model to the table
makePhaseChangeModelType
(
NoPhaseChange,
ReactingCloud,
bTrackedReactingParcel
);
makePhaseChangeModelType
(
LiquidEvaporation,
ReactingCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -1,55 +0,0 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "basicTrackedReactingParcelTypes.H"
#include "KinematicCloud.H"
#include "NoPostProcessing.H"
#include "StandardPostProcessing.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePostProcessingModel(KinematicCloud<bTrackedReactingParcel>);
// Add instances of post-processing model to the table
makePostProcessingModelType
(
NoPostProcessing,
KinematicCloud,
bTrackedReactingParcel
);
makePostProcessingModelType
(
StandardPostProcessing,
KinematicCloud,
bTrackedReactingParcel
);
}
// ************************************************************************* //

View File

@ -0,0 +1,94 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef createReactingMultiphaseParcelTypes_H
#define createReactingMultiphaseParcelTypes_H
#include "makeParcelIOList.H"
#include "reactingThermoTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createReactingMultiphaseParcelType(ParcelType) \
\
createReactingMultiphaseParcelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createReactingParcelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createReactingMultiphaseParcelThermoType(ParcelType, ThermoType) \
\
typedef ParcelType<ThermoType> ParcelType##ThermoType; \
\
makeParcelIOList(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(KinematicCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \
defineParcelTypeNameAndDebug \
( \
ReactingMultiphaseCloud<ParcelType##ThermoType>, \
0 \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -24,21 +24,11 @@ License
\*---------------------------------------------------------------------------*/
#ifndef basicReactingParcelTypes_H
#define basicReactingParcelTypes_H
#ifndef createReactingParcelTypes_H
#define createReactingParcelTypes_H
#include "BasicReactingParcel.H"
#include "BasicReactingCloud.H"
#include "ReactingCloudThermoTypes.H"
#include "makeParcelIOList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef BasicReactingParcel<specieReactingProperties> bReactingParcel;
};
#include "reactingThermoTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -54,8 +44,6 @@ namespace Foam
\
makeParcelIOList(ParcelType##ThermoType); \
\
defineTemplateTypeNameAndDebug(BasicReactingCloud<ThermoType>, 0); \
\
defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \
defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \
defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \

View File

@ -0,0 +1,70 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2009 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef createTrackedReactingParcelTypes_H
#define createTrackedReactingParcelTypes_H
#include "createReactingParcelTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define createTrackedReactingParcelType(ParcelType) \
\
createTrackedReactingParcelThermoType \
( \
ParcelType, \
specieConstProperties \
); \
createTrackedReactingParcelThermoType \
( \
ParcelType, \
specieReactingProperties \
);
#define createTrackedReactingParcelThermoType(ParcelType, ThermoType) \
\
createReactingParcelThermoType(ParcelType, ThermoType); \
\
typedef ParcelType<ThermoType> ParcelType##ThermoType; \
\
defineParcelTypeNameAndDebug \
( \
TrackedReactingParcel<ParcelType##ThermoType>, \
0 \
); \
defineTemplateTypeNameAndDebug \
( \
TrackedReactingParcel<ParcelType##ThermoType>, \
0 \
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -26,18 +26,19 @@ Typedefs
Foam::ReactingCloudThermoTypes
Description
Type definitions for available thermo pacakges
\*---------------------------------------------------------------------------*/
#ifndef ReactingCloudThermoTypes_H
#define ReactingCloudThermoTypes_H
#ifndef reactingThermoTypes_H
#define reactingThermoTypes_H
#include "sutherlandTransport.H"
#include "constTransport.H"
#include "specieThermo.H"
#include "perfectGas.H"
#include "hConstThermo.H"
#include "janafThermo.H"
#include "perfectGas.H"
#include "specieThermo.H"
#include "sutherlandTransport.H"
#include "constTransport.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -28,9 +28,6 @@ License
#include "basicKinematicParcel.H"
#include "basicThermoParcel.H"
#include "basicReactingMultiphaseParcelTypes.H"
#include "basicTrackedReactingParcelTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -38,9 +35,6 @@ namespace Foam
{
makeParcelIOList(basicKinematicParcel);
makeParcelIOList(basicThermoParcel);
makeParcelIOList(bReactingMultiphaseParcel);
makeParcelIOList(bTrackedReactingParcel);
};

View File

@ -160,6 +160,20 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makeDispersionModelThermoType(SS, CloudType, ParcelType, ThermoType) \
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
DispersionModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository

View File

@ -155,6 +155,20 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makeDragModelThermoType(SS, CloudType, ParcelType, ThermoType) \
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
DragModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository

View File

@ -303,21 +303,6 @@ public:
) = 0;
virtual bool fullyDescribed() const = 0;
/*
//- Return the velocity of the parcel to introduce at a time
virtual vector velocity
(
const label parcelI,
const scalar time
) = 0;
//- Return the diameter of the parcel to introduce at a time
virtual scalar d0
(
const label parcelI,
const scalar time
) const = 0;
*/
};
@ -343,6 +328,21 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makeInjectionModelThermoType(SS, CloudType, ParcelType, ThermoType) \
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
InjectionModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "InjectionModelI.H"

View File

@ -160,6 +160,20 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makePatchInteractionModelThermoType(SS, CloudType, ParcelType, ThermoType)\
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
PatchInteractionModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository

View File

@ -178,6 +178,20 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makePostProcessingModelThermoType(SS, CloudType, ParcelType, ThermoType)\
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
PostProcessingModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "PostProcessingModelI.H"

View File

@ -282,13 +282,18 @@ public:
);
#define makeCompositionModelType(SS, CloudType, ParcelType) \
#define makeCompositionModelThermoType(SS, CloudType, ParcelType, ThermoType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
CompositionModel<CloudType<ParcelType> >:: \
adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \
add##SS##CloudType##ParcelType##ConstructorToTable_;
CompositionModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -139,6 +139,10 @@ public:
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
@ -147,10 +151,6 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View File

@ -168,13 +168,18 @@ public:
);
#define makePhaseChangeModelType(SS, CloudType, ParcelType) \
#define makePhaseChangeModelThermoType(SS, CloudType, ParcelType, ThermoType) \
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
PhaseChangeModel<CloudType<ParcelType> >:: \
adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \
add##SS##CloudType##ParcelType##ConstructorToTable_;
PhaseChangeModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -160,13 +160,18 @@ public:
);
#define makeDevolatilisationModelType(SS, CloudType, ParcelType) \
#define makeDevolatilisationModelThermoType(SS, CloudType, ParcelType, ThermoType)\
\
defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
DevolatilisationModel<CloudType<ParcelType> >:: \
adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \
add##SS##CloudType##ParcelType##ConstructorToTable_;
DevolatilisationModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -190,6 +190,19 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makeSurfaceReactionModelThermoTypeNew(SS, CloudType, ParcelType, ThermoType)\
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
SurfaceReactionModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository

View File

@ -189,6 +189,20 @@ public:
add##SS##CloudType##ParcelType##ConstructorToTable_;
#define makeHeatTransferModelThermoType(SS, CloudType, ParcelType, ThermoType)\
\
defineNamedTemplateTypeNameAndDebug \
( \
SS<CloudType<ParcelType<ThermoType> > >, \
0 \
); \
\
HeatTransferModel<CloudType<ParcelType<ThermoType> > >:: \
adddictionaryConstructorToTable \
<SS<CloudType<ParcelType<ThermoType> > > > \
add##SS##CloudType##ParcelType##ThermoType##ConstructorToTable_;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository