mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Updated lagrangian/coalCombustion library re: local developments
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
/* Coal parcel and sub-models */
|
/* Coal parcel and sub-models */
|
||||||
CoalParcel/defineCoalParcel.C
|
coalParcel/coalParcel.C
|
||||||
CoalParcel/makeCoalParcelSubmodels.C
|
coalParcel/defineCoalParcel.C
|
||||||
|
coalParcel/makeCoalParcelSubmodels.C
|
||||||
|
|
||||||
LIB = $(FOAM_LIBBIN)/libcoalCombustion
|
LIB = $(FOAM_LIBBIN)/libcoalCombustion
|
||||||
|
|||||||
@ -11,6 +11,7 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/solids/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/solidMixture/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||||
|
-I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels \
|
-I$(LIB_SRC)/turbulenceModels \
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \
|
||||||
@ -32,6 +33,7 @@ LIB_LIBS = \
|
|||||||
-lsolids \
|
-lsolids \
|
||||||
-lsolidMixture \
|
-lsolidMixture \
|
||||||
-lreactionThermophysicalModels \
|
-lreactionThermophysicalModels \
|
||||||
|
-lSLGThermo \
|
||||||
-lcompressibleRASModels \
|
-lcompressibleRASModels \
|
||||||
-lcompressibleLESModels \
|
-lcompressibleLESModels \
|
||||||
-lsurfaceFilmModels
|
-lsurfaceFilmModels
|
||||||
|
|||||||
@ -25,29 +25,21 @@ Class
|
|||||||
CoalCloud
|
CoalCloud
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Coal cloud templated on the type of carrier phase thermodynamics
|
Coal cloud
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef CoalCloud_H
|
#ifndef coalCloud_H
|
||||||
#define CoalCloud_H
|
#define coalCloud_H
|
||||||
|
|
||||||
#include "ReactingMultiphaseCloud.H"
|
#include "ReactingMultiphaseCloud.H"
|
||||||
#include "CoalParcel.H"
|
#include "coalParcel.H"
|
||||||
#include "thermoPhysicsTypes.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
typedef ReactingMultiphaseCloud<CoalParcel<constGasThermoPhysics> >
|
typedef ReactingMultiphaseCloud<coalParcel> coalCloud;
|
||||||
constThermoCoalCloud;
|
|
||||||
|
|
||||||
typedef ReactingMultiphaseCloud<CoalParcel<gasThermoPhysics> >
|
|
||||||
thermoCoalCloud;
|
|
||||||
|
|
||||||
typedef ReactingMultiphaseCloud<CoalParcel<icoPoly8ThermoPhysics> >
|
|
||||||
icoPoly8ThermoCoalCloud;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -23,26 +23,24 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "CoalParcel.H"
|
#include "coalParcel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class ThermoType>
|
Foam::coalParcel::coalParcel
|
||||||
Foam::CoalParcel<ThermoType>::CoalParcel
|
|
||||||
(
|
(
|
||||||
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner,
|
ReactingMultiphaseCloud<coalParcel>& owner,
|
||||||
const vector& position,
|
const vector& position,
|
||||||
const label cellI
|
const label cellI
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(owner, position, cellI)
|
ReactingMultiphaseParcel<coalParcel>(owner, position, cellI)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
template<class ThermoType>
|
Foam::coalParcel::coalParcel
|
||||||
Foam::CoalParcel<ThermoType>::CoalParcel
|
|
||||||
(
|
(
|
||||||
ReactingMultiphaseCloud<CoalParcel<ThermoType> >& owner,
|
ReactingMultiphaseCloud<coalParcel>& owner,
|
||||||
const vector& position,
|
const vector& position,
|
||||||
const label cellI,
|
const label cellI,
|
||||||
const label typeId,
|
const label typeId,
|
||||||
@ -56,12 +54,10 @@ Foam::CoalParcel<ThermoType>::CoalParcel
|
|||||||
const scalarField& YGas0,
|
const scalarField& YGas0,
|
||||||
const scalarField& YLiquid0,
|
const scalarField& YLiquid0,
|
||||||
const scalarField& YSolid0,
|
const scalarField& YSolid0,
|
||||||
const typename
|
const ReactingMultiphaseParcel<coalParcel>::constantProperties& constProps
|
||||||
ReactingMultiphaseParcel<CoalParcel<ThermoType> >::
|
|
||||||
constantProperties& constProps
|
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
ReactingMultiphaseParcel<CoalParcel<ThermoType> >
|
ReactingMultiphaseParcel<coalParcel>
|
||||||
(
|
(
|
||||||
owner,
|
owner,
|
||||||
position,
|
position,
|
||||||
@ -82,22 +78,27 @@ Foam::CoalParcel<ThermoType>::CoalParcel
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
template<class ThermoType>
|
Foam::coalParcel::coalParcel
|
||||||
Foam::CoalParcel<ThermoType>::CoalParcel
|
|
||||||
(
|
(
|
||||||
const Cloud<CoalParcel<ThermoType> >& cloud,
|
const Cloud<coalParcel>& cloud,
|
||||||
Istream& is,
|
Istream& is,
|
||||||
bool readFields
|
bool readFields
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
ReactingMultiphaseParcel<CoalParcel<ThermoType> >(cloud, is, readFields)
|
ReactingMultiphaseParcel<coalParcel>(cloud, is, readFields)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::coalParcel::coalParcel(const coalParcel& p)
|
||||||
|
:
|
||||||
|
ReactingMultiphaseParcel<coalParcel>(p)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class ThermoType>
|
Foam::coalParcel::~coalParcel()
|
||||||
Foam::CoalParcel<ThermoType>::~CoalParcel()
|
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -22,19 +22,18 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
CoalParcel
|
coalParcel
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
Coal parcel class
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
CoalParcel.C
|
CoalParcel.C
|
||||||
CoalParcelIO.C
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef CoalParcel_H
|
#ifndef coalParcel_H
|
||||||
#define CoalParcel_H
|
#define coalParcel_H
|
||||||
|
|
||||||
#include "ReactingMultiphaseParcel.H"
|
#include "ReactingMultiphaseParcel.H"
|
||||||
|
|
||||||
@ -43,42 +42,34 @@ SourceFiles
|
|||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
|
||||||
// Forward declaration of classes
|
|
||||||
template<class ThermoType>
|
|
||||||
class CoalParcel;
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
Class CoalParcel Declaration
|
Class coalParcel Declaration
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
template<class ThermoType>
|
class coalParcel
|
||||||
class CoalParcel
|
|
||||||
:
|
:
|
||||||
public ReactingMultiphaseParcel<CoalParcel<ThermoType> >
|
public ReactingMultiphaseParcel<coalParcel>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- The type of thermodynamics this parcel was instantiated for
|
|
||||||
typedef ThermoType thermoType;
|
|
||||||
|
|
||||||
// Run-time type information
|
// Run-time type information
|
||||||
TypeName("CoalParcel");
|
TypeName("coalParcel");
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from owner, position, and cloud owner
|
//- Construct from owner, position, and cloud owner
|
||||||
// Other properties initialised as null
|
// Other properties initialised as null
|
||||||
CoalParcel
|
coalParcel
|
||||||
(
|
(
|
||||||
ReactingMultiphaseCloud<CoalParcel>& owner,
|
ReactingMultiphaseCloud<coalParcel>& owner,
|
||||||
const vector& position,
|
const vector& position,
|
||||||
const label cellI
|
const label cellI
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from components
|
//- Construct from components
|
||||||
CoalParcel
|
coalParcel
|
||||||
(
|
(
|
||||||
ReactingMultiphaseCloud<CoalParcel>& owner,
|
ReactingMultiphaseCloud<coalParcel>& owner,
|
||||||
const vector& position,
|
const vector& position,
|
||||||
const label cellI,
|
const label cellI,
|
||||||
const label typeId,
|
const label typeId,
|
||||||
@ -92,28 +83,30 @@ public:
|
|||||||
const scalarField& YGas0,
|
const scalarField& YGas0,
|
||||||
const scalarField& YLiquid0,
|
const scalarField& YLiquid0,
|
||||||
const scalarField& YSolid0,
|
const scalarField& YSolid0,
|
||||||
const typename
|
const ReactingMultiphaseParcel<coalParcel>::constantProperties&
|
||||||
ReactingMultiphaseParcel<CoalParcel>::
|
constProps
|
||||||
constantProperties& constProps
|
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from Istream
|
//- Construct from Istream
|
||||||
CoalParcel
|
coalParcel
|
||||||
(
|
(
|
||||||
const Cloud<CoalParcel>& c,
|
const Cloud<coalParcel>& c,
|
||||||
Istream& is,
|
Istream& is,
|
||||||
bool readFields = true
|
bool readFields = true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//- Construct as a copy
|
||||||
|
coalParcel(const coalParcel& p);
|
||||||
|
|
||||||
//- Construct and return a clone
|
//- Construct and return a clone
|
||||||
autoPtr<CoalParcel> clone() const
|
autoPtr<coalParcel> clone() const
|
||||||
{
|
{
|
||||||
return autoPtr<CoalParcel>(new CoalParcel(*this));
|
return autoPtr<coalParcel>(new coalParcel(*this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~CoalParcel();
|
virtual ~coalParcel();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -123,12 +116,6 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#ifdef NoRepository
|
|
||||||
#include "CoalParcel.C"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
@ -23,14 +23,14 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "createCoalParcelTypes.H"
|
#include "createReactingMultiphaseParcelTypes.H"
|
||||||
#include "CoalParcel.H"
|
#include "coalParcel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
createCoalParcelType(CoalParcel);
|
createReactingMultiphaseParcelTypes(coalParcel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -23,26 +23,26 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "CoalParcel.H"
|
#include "coalParcel.H"
|
||||||
|
|
||||||
// Kinematic
|
// Kinematic
|
||||||
#include "makeReactingParcelDispersionModels.H"
|
#include "makeParcelDispersionModels.H"
|
||||||
#include "makeReactingParcelDragModels.H"
|
#include "makeParcelDragModels.H"
|
||||||
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
|
#include "makeReactingMultiphaseParcelInjectionModels.H" // MP variant
|
||||||
#include "makeReactingParcelCollisionModels.H"
|
#include "makeParcelCollisionModels.H"
|
||||||
#include "makeReactingParcelPatchInteractionModels.H"
|
#include "makeParcelPatchInteractionModels.H"
|
||||||
#include "makeReactingParcelPostProcessingModels.H"
|
#include "makeParcelPostProcessingModels.H"
|
||||||
|
|
||||||
// Thermodynamic
|
// Thermodynamic
|
||||||
#include "makeReactingParcelHeatTransferModels.H"
|
#include "makeParcelHeatTransferModels.H"
|
||||||
|
|
||||||
// Reacting
|
// Reacting
|
||||||
#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant
|
#include "makeReactingMultiphaseParcelCompositionModels.H" // MP variant
|
||||||
#include "makeReactingParcelPhaseChangeModels.H"
|
#include "makeReactingParcelPhaseChangeModels.H"
|
||||||
|
#include "makeReactingParcelSurfaceFilmModels.H"
|
||||||
|
|
||||||
// Reacting multiphase
|
// Reacting multiphase
|
||||||
#include "makeReactingMultiphaseParcelDevolatilisationModels.H"
|
#include "makeReactingMultiphaseParcelDevolatilisationModels.H"
|
||||||
#include "makeReactingMultiphaseParcelSurfaceFilmModels.H"
|
|
||||||
|
|
||||||
// Coal specific
|
// Coal specific
|
||||||
#include "makeCoalParcelSurfaceReactionModels.H"
|
#include "makeCoalParcelSurfaceReactionModels.H"
|
||||||
@ -52,24 +52,24 @@ License
|
|||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
// Kinematic sub-models
|
// Kinematic sub-models
|
||||||
makeReactingDispersionModels(CoalParcel);
|
makeParcelDispersionModels(coalParcel);
|
||||||
makeReactingDragModels(CoalParcel);
|
makeParcelDragModels(coalParcel);
|
||||||
makeReactingMultiphaseInjectionModels(CoalParcel);
|
makeReactingMultiphaseParcelInjectionModels(coalParcel);
|
||||||
makeReactingCollisionModels(CoalParcel);
|
makeParcelCollisionModels(coalParcel);
|
||||||
makeReactingPatchInteractionModels(CoalParcel);
|
makeParcelPatchInteractionModels(coalParcel);
|
||||||
makeReactingPostProcessingModels(CoalParcel);
|
makeParcelPostProcessingModels(coalParcel);
|
||||||
|
|
||||||
// Thermo sub-models
|
// Thermo sub-models
|
||||||
makeReactingHeatTransferModels(CoalParcel);
|
makeParcelHeatTransferModels(coalParcel);
|
||||||
|
|
||||||
// Reacting sub-models
|
// Reacting sub-models
|
||||||
makeReactingMultiphaseCompositionModels(CoalParcel);
|
makeReactingMultiphaseParcelCompositionModels(coalParcel);
|
||||||
makeReactingPhaseChangeModels(CoalParcel);
|
makeReactingParcelPhaseChangeModels(coalParcel);
|
||||||
|
|
||||||
// Reacting multiphase sub-models
|
// Reacting multiphase sub-models
|
||||||
makeReactingMultiphaseDevolatilisationModels(CoalParcel);
|
makeReactingMultiphaseParcelDevolatilisationModels(coalParcel);
|
||||||
makeReactingMultiphaseSurfaceFilmModels(CoalParcel);
|
makeReactingParcelSurfaceFilmModels(coalParcel);
|
||||||
makeCoalSurfaceReactionModels(CoalParcel);
|
makeCoalParcelSurfaceReactionModels(coalParcel);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------*\
|
|
||||||
========= |
|
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
||||||
\\ / O peration |
|
|
||||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
|
||||||
\\/ M anipulation |
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
License
|
|
||||||
This file is part of OpenFOAM.
|
|
||||||
|
|
||||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef createCoalParcelTypes_H
|
|
||||||
#define createCoalParcelTypes_H
|
|
||||||
|
|
||||||
#include "thermoPhysicsTypes.H"
|
|
||||||
#include "CoalCloud.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#define createCoalParcelType(ParcelType) \
|
|
||||||
\
|
|
||||||
createCoalParcelThermoType \
|
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
constGasThermoPhysics \
|
|
||||||
); \
|
|
||||||
createCoalParcelThermoType \
|
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
gasThermoPhysics \
|
|
||||||
); \
|
|
||||||
createCoalParcelThermoType \
|
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
icoPoly8ThermoPhysics \
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
#define createCoalParcelThermoType(ParcelType, ThermoType) \
|
|
||||||
\
|
|
||||||
typedef ParcelType<ThermoType> ParcelType##ThermoType; \
|
|
||||||
\
|
|
||||||
defineTemplateTypeNameAndDebug(ParcelType##ThermoType, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug(Particle<ParcelType##ThermoType>, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug(Cloud<ParcelType##ThermoType>, 0); \
|
|
||||||
\
|
|
||||||
defineParcelTypeNameAndDebug(KinematicParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug \
|
|
||||||
( \
|
|
||||||
KinematicParcel<ParcelType##ThermoType>, \
|
|
||||||
0 \
|
|
||||||
); \
|
|
||||||
defineParcelTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug(ThermoParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
defineParcelTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug(ReactingParcel<ParcelType##ThermoType>, 0);\
|
|
||||||
defineParcelTypeNameAndDebug \
|
|
||||||
( \
|
|
||||||
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
|
|
||||||
0 \
|
|
||||||
); \
|
|
||||||
defineTemplateTypeNameAndDebug \
|
|
||||||
( \
|
|
||||||
ReactingMultiphaseParcel<ParcelType##ThermoType>, \
|
|
||||||
0 \
|
|
||||||
); \
|
|
||||||
defineParcelTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
defineTemplateTypeNameAndDebug(CoalParcel<ParcelType##ThermoType>, 0); \
|
|
||||||
\
|
|
||||||
defineParcelTypeNameAndDebug(KinematicCloud<ParcelType##ThermoType>, 0); \
|
|
||||||
defineParcelTypeNameAndDebug(ThermoCloud<ParcelType##ThermoType>, 0); \
|
|
||||||
defineParcelTypeNameAndDebug(ReactingCloud<ParcelType##ThermoType>, 0); \
|
|
||||||
defineParcelTypeNameAndDebug \
|
|
||||||
( \
|
|
||||||
ReactingMultiphaseCloud<ParcelType##ThermoType>, \
|
|
||||||
0 \
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -28,7 +28,6 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#include "thermoPhysicsTypes.H"
|
|
||||||
#include "ReactingMultiphaseCloud.H"
|
#include "ReactingMultiphaseCloud.H"
|
||||||
|
|
||||||
#include "NoSurfaceReaction.H"
|
#include "NoSurfaceReaction.H"
|
||||||
@ -38,59 +37,33 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#define makeCoalSurfaceReactionModels(ParcelType) \
|
#define makeCoalParcelSurfaceReactionModels(ParcelType) \
|
||||||
\
|
\
|
||||||
makeCoalSurfaceReactionModelThermoType \
|
makeSurfaceReactionModel(ReactingMultiphaseCloud<ParcelType>); \
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
constGasThermoPhysics \
|
|
||||||
); \
|
|
||||||
makeCoalSurfaceReactionModelThermoType \
|
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
gasThermoPhysics \
|
|
||||||
); \
|
|
||||||
makeCoalSurfaceReactionModelThermoType \
|
|
||||||
( \
|
|
||||||
ParcelType, \
|
|
||||||
icoPoly8ThermoPhysics \
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
#define makeCoalSurfaceReactionModelThermoType(ParcelType, ThermoType) \
|
|
||||||
\
|
\
|
||||||
makeSurfaceReactionModel \
|
makeSurfaceReactionModelType \
|
||||||
( \
|
|
||||||
ReactingMultiphaseCloud<ParcelType<ThermoType> > \
|
|
||||||
); \
|
|
||||||
\
|
|
||||||
makeSurfaceReactionModelThermoType \
|
|
||||||
( \
|
( \
|
||||||
NoSurfaceReaction, \
|
NoSurfaceReaction, \
|
||||||
ReactingMultiphaseCloud, \
|
ReactingMultiphaseCloud, \
|
||||||
ParcelType, \
|
ParcelType \
|
||||||
ThermoType \
|
|
||||||
); \
|
); \
|
||||||
makeSurfaceReactionModelThermoType \
|
makeSurfaceReactionModelType \
|
||||||
( \
|
( \
|
||||||
COxidationDiffusionLimitedRate, \
|
COxidationDiffusionLimitedRate, \
|
||||||
ReactingMultiphaseCloud, \
|
ReactingMultiphaseCloud, \
|
||||||
ParcelType, \
|
ParcelType \
|
||||||
ThermoType \
|
|
||||||
); \
|
); \
|
||||||
makeSurfaceReactionModelThermoType \
|
makeSurfaceReactionModelType \
|
||||||
( \
|
( \
|
||||||
COxidationKineticDiffusionLimitedRate, \
|
COxidationKineticDiffusionLimitedRate, \
|
||||||
ReactingMultiphaseCloud, \
|
ReactingMultiphaseCloud, \
|
||||||
ParcelType, \
|
ParcelType \
|
||||||
ThermoType \
|
|
||||||
); \
|
); \
|
||||||
makeSurfaceReactionModelThermoType \
|
makeSurfaceReactionModelType \
|
||||||
( \
|
( \
|
||||||
COxidationMurphyShaddix, \
|
COxidationMurphyShaddix, \
|
||||||
ReactingMultiphaseCloud, \
|
ReactingMultiphaseCloud, \
|
||||||
ParcelType, \
|
ParcelType \
|
||||||
ThermoType \
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -50,10 +50,10 @@ Foam::COxidationDiffusionLimitedRate<CloudType>::COxidationDiffusionLimitedRate
|
|||||||
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
||||||
|
|
||||||
// Set local copies of thermo properties
|
// Set local copies of thermo properties
|
||||||
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W();
|
WO2_ = owner.thermo().carrier().W(O2GlobalId_);
|
||||||
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W();
|
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||||
WC_ = WCO2 - WO2_;
|
WC_ = WCO2 - WO2_;
|
||||||
HcCO2_ = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].Hc();
|
HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
|
||||||
|
|
||||||
if (Sb_ < 0)
|
if (Sb_ < 0)
|
||||||
{
|
{
|
||||||
@ -120,7 +120,7 @@ Foam::scalar Foam::COxidationDiffusionLimitedRate<CloudType>::calculate
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Local mass fraction of O2 in the carrier phase
|
// Local mass fraction of O2 in the carrier phase
|
||||||
const scalar YO2 = this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI];
|
const scalar YO2 = this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
|
||||||
|
|
||||||
// Change in C mass [kg]
|
// Change in C mass [kg]
|
||||||
scalar dmC =
|
scalar dmC =
|
||||||
|
|||||||
@ -58,10 +58,10 @@ COxidationKineticDiffusionLimitedRate
|
|||||||
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
||||||
|
|
||||||
// Set local copies of thermo properties
|
// Set local copies of thermo properties
|
||||||
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W();
|
WO2_ = owner.thermo().carrier().W(O2GlobalId_);
|
||||||
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W();
|
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||||
WC_ = WCO2 - WO2_;
|
WC_ = WCO2 - WO2_;
|
||||||
HcCO2_ = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].Hc();
|
HcCO2_ = owner.thermo().carrier().Hc(CO2GlobalId_);
|
||||||
|
|
||||||
if (Sb_ < 0)
|
if (Sb_ < 0)
|
||||||
{
|
{
|
||||||
@ -128,7 +128,7 @@ Foam::scalar Foam::COxidationKineticDiffusionLimitedRate<CloudType>::calculate
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Local mass fraction of O2 in the carrier phase
|
// Local mass fraction of O2 in the carrier phase
|
||||||
const scalar YO2 = this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI];
|
const scalar YO2 = this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
|
||||||
|
|
||||||
// Diffusion rate coefficient
|
// Diffusion rate coefficient
|
||||||
const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75);
|
const scalar D0 = C1_/d*pow(0.5*(T + Tc), 0.75);
|
||||||
|
|||||||
@ -69,8 +69,8 @@ Foam::COxidationMurphyShaddix<CloudType>::COxidationMurphyShaddix
|
|||||||
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
CsLocalId_ = owner.composition().localId(idSolid, "C");
|
||||||
|
|
||||||
// Set local copies of thermo properties
|
// Set local copies of thermo properties
|
||||||
WO2_ = owner.mcCarrierThermo().speciesData()[O2GlobalId_].W();
|
WO2_ = owner.thermo().carrier().W(O2GlobalId_);
|
||||||
scalar WCO2 = owner.mcCarrierThermo().speciesData()[CO2GlobalId_].W();
|
const scalar WCO2 = owner.thermo().carrier().W(CO2GlobalId_);
|
||||||
WC_ = WCO2 - WO2_;
|
WC_ = WCO2 - WO2_;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
|
|||||||
|
|
||||||
// Cell carrier phase O2 species density [kg/m^3]
|
// Cell carrier phase O2 species density [kg/m^3]
|
||||||
const scalar rhoO2 =
|
const scalar rhoO2 =
|
||||||
rhoc*this->owner().mcCarrierThermo().Y(O2GlobalId_)[cellI];
|
rhoc*this->owner().thermo().carrier().Y(O2GlobalId_)[cellI];
|
||||||
|
|
||||||
if (rhoO2 < SMALL)
|
if (rhoO2 < SMALL)
|
||||||
{
|
{
|
||||||
@ -207,10 +207,8 @@ Foam::scalar Foam::COxidationMurphyShaddix<CloudType>::calculate
|
|||||||
const scalar HC =
|
const scalar HC =
|
||||||
this->owner().composition().solids().properties()[CsLocalId_].Hf()
|
this->owner().composition().solids().properties()[CsLocalId_].Hf()
|
||||||
+ this->owner().composition().solids().properties()[CsLocalId_].cp()*T;
|
+ this->owner().composition().solids().properties()[CsLocalId_].cp()*T;
|
||||||
const scalar HCO2 =
|
const scalar HCO2 = this->owner().thermo().carrier().H(CO2GlobalId_, T);
|
||||||
this->owner().mcCarrierThermo().speciesData()[CO2GlobalId_].H(T);
|
const scalar HO2 = this->owner().thermo().carrier().H(O2GlobalId_, T);
|
||||||
const scalar HO2 =
|
|
||||||
this->owner().mcCarrierThermo().speciesData()[O2GlobalId_].H(T);
|
|
||||||
|
|
||||||
// Heat of reaction
|
// Heat of reaction
|
||||||
return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2);
|
return dOmega*(WC_*HC + WO2_*HO2 - (WC_ + WO2_)*HCO2);
|
||||||
|
|||||||
@ -51,9 +51,6 @@ RADIATION=submodels/addOns/radiation
|
|||||||
$(RADIATION)/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C
|
$(RADIATION)/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C
|
||||||
$(RADIATION)/scatter/cloudScatter/cloudScatter.C
|
$(RADIATION)/scatter/cloudScatter/cloudScatter.C
|
||||||
|
|
||||||
SURFACEFILM=submodels/addOns/surfaceFilmModel
|
|
||||||
$(SURFACEFILM)/injection/cloudInjection/cloudInjection.C
|
|
||||||
|
|
||||||
submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
|
submodels/Kinematic/PatchInteractionModel/LocalInteraction/patchInteractionData.C
|
||||||
|
|
||||||
KINEMATICINJECTION=submodels/Kinematic/InjectionModel
|
KINEMATICINJECTION=submodels/Kinematic/InjectionModel
|
||||||
|
|||||||
Reference in New Issue
Block a user