restructing - surface reactions to multiphase level + clean-up

This commit is contained in:
andy
2009-03-02 19:15:45 +00:00
parent 5b7188afc9
commit 6532fda297
43 changed files with 234 additions and 147 deletions

View File

@ -22,44 +22,43 @@ clouds/derived/basicReactingMultiphaseCloud/basicReactingMultiphaseCloud.C
/* kinematic parcel sub-models */
KINEMATICPARCEL=$(DERIVEDPARCELS)/basicKinematicParcel
$(KINEMATICPARCEL)/defineBasicKinematicParcel.C
$(KINEMATICPARCEL)/makeBasicKinematicParcelDispersionModels.C
$(KINEMATICPARCEL)/makeBasicKinematicParcelDragModels.C
$(KINEMATICPARCEL)/makeBasicKinematicParcelInjectionModels.C
$(KINEMATICPARCEL)/makeBasicKinematicParcelWallInteractionModels.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDispersionModels.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelDragModels.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelInjectionModels.C
$(KINEMATICPARCEL)/submodels/makeBasicKinematicParcelWallInteractionModels.C
/* thermo parcel sub-models */
THERMOPARCEL=$(DERIVEDPARCELS)/basicThermoParcel
$(THERMOPARCEL)/defineBasicThermoParcel.C
$(THERMOPARCEL)/makeBasicThermoParcelDispersionModels.C
$(THERMOPARCEL)/makeBasicThermoParcelDragModels.C
$(THERMOPARCEL)/makeBasicThermoParcelHeatTransferModels.C
$(THERMOPARCEL)/makeBasicThermoParcelInjectionModels.C
$(THERMOPARCEL)/makeBasicThermoParcelWallInteractionModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelDispersionModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelDragModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelHeatTransferModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelInjectionModels.C
$(THERMOPARCEL)/submodels/makeBasicThermoParcelWallInteractionModels.C
/* reacting parcel sub-models */
REACTINGPARCEL=$(DERIVEDPARCELS)/basicReactingParcel
$(REACTINGPARCEL)/defineBasicReactingParcel.C
$(REACTINGPARCEL)/makeBasicReactingParcelCompositionModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelDispersionModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelDragModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelHeatTransferModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelInjectionModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelPhaseChangeModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelSurfaceReactionModels.C
$(REACTINGPARCEL)/makeBasicReactingParcelWallInteractionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelCompositionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDispersionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelDragModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelHeatTransferModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelInjectionModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelPhaseChangeModels.C
$(REACTINGPARCEL)/submodels/makeBasicReactingParcelWallInteractionModels.C
/* reacting multiphase parcel sub-models */
REACTINGMPPARCEL=$(DERIVEDPARCELS)/basicReactingMultiphaseParcel
$(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelCompositionModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDevolatilisationModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDispersionModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelDragModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelHeatTransferModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelInjectionModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelPhaseChangeModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C
$(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelWallInteractionModels.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/makeBasicReactingMultiphaseParcelPhaseChangeModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelSurfaceReactionModels.C
$(REACTINGMPPARCEL)/submodels/makeBasicReactingMultiphaseParcelWallInteractionModels.C
/* bolt-on models */
submodels/addOns/radiation/absorptionEmission/cloudAbsorptionEmission/cloudAbsorptionEmission.C

View File

@ -253,8 +253,7 @@ void Foam::KinematicCloud<ParcelType>::info() const
<< " Current number of parcels = "
<< returnReduce(this->size(), sumOp<label>()) << nl
<< " Current mass in system = "
<< returnReduce(massInSystem(), sumOp<scalar>()) << nl
<< endl;
<< returnReduce(massInSystem(), sumOp<scalar>()) << nl;
}

View File

@ -28,7 +28,6 @@ License
#include "CompositionModel.H"
#include "PhaseChangeModel.H"
#include "SurfaceReactionModel.H"
// * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * //
@ -97,15 +96,8 @@ Foam::ReactingCloud<ParcelType>::ReactingCloud
*this
)
),
surfaceReactionModel_
(
SurfaceReactionModel<ReactingCloud<ParcelType> >::New
(
this->particleProperties(),
*this
)
),
rhoTrans_(thermo.composition().Y().size())
rhoTrans_(thermo.composition().Y().size()),
dMassPhaseChange_(0.0)
{
// Set storage for mass source fields and initialise to zero
forAll(rhoTrans_, i)
@ -224,4 +216,21 @@ void Foam::ReactingCloud<ParcelType>::evolve()
}
template<class ParcelType>
void Foam::ReactingCloud<ParcelType>::info() const
{
ThermoCloud<ParcelType>::info();
Info<< " Mass transfer phase change = "
<< returnReduce(dMassPhaseChange_, sumOp<scalar>()) << nl;
}
template<class ParcelType>
void Foam::ReactingCloud<ParcelType>::addToMassPhaseChange(const scalar dMass)
{
dMassPhaseChange_ += dMass;
}
// ************************************************************************* //

View File

@ -30,7 +30,6 @@ Description
- Adds to thermodynamic cloud
- Variable composition (single phase)
- Phase change
- Surface reactions
SourceFiles
ReactingCloudI.H
@ -62,9 +61,6 @@ class CompositionModel;
template<class CloudType>
class PhaseChangeModel;
template<class CloudType>
class SurfaceReactionModel;
/*---------------------------------------------------------------------------*\
Class ReactingCloud Declaration
\*---------------------------------------------------------------------------*/
@ -97,13 +93,6 @@ class ReactingCloud
autoPtr<PhaseChangeModel<ReactingCloud<ParcelType> > >
phaseChangeModel_;
//- Reacting surface reaction model
autoPtr
<
SurfaceReactionModel<ReactingCloud<ParcelType> >
>
surfaceReactionModel_;
// Sources
@ -111,6 +100,12 @@ class ReactingCloud
PtrList<DimensionedField<scalar, volMesh> > rhoTrans_;
// Check
//- Total mass transferred to continuous phase via phase change
scalar dMassPhaseChange_;
// Private Member Functions
//- Disallow default bitwise copy construct
@ -168,10 +163,6 @@ public:
inline const PhaseChangeModel<ReactingCloud<ParcelType> >&
phaseChange() const;
//- Return reference to reacting surface reaction model
inline const SurfaceReactionModel<ReactingCloud<ParcelType> >&
surfaceReaction() const;
// Sources
@ -196,6 +187,15 @@ public:
Srho1() const;
// Check
//- Print cloud information
void info() const;
//- Add to cumulative phase change mass transfer
void addToMassPhaseChange(const scalar dMass);
// Cloud evolution functions
//- Add new parcel

View File

@ -66,14 +66,6 @@ Foam::ReactingCloud<ParcelType>::phaseChange() const
}
template<class ParcelType>
inline const Foam::SurfaceReactionModel<Foam::ReactingCloud<ParcelType> >&
Foam::ReactingCloud<ParcelType>::surfaceReaction() const
{
return surfaceReactionModel_;
}
template<class ParcelType>
inline Foam::DimensionedField<Foam::scalar, Foam::volMesh>&
Foam::ReactingCloud<ParcelType>::rhoTrans(const label i)

View File

@ -26,7 +26,6 @@ License
#include "ReactingMultiphaseCloud.H"
#include "CompositionModel.H"
#include "DevolatilisationModel.H"
#include "SurfaceReactionModel.H"
@ -93,7 +92,16 @@ Foam::ReactingMultiphaseCloud<ParcelType>::ReactingMultiphaseCloud
this->particleProperties(),
*this
)
)
),
surfaceReactionModel_
(
SurfaceReactionModel<ReactingMultiphaseCloud<ParcelType> >::New
(
this->particleProperties(),
*this
)
),
dMassDevolatilisation_(0.0)
{}
@ -185,4 +193,35 @@ void Foam::ReactingMultiphaseCloud<ParcelType>::evolve()
}
template<class ParcelType>
void Foam::ReactingMultiphaseCloud<ParcelType>::info() const
{
ReactingCloud<ParcelType>::info();
Info<< " Mass transfer devolatilisation = "
<< returnReduce(dMassDevolatilisation_, sumOp<scalar>()) << nl;
Info<< " Mass transfer surface reaction = "
<< returnReduce(dMassSurfaceReaction_, sumOp<scalar>()) << nl;
}
template<class ParcelType>
void Foam::ReactingMultiphaseCloud<ParcelType>::addToMassDevolatilisation
(
const scalar dMass
)
{
dMassDevolatilisation_ += dMass;
}
template<class ParcelType>
void Foam::ReactingMultiphaseCloud<ParcelType>::addToMassSurfaceReaction
(
const scalar dMass
)
{
dMassSurfaceReaction_ += dMass;
}
// ************************************************************************* //

View File

@ -28,8 +28,9 @@ Class
Description
Templated base class for multiphase reacting cloud
- Adds to reacting cloud
- Devolatilisatsion
- multiphase composition
- devolatilisatsion
- surface reactions
SourceFiles
ReactingMultiphaseCloudI.H
@ -53,6 +54,9 @@ namespace Foam
template<class CloudType>
class DevolatilisationModel;
template<class CloudType>
class SurfaceReactionModel;
/*---------------------------------------------------------------------------*\
Class ReactingMultiphaseCloud Declaration
\*---------------------------------------------------------------------------*/
@ -78,6 +82,23 @@ class ReactingMultiphaseCloud
>
devolatilisationModel_;
//- Surface reaction model
autoPtr
<
SurfaceReactionModel<ReactingMultiphaseCloud<ParcelType> >
>
surfaceReactionModel_;
// Check
//- Total mass transferred to continuous phase via devolatilisation
scalar dMassDevolatilisation_;
//- Total mass transferred to continuous phase via surface
// reactions
scalar dMassSurfaceReaction_;
// Private Member Functions
@ -125,6 +146,25 @@ public:
>&
devolatilisation() const;
//- Return reference to reacting surface reaction model
inline const SurfaceReactionModel
<
ReactingMultiphaseCloud<ParcelType>
>&
surfaceReaction() const;
// Check
//- Print cloud information
void info() const;
//- Add to cumulative volatilisation mass transfer
void addToMassDevolatilisation(const scalar dMass);
//- Add to cumulative surface reaction transfer
void addToMassSurfaceReaction(const scalar dMass);
// Cloud evolution functions

View File

@ -37,4 +37,15 @@ Foam::ReactingMultiphaseCloud<ParcelType>::devolatilisation() const
}
template<class ParcelType>
inline const Foam::SurfaceReactionModel
<
Foam::ReactingMultiphaseCloud<ParcelType>
>&
Foam::ReactingMultiphaseCloud<ParcelType>::surfaceReaction() const
{
return surfaceReactionModel_;
}
// ************************************************************************* //

View File

@ -215,4 +215,11 @@ void Foam::ThermoCloud<ParcelType>::evolve()
}
template<class ParcelType>
void Foam::ThermoCloud<ParcelType>::info() const
{
KinematicCloud<ParcelType>::info();
}
// ************************************************************************* //

View File

@ -197,6 +197,12 @@ public:
inline tmp<volScalarField> sigmap() const;
// Check
//- Print cloud information
void info() const;
// Cloud evolution functions
//- Add new parcel

View File

@ -402,6 +402,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
scalar volatileMass = YGas_[i]*dMassTot;
dMassMT[id] += volatileMass;
}
td.cloud().addToMassDevolatilisation(dMassTot);
}
@ -446,6 +448,8 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcSurfaceReactions
dMassSR,
dhRet
);
// TODO: td.cloud().addToMassDevolatilisation(sum(dMassSR));
}

View File

@ -61,6 +61,7 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled
const scalar np0 = this->nParticle_;
const scalar T0 = this->T_;
// ~~~~~~~~~~~~~~~~~~~~~~~~~
// Initialise transfer terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~
@ -75,11 +76,6 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled
// - components exist in particle already
scalarList dMassMT(td.cloud().gases().size(), 0.0);
// Mass transfer due to surface reactions from particle to carrier phase
// - components do not necessarily exist in particle already
scalarList dMassSR(td.cloud().gases().size(), 0.0);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Calculate velocity - update U
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -100,23 +96,8 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled
scalarField X = td.cliud().composition().X(0, YMixture_);
calcPhaseChange(td, dt, T, X, dMassMT);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Calculate surface reactions
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Initialise enthalpy retention to zero
scalar dhRet = 0.0;
calcSurfaceReactions(td, dt, celli, T0, T1, dMassMT, dMassSR, dhRet);
// New total mass
const scalar mass1 = mass0 - sum(dMassMT) - sum(dMassSR);
// Add retained enthalpy from surface reaction to particle and remove
// from gas
T1 += dhRet/(0.5*(mass0 + mass1)*cp0);
dhTrans -= dhRet;
const scalar mass1 = mass0 - sum(dMassMT);
// ~~~~~~~~~~~~~~~~~~~~~~~
@ -126,7 +107,7 @@ void Foam::ReactingParcel<ParcelType>::calcCoupled
// Transfer mass lost from particle to carrier mass source
forAll(dMassMT, i)
{
td.cloud().rhoTrans(i)[celli] += np0*(dMassMT[i] + dMassSR[i]);
td.cloud().rhoTrans(i)[celli] += np0*dMassMT[i];
}
// Update momentum transfer
@ -194,6 +175,7 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
const scalar mass0 = this->mass();
const scalar cp0 = this->cp_;
// ~~~~~~~~~~~~~~~~~~~~~~~~~
// Initialise transfer terms
// ~~~~~~~~~~~~~~~~~~~~~~~~~
@ -208,10 +190,6 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
// - components exist in particle already
scalarList dMassMT(td.cloud().gases().size(), 0.0);
// Mass transfer due to surface reactions from particle to carrier phase
// - components do not necessarily exist in particle already
scalarList dMassSR(td.cloud().gases().size(), 0.0);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Calculate velocity - update U
@ -231,7 +209,8 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
// Calculate phase change
// ~~~~~~~~~~~~~~~~~~~~~~
scalarField X = td.cloud().composition().X(0, YMixture_);
calcPhaseChange(td, dt, T, X, dMassMT);
scalar dMassPC = calcPhaseChange(td, dt, T, X, dMassMT);
T1 -= td.constProps().Lvap()*dMassPC/(0.5*mass0*cp0);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -241,10 +220,8 @@ void Foam::ReactingParcel<ParcelType>::calcUncoupled
// Initialise enthalpy retention to zero
scalar dhRet = 0.0;
calcSurfaceReactions(td, dt, celli, T0, T1, dMassMT, dMassSR, dhRet);
// New total mass
const scalar mass1 = mass0 - sum(dMassMT) - sum(dMassSR);
const scalar mass1 = mass0 - sum(dMassMT);
// New specific heat capacity
const scalar cp1 = cp0; // TODO: new cp1
@ -312,6 +289,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
dt
);
td.cloud().addToMassPhaseChange(dMassTot);
// TODO: Re-calculate mass fractions

View File

@ -31,6 +31,8 @@ License
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<basicKinematicParcel>);

View File

@ -30,6 +30,8 @@ License
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<basicKinematicParcel>);

View File

@ -31,6 +31,8 @@ License
#include "ManualInjection.H"
#include "ConeInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<basicKinematicParcel>);

View File

@ -30,6 +30,8 @@ License
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeWallInteractionModel(KinematicCloud<basicKinematicParcel>);

View File

@ -29,6 +29,8 @@ License
#include "SingleMixtureFraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel

View File

@ -31,6 +31,8 @@ License
#include "ConstantRateDevolatilisation.H"
#include "SingleKineticRateDevolatilisation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDevolatilisationModel

View File

@ -31,6 +31,8 @@ License
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<basicReactingMultiphaseParcel>);

View File

@ -30,6 +30,8 @@ License
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<basicReactingMultiphaseParcel>);

View File

@ -30,6 +30,8 @@ License
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<basicReactingMultiphaseParcel>);

View File

@ -31,6 +31,8 @@ License
#include "ManualInjection.H"
#include "ConeInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<basicReactingMultiphaseParcel>);

View File

@ -29,6 +29,8 @@ License
#include "NoPhaseChange.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel

View File

@ -25,22 +25,24 @@ License
\*---------------------------------------------------------------------------*/
#include "basicReactingMultiphaseParcel.H"
#include "ReactingCloud.H"
#include "ReactingMultiphaseCloud.H"
#include "NoSurfaceReaction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeSurfaceReactionModel
(
ReactingCloud<basicReactingMultiphaseParcel>
ReactingMultiphaseCloud<basicReactingMultiphaseParcel>
);
// Add instances of surface reaction model to the table
makeSurfaceReactionModelType
(
NoSurfaceReaction,
ReactingCloud,
ReactingMultiphaseCloud,
basicReactingMultiphaseParcel
);
};

View File

@ -30,6 +30,8 @@ License
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeWallInteractionModel(KinematicCloud<basicReactingMultiphaseParcel>);

View File

@ -1,46 +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 "basicReactingParcel.H"
#include "ReactingCloud.H"
#include "NoSurfaceReaction.H"
namespace Foam
{
makeSurfaceReactionModel(ReactingCloud<basicReactingParcel>);
// Add instances of surface reaction model to the table
makeSurfaceReactionModelType
(
NoSurfaceReaction,
ReactingCloud,
basicReactingParcel
);
};
// ************************************************************************* //

View File

@ -29,6 +29,8 @@ License
#include "SinglePhaseMixture.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeCompositionModel(ReactingCloud<basicReactingParcel>);

View File

@ -31,6 +31,8 @@ License
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<basicReactingParcel>);

View File

@ -30,6 +30,8 @@ License
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<basicReactingParcel>);

View File

@ -30,6 +30,8 @@ License
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<basicReactingParcel>);

View File

@ -31,6 +31,8 @@ License
#include "ManualInjection.H"
#include "ConeInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<basicReactingParcel>);

View File

@ -29,6 +29,8 @@ License
#include "NoPhaseChange.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePhaseChangeModel(ReactingCloud<basicReactingParcel>);

View File

@ -30,6 +30,8 @@ License
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeWallInteractionModel(KinematicCloud<basicReactingParcel>);

View File

@ -30,6 +30,8 @@ License
#include "GradientDispersionRAS.H"
#include "StochasticDispersionRAS.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDispersionModel(KinematicCloud<basicThermoParcel>);

View File

@ -29,6 +29,8 @@ License
#include "NoDrag.H"
#include "SphereDrag.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeDragModel(KinematicCloud<basicThermoParcel>);

View File

@ -29,6 +29,8 @@ License
#include "NoHeatTransfer.H"
#include "RanzMarshall.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeHeatTransferModel(ThermoCloud<basicThermoParcel>);

View File

@ -30,6 +30,8 @@ License
#include "ManualInjection.H"
#include "ConeInjection.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeInjectionModel(KinematicCloud<basicThermoParcel>);

View File

@ -29,6 +29,8 @@ License
#include "Rebound.H"
#include "StandardWallInteraction.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makeWallInteractionModel(KinematicCloud<basicThermoParcel>);

View File

@ -71,10 +71,10 @@ public:
// Member Functions
//- Flag to indicate whether model activates devolatisation model
bool active() const;
virtual bool active() const;
//- Update surface reactions
void calculate
virtual void calculate
(
const scalar dt,
const label celli,

View File

@ -56,7 +56,6 @@ namespace Foam
template<class CloudType>
class SurfaceReactionModel
{
// Private data
//- The cloud dictionary
@ -129,7 +128,7 @@ public:
// Member Functions
//- Flag to indicate whether model activates devolatisation model
//- Flag to indicate whether model activates surface reaction model
virtual bool active() const = 0;
//- Update surface reactions