mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
renamed mass transfer model to devolatilisation model
This commit is contained in:
@ -36,7 +36,7 @@ parcels/derived/basicReactingParcel/makeBasicReactingParcelDragModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelDispersionModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelInjectionModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelHeatTransferModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelMassTransferModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelDevolatilisationModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelSurfaceReactionModels.C
|
||||
parcels/derived/basicReactingParcel/makeBasicReactingParcelWallInteractionModels.C
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ License
|
||||
|
||||
#include "ReactingCloud.H"
|
||||
#include "CompositionModel.H"
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
#include "SurfaceReactionModel.H"
|
||||
|
||||
// * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * //
|
||||
@ -91,9 +91,9 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud
|
||||
*this
|
||||
)
|
||||
),
|
||||
massTransferModel_
|
||||
devolatilisationModel_
|
||||
(
|
||||
MassTransferModel<ReactingCloud<ParcelType> >::New
|
||||
DevolatilisationModel<ReactingCloud<ParcelType> >::New
|
||||
(
|
||||
this->particleProperties(),
|
||||
*this
|
||||
|
||||
@ -58,7 +58,7 @@ template<class CloudType>
|
||||
class CompositionModel;
|
||||
|
||||
template<class CloudType>
|
||||
class MassTransferModel;
|
||||
class DevolatilisationModel;
|
||||
|
||||
template<class CloudType>
|
||||
class SurfaceReactionModel;
|
||||
@ -91,9 +91,9 @@ class ReactingCloud
|
||||
autoPtr<CompositionModel<ReactingCloud<ParcelType> > >
|
||||
compositionModel_;
|
||||
|
||||
//- Mass transfer model
|
||||
autoPtr<MassTransferModel<ReactingCloud<ParcelType> > >
|
||||
massTransferModel_;
|
||||
//- Devolatilisation model
|
||||
autoPtr<DevolatilisationModel<ReactingCloud<ParcelType> > >
|
||||
devolatilisationModel_;
|
||||
|
||||
//- Surface reaction model
|
||||
autoPtr<SurfaceReactionModel<ReactingCloud<ParcelType> > >
|
||||
@ -101,7 +101,7 @@ class ReactingCloud
|
||||
|
||||
// Sources
|
||||
|
||||
//- Mass transfer fields - one per carrier phase specie
|
||||
//- Devolatilisation fields - one per carrier phase specie
|
||||
PtrList<DimensionedField<scalar, volMesh> > rhoTrans_;
|
||||
|
||||
|
||||
@ -159,9 +159,9 @@ public:
|
||||
inline const CompositionModel<ReactingCloud<ParcelType> >&
|
||||
composition() const;
|
||||
|
||||
//- Return reference to mass transfer model
|
||||
inline const MassTransferModel<ReactingCloud<ParcelType> >&
|
||||
massTransfer() const;
|
||||
//- Return reference to devolatilisation model
|
||||
inline const DevolatilisationModel<ReactingCloud<ParcelType> >&
|
||||
devolatilisation() const;
|
||||
|
||||
//- Return reference to surface reaction model
|
||||
inline const SurfaceReactionModel<ReactingCloud<ParcelType> >&
|
||||
|
||||
@ -59,10 +59,10 @@ Foam::ReactingCloud<ParcelType>::composition() const
|
||||
|
||||
|
||||
template<class ParcelType>
|
||||
inline const Foam::MassTransferModel<Foam::ReactingCloud<ParcelType> >&
|
||||
Foam::ReactingCloud<ParcelType>::massTransfer() const
|
||||
inline const Foam::DevolatilisationModel<Foam::ReactingCloud<ParcelType> >&
|
||||
Foam::ReactingCloud<ParcelType>::devolatilisation() const
|
||||
{
|
||||
return massTransferModel_;
|
||||
return devolatilisationModel_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -94,10 +94,10 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled
|
||||
scalar T1 = calcHeatTransfer(td, dt, celli, htc, dhTrans);
|
||||
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Calculate mass transfer
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
calcMassTransfer(td, dt, T0, T1, dMassMT);
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Calculate Devolatilisation
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
calcDevolatilisation(td, dt, T0, T1, dMassMT);
|
||||
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -253,10 +253,10 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
|
||||
scalar T1 = calcHeatTransfer(td, dt, celli, htc, dhTrans);
|
||||
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Calculate mass transfer
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
calcMassTransfer(td, dt, T0, T1, dMassMT);
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Calculate Devolatilisation
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
calcDevolatilisation(td, dt, T0, T1, dMassMT);
|
||||
|
||||
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -311,7 +311,7 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
|
||||
|
||||
template<class ParcelType>
|
||||
template<class TrackData>
|
||||
void Foam::ReactingParcel<ParcelType>::calcMassTransfer
|
||||
void Foam::ReactingParcel<ParcelType>::calcDevolatilisation
|
||||
(
|
||||
TrackData& td,
|
||||
const scalar dt,
|
||||
@ -325,16 +325,16 @@ void Foam::ReactingParcel<ParcelType>::calcMassTransfer
|
||||
notImplemented
|
||||
(
|
||||
"void Foam::ReactingParcel<ParcelType>::"
|
||||
"calcMassTransfer(...): no treatment currently "
|
||||
"calcDevolatilisation(...): no treatment currently "
|
||||
"available for particles containing liquid species"
|
||||
)
|
||||
}
|
||||
|
||||
// Check that model is active, and that the parcel temperature is
|
||||
// within necessary limits for mass transfer to occur
|
||||
// within necessary limits for devolatilisation to occur
|
||||
if
|
||||
(
|
||||
!td.cloud().massTransfer().active()
|
||||
!td.cloud().devolatilisation().active()
|
||||
|| this->T_<td.constProps().Tvap()
|
||||
|| this->T_<td.constProps().Tbp()
|
||||
)
|
||||
@ -344,7 +344,7 @@ void Foam::ReactingParcel<ParcelType>::calcMassTransfer
|
||||
|
||||
// Determine mass to add to carrier phase
|
||||
const scalar mass = this->mass();
|
||||
const scalar dMassTot = td.cloud().massTransfer().calculate
|
||||
const scalar dMassTot = td.cloud().devolatilisation().calculate
|
||||
(
|
||||
dt,
|
||||
mass0_,
|
||||
@ -365,7 +365,7 @@ void Foam::ReactingParcel<ParcelType>::calcMassTransfer
|
||||
{
|
||||
label id = td.cloud().composition().gasGlobalIds()[i];
|
||||
|
||||
// Mass transfer
|
||||
// Volatiles mass transfer
|
||||
scalar volatileMass = YGas_[i]*dMassTot;
|
||||
dMassMT[id] += volatileMass;
|
||||
}
|
||||
|
||||
@ -202,9 +202,9 @@ protected:
|
||||
|
||||
// Protected member functions
|
||||
|
||||
//- Calculate mass transfer
|
||||
//- Calculate Devolatilisation
|
||||
template<class TrackData>
|
||||
void calcMassTransfer
|
||||
void calcDevolatilisation
|
||||
(
|
||||
TrackData& td,
|
||||
const scalar dt,
|
||||
|
||||
@ -26,28 +26,28 @@ License
|
||||
|
||||
#include "basicReactingParcel.H"
|
||||
#include "ThermoCloud.H"
|
||||
#include "NoMassTransfer.H"
|
||||
#include "NoDevolatilisation.H"
|
||||
#include "ConstantRateDevolatilisation.H"
|
||||
#include "SingleKineticRateDevolatilisation.H"
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
makeMassTransferModel(ReactingCloud<basicReactingParcel>);
|
||||
makeDevolatilisationModel(ReactingCloud<basicReactingParcel>);
|
||||
|
||||
// Add instances of mass transfer model to the table
|
||||
makeMassTransferModelType
|
||||
makeDevolatilisationModelType
|
||||
(
|
||||
NoMassTransfer,
|
||||
NoDevolatilisation,
|
||||
ReactingCloud,
|
||||
basicReactingParcel
|
||||
);
|
||||
makeMassTransferModelType
|
||||
makeDevolatilisationModelType
|
||||
(
|
||||
ConstantRateDevolatilisation,
|
||||
ReactingCloud,
|
||||
basicReactingParcel
|
||||
);
|
||||
makeMassTransferModelType
|
||||
makeDevolatilisationModelType
|
||||
(
|
||||
SingleKineticRateDevolatilisation,
|
||||
ReactingCloud,
|
||||
@ -35,7 +35,7 @@ Foam::ConstantRateDevolatilisation<CloudType>::ConstantRateDevolatilisation
|
||||
CloudType& owner
|
||||
)
|
||||
:
|
||||
MassTransferModel<CloudType>(dict, owner, typeName),
|
||||
DevolatilisationModel<CloudType>(dict, owner, typeName),
|
||||
A0_(dimensionedScalar(this->coeffDict().lookup("A0")).value()),
|
||||
volatileResidualCoeff_
|
||||
(
|
||||
@ -80,7 +80,7 @@ Foam::scalar Foam::ConstantRateDevolatilisation<CloudType>::calculate
|
||||
canCombust = true;
|
||||
}
|
||||
|
||||
// Volatile mass transfer from particle to carrier gas phase
|
||||
// Volatile devolatilisation from particle to carrier gas phase
|
||||
const scalar dMass = min(dt*A0_*massVolatile0, massVolatile);
|
||||
|
||||
return dMass;
|
||||
@ -34,7 +34,7 @@ Description
|
||||
#ifndef ConstantRateDevolatilisation_H
|
||||
#define ConstantRateDevolatilisation_H
|
||||
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -47,7 +47,7 @@ namespace Foam
|
||||
template<class CloudType>
|
||||
class ConstantRateDevolatilisation
|
||||
:
|
||||
public MassTransferModel<CloudType>
|
||||
public DevolatilisationModel<CloudType>
|
||||
{
|
||||
|
||||
// Private data
|
||||
@ -86,7 +86,7 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Flag to indicate whether model activates mass transfer model
|
||||
//- Flag to indicate whether model activates devolatilisation model
|
||||
bool active() const;
|
||||
|
||||
//- Update model
|
||||
@ -24,12 +24,12 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::MassTransferModel<CloudType>::MassTransferModel
|
||||
Foam::DevolatilisationModel<CloudType>::DevolatilisationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& owner,
|
||||
@ -44,27 +44,27 @@ Foam::MassTransferModel<CloudType>::MassTransferModel
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::MassTransferModel<CloudType>::~MassTransferModel()
|
||||
Foam::DevolatilisationModel<CloudType>::~DevolatilisationModel()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
template<class CloudType>
|
||||
const CloudType& Foam::MassTransferModel<CloudType>::owner() const
|
||||
const CloudType& Foam::DevolatilisationModel<CloudType>::owner() const
|
||||
{
|
||||
return owner_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
const Foam::dictionary& Foam::MassTransferModel<CloudType>::dict() const
|
||||
const Foam::dictionary& Foam::DevolatilisationModel<CloudType>::dict() const
|
||||
{
|
||||
return dict_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
const Foam::dictionary& Foam::MassTransferModel<CloudType>::coeffDict() const
|
||||
const Foam::dictionary& Foam::DevolatilisationModel<CloudType>::coeffDict() const
|
||||
{
|
||||
return coeffDict_;
|
||||
}
|
||||
@ -72,7 +72,7 @@ const Foam::dictionary& Foam::MassTransferModel<CloudType>::coeffDict() const
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "NewMassTransferModel.C"
|
||||
#include "NewDevolatilisationModel.C"
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -23,20 +23,19 @@ License
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Class
|
||||
Foam::MassTransferModel
|
||||
|
||||
Foam::DevolatilisationModel
|
||||
|
||||
Description
|
||||
Templated mass transfer model class
|
||||
Templated devolatilisation model class
|
||||
|
||||
SourceFiles
|
||||
MassTransferModel.C
|
||||
NewMassTransferModel.C
|
||||
DevolatilisationModel.C
|
||||
NewDevolatilisationModel.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef MassTransferModel_H
|
||||
#define MassTransferModel_H
|
||||
#ifndef DevolatilisationModel_H
|
||||
#define DevolatilisationModel_H
|
||||
|
||||
#include "IOdictionary.H"
|
||||
#include "autoPtr.H"
|
||||
@ -48,11 +47,11 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class MassTransferModel Declaration
|
||||
Class DevolatilisationModel Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class CloudType>
|
||||
class MassTransferModel
|
||||
class DevolatilisationModel
|
||||
{
|
||||
|
||||
protected:
|
||||
@ -72,13 +71,13 @@ protected:
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("MassTransferModel");
|
||||
TypeName("DevolatilisationModel");
|
||||
|
||||
//- Declare runtime constructor selection table
|
||||
declareRunTimeSelectionTable
|
||||
(
|
||||
autoPtr,
|
||||
MassTransferModel,
|
||||
DevolatilisationModel,
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& dict,
|
||||
@ -91,7 +90,7 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary
|
||||
MassTransferModel
|
||||
DevolatilisationModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& owner,
|
||||
@ -101,12 +100,12 @@ public:
|
||||
|
||||
// Destructor
|
||||
|
||||
virtual ~MassTransferModel();
|
||||
virtual ~DevolatilisationModel();
|
||||
|
||||
|
||||
// Selector
|
||||
|
||||
static autoPtr<MassTransferModel<CloudType> > New
|
||||
static autoPtr<DevolatilisationModel<CloudType> > New
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& owner
|
||||
@ -127,7 +126,7 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Flag to indicate whether model activates mass transfer model
|
||||
//- Flag to indicate whether model activates devolatilisation model
|
||||
virtual bool active() const = 0;
|
||||
|
||||
//- Update model
|
||||
@ -150,22 +149,22 @@ public:
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#define makeMassTransferModel(CloudType) \
|
||||
#define makeDevolatilisationModel(CloudType) \
|
||||
\
|
||||
defineNamedTemplateTypeNameAndDebug(MassTransferModel<CloudType>, 0); \
|
||||
defineNamedTemplateTypeNameAndDebug(DevolatilisationModel<CloudType>, 0); \
|
||||
\
|
||||
defineTemplateRunTimeSelectionTable \
|
||||
( \
|
||||
MassTransferModel<CloudType>, \
|
||||
DevolatilisationModel<CloudType>, \
|
||||
dictionary \
|
||||
);
|
||||
|
||||
|
||||
#define makeMassTransferModelType(SS, CloudType, ParcelType) \
|
||||
#define makeDevolatilisationModelType(SS, CloudType, ParcelType) \
|
||||
\
|
||||
defineNamedTemplateTypeNameAndDebug(SS<CloudType<ParcelType> >, 0); \
|
||||
\
|
||||
MassTransferModel<CloudType<ParcelType> >:: \
|
||||
DevolatilisationModel<CloudType<ParcelType> >:: \
|
||||
adddictionaryConstructorToTable<SS<CloudType<ParcelType> > > \
|
||||
add##SS##CloudType##ParcelType##ConstructorToTable_;
|
||||
|
||||
@ -173,7 +172,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
# include "MassTransferModel.C"
|
||||
# include "DevolatilisationModel.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -24,43 +24,44 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
Foam::autoPtr<Foam::MassTransferModel<CloudType> >
|
||||
Foam::MassTransferModel<CloudType>::New
|
||||
Foam::autoPtr<Foam::DevolatilisationModel<CloudType> >
|
||||
Foam::DevolatilisationModel<CloudType>::New
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& owner
|
||||
)
|
||||
{
|
||||
word MassTransferModelType
|
||||
word DevolatilisationModelType
|
||||
(
|
||||
dict.lookup("MassTransferModel")
|
||||
dict.lookup("DevolatilisationModel")
|
||||
);
|
||||
|
||||
Info<< "Selecting MassTransferModel " << MassTransferModelType << endl;
|
||||
Info<< "Selecting DevolatilisationModel " << DevolatilisationModelType
|
||||
<< endl;
|
||||
|
||||
typename dictionaryConstructorTable::iterator cstrIter =
|
||||
dictionaryConstructorTablePtr_->find(MassTransferModelType);
|
||||
dictionaryConstructorTablePtr_->find(DevolatilisationModelType);
|
||||
|
||||
if (cstrIter == dictionaryConstructorTablePtr_->end())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"MassTransferModel<CloudType>::New"
|
||||
"DevolatilisationModel<CloudType>::New"
|
||||
"(const dictionary&, CloudType&)"
|
||||
)
|
||||
<< "Unknown MassTransferModelType type "
|
||||
<< MassTransferModelType
|
||||
<< "Unknown DevolatilisationModelType type "
|
||||
<< DevolatilisationModelType
|
||||
<< ", constructor not in hash table" << nl << nl
|
||||
<< " Valid MassTransferModel types are :" << nl
|
||||
<< " Valid DevolatilisationModel types are :" << nl
|
||||
<< dictionaryConstructorTablePtr_->toc() << exit(FatalError);
|
||||
}
|
||||
|
||||
return autoPtr<MassTransferModel<CloudType> >(cstrIter()(dict, owner));
|
||||
return autoPtr<DevolatilisationModel<CloudType> >(cstrIter()(dict, owner));
|
||||
}
|
||||
|
||||
|
||||
@ -24,39 +24,39 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "NoMassTransfer.H"
|
||||
#include "NoDevolatilisation.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template <class CloudType>
|
||||
Foam::NoMassTransfer<CloudType>::NoMassTransfer
|
||||
Foam::NoDevolatilisation<CloudType>::NoDevolatilisation
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& cloud
|
||||
)
|
||||
:
|
||||
MassTransferModel<CloudType>(dict, cloud, typeName)
|
||||
DevolatilisationModel<CloudType>(dict, cloud, typeName)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template <class CloudType>
|
||||
Foam::NoMassTransfer<CloudType>::~NoMassTransfer()
|
||||
Foam::NoDevolatilisation<CloudType>::~NoDevolatilisation()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class CloudType>
|
||||
bool Foam::NoMassTransfer<CloudType>::active() const
|
||||
bool Foam::NoDevolatilisation<CloudType>::active() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
Foam::scalar Foam::NoMassTransfer<CloudType>::calculate
|
||||
Foam::scalar Foam::NoDevolatilisation<CloudType>::calculate
|
||||
(
|
||||
const scalar,
|
||||
const scalar,
|
||||
@ -23,42 +23,42 @@ License
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Class
|
||||
Foam::NoMassTransfer
|
||||
Foam::NoDevolatilisation
|
||||
|
||||
Description
|
||||
Dummy mass transfer model for 'no mass transfer'
|
||||
Dummy devolatilisation model for 'no devolatilisation'
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef NoMassTransfer_H
|
||||
#define NoMassTransfer_H
|
||||
#ifndef NoDevolatilisation_H
|
||||
#define NoDevolatilisation_H
|
||||
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class NoMassTransfer Declaration
|
||||
Class NoDevolatilisation Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class CloudType>
|
||||
class NoMassTransfer
|
||||
class NoDevolatilisation
|
||||
:
|
||||
public MassTransferModel<CloudType>
|
||||
public DevolatilisationModel<CloudType>
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("NoMassTransfer");
|
||||
TypeName("NoDevolatilisation");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary
|
||||
NoMassTransfer
|
||||
NoDevolatilisation
|
||||
(
|
||||
const dictionary& dict,
|
||||
CloudType& cloud
|
||||
@ -67,12 +67,12 @@ public:
|
||||
|
||||
// Destructor
|
||||
|
||||
~NoMassTransfer();
|
||||
~NoDevolatilisation();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Flag to indicate whether model activates mass transfer model
|
||||
//- Flag to indicate whether model activates devolatilisation model
|
||||
bool active() const;
|
||||
|
||||
//- Update model
|
||||
@ -96,7 +96,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
# include "NoMassTransfer.C"
|
||||
# include "NoDevolatilisation.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -35,7 +35,7 @@ Foam::SingleKineticRateDevolatilisation<CloudType>::SingleKineticRateDevolatilis
|
||||
CloudType& owner
|
||||
)
|
||||
:
|
||||
MassTransferModel<CloudType>(dict, owner, typeName),
|
||||
DevolatilisationModel<CloudType>(dict, owner, typeName),
|
||||
A1_(dimensionedScalar(this->coeffDict().lookup("A1")).value()),
|
||||
E_(dimensionedScalar(this->coeffDict().lookup("E")).value()),
|
||||
volatileResidualCoeff_
|
||||
@ -85,7 +85,7 @@ Foam::scalar Foam::SingleKineticRateDevolatilisation<CloudType>::calculate
|
||||
// Kinetic rate
|
||||
const scalar kappa = A1_*exp(-E_/(specie::RR*T));
|
||||
|
||||
// Volatile mass transfer from particle to carrier gas phase
|
||||
// Volatile devolatilisation from particle to carrier gas phase
|
||||
const scalar dMass = min(dt*kappa*massVolatile, massVolatile);
|
||||
|
||||
return dMass;
|
||||
@ -33,7 +33,7 @@ Description
|
||||
#ifndef SingleKineticRateDevolatilisation_H
|
||||
#define SingleKineticRateDevolatilisation_H
|
||||
|
||||
#include "MassTransferModel.H"
|
||||
#include "DevolatilisationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -46,7 +46,7 @@ namespace Foam
|
||||
template<class CloudType>
|
||||
class SingleKineticRateDevolatilisation
|
||||
:
|
||||
public MassTransferModel<CloudType>
|
||||
public DevolatilisationModel<CloudType>
|
||||
{
|
||||
|
||||
// Private data
|
||||
@ -88,7 +88,7 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Flag to indicate whether model activates mass transfer model
|
||||
//- Flag to indicate whether model activates devolatilisation model
|
||||
bool active() const;
|
||||
|
||||
//- Update model
|
||||
Reference in New Issue
Block a user