renamed mass transfer model to devolatilisation model

This commit is contained in:
andy
2009-01-13 15:36:50 +00:00
parent e16553c68b
commit a5df0008b6
16 changed files with 106 additions and 106 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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"
// ************************************************************************* //

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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