diff --git a/src/lagrangian/intermediate/submodels/IO/DataEntry/DataEntry/DataEntry.H b/src/lagrangian/intermediate/submodels/IO/DataEntry/DataEntry/DataEntry.H index ec9aee03e18e1da5159a8d35c718cbcac0351a03..6c8959f96df7bd7a668f54081474b1403a1e557f 100644 --- a/src/lagrangian/intermediate/submodels/IO/DataEntry/DataEntry/DataEntry.H +++ b/src/lagrangian/intermediate/submodels/IO/DataEntry/DataEntry/DataEntry.H @@ -120,6 +120,9 @@ public: //- Return the dictionary const dictionary& dict() const; + + // Evaluation + //- Return value as a function of (scalar) independent variable virtual Type value(const scalar x) const = 0; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index 1caab64203d3714eea70fcd23e1242b6a90eba07..4dbf3b67eee13c92439459ebbe6525e505a289ca 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H @@ -80,22 +80,11 @@ public: // Member Functions + //- Return const access to the turbulence model const compressible::turbulenceModel& turbulence() const { return turbulence_; } - - virtual bool active() const = 0; - - virtual vector update - ( - const scalar dt, - const label celli, - const vector& U, - const vector& Uc, - vector& UTurb, - scalar& tTurb - ) = 0; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index 31bfdc4ad0b2bfeecd55e7d9a7003ebdff56b226..8771600330ff52d121942f6fe3d1331860ad06d1 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H @@ -75,8 +75,10 @@ public: // Member Functions + //- Flag to indicate whether model activates injection model bool active() const; + //- Update (disperse particles) vector update ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H index e9fcc2a445d25cd0106be8f5fc6b43c7a03d58a7..a942ebbfb17fe31ffee2c84bed5fa1399a9e0a03 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H @@ -73,8 +73,10 @@ public: // Member Functions + //- Flag to indicate whether model activates injection model bool active() const; + //- Update (disperse particles) vector update ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index f704a5daba69ec0f8a036a1594cc30dff0fa42cf..4f2bf2cc1d4383cba760849dd5b9860c56a7f62d 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H @@ -28,7 +28,7 @@ Class Description The velocity is perturbed in random direction, with a Gaussian random number distribution with variance sigma. - where sigma is defined below + where sigma is defined below \*---------------------------------------------------------------------------*/ @@ -75,8 +75,10 @@ public: // Member Functions + //- Flag to indicate whether model activates injection model bool active() const; + //- Update (disperse particles) vector update ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/NoDrag/NoDrag.H b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/NoDrag/NoDrag.H index ae8385a204516e178a83deaa0cd452246ea81886..40d7de634121c1e82599f4a15dc54d577e96aa9d 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/NoDrag/NoDrag.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/NoDrag/NoDrag.H @@ -72,8 +72,10 @@ public: // Member Functions + //- Flag to indicate whether model activates drag model bool active() const; + //- Return drag coefficient scalar Cd(const scalar) const; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/SphereDrag/SphereDrag.H b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/SphereDrag/SphereDrag.H index 935bd07c48bd430c196c3c11a65d50c5ae8ff63e..5e01ed7462026b3bbb0d48f56703f3f98876d044 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DragModel/SphereDrag/SphereDrag.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DragModel/SphereDrag/SphereDrag.H @@ -72,8 +72,10 @@ public: // Member Functions + //- Flag to indicate whether model activates drag model bool active() const; + //- Return drag coefficient scalar Cd(const scalar Re) const; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.C b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.C index 7a928916707b04eae5a90491e48c9cbd9b9f1a64..0d4873b8842a12775eed4f017cf74c14ef3dced5 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.C @@ -24,8 +24,6 @@ License \*---------------------------------------------------------------------------*/ -#include "error.H" - #include "Rebound.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -37,7 +35,8 @@ Foam::Rebound<CloudType>::Rebound CloudType& cloud ) : - WallInteractionModel<CloudType>(dict, cloud) + WallInteractionModel<CloudType>(dict, cloud, typeName), + UFactor_(readScalar(this->coeffDict().lookup("UFactor"))) {} @@ -71,9 +70,9 @@ void Foam::Rebound<CloudType>::correct scalar Un = U & nw; vector Ut = U - Un*nw; - if (Un > 0) + if (Un > 0.0) { - U -= 2.0*Un*nw; + U -= UFactor_*2.0*Un*nw; } U -= Ut; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.H b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.H index a92ee9008dd1ce011aba5931d1005d33798aabe5..603f910a9ca2a48a5e4b759f1bc34b27d399de1f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/Rebound/Rebound.H @@ -48,6 +48,12 @@ class Rebound : public WallInteractionModel<CloudType> { + // Private data + + //- Factor applied to velocity on rebound + // Normal rebound = 1 + scalar UFactor_; + public: @@ -72,8 +78,10 @@ public: // Member Functions + //- Flag to indicate whether model activates heat transfer model bool active() const; + //- Apply wall correction virtual void correct ( const wallPolyPatch& wpp, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.C b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.C index 282fc0b3233a8f1d747b4824a30ada321d2a5b04..349aa2701993d0525fdaa9cdc8c1a6ec65d28593 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.C @@ -37,10 +37,9 @@ Foam::StandardWallInteraction<CloudType>::StandardWallInteraction CloudType& cloud ) : - WallInteractionModel<CloudType>(dict, cloud), - coeffDict_(dict.subDict(typeName + "Coeffs")), - e_(dimensionedScalar(coeffDict_.lookup("e")).value()), - mu_(dimensionedScalar(coeffDict_.lookup("mu")).value()) + WallInteractionModel<CloudType>(dict, cloud, typeName), + e_(dimensionedScalar(this->coeffDict().lookup("e")).value()), + mu_(dimensionedScalar(this->coeffDict().lookup("mu")).value()) {} diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.H b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.H index fedd5f5aa90a961159dc59a98d02ba53eccc2a10..977371370f561814414d1017ff0a5923d6f86867 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/StandardWallInteraction/StandardWallInteraction.H @@ -51,9 +51,6 @@ class StandardWallInteraction // Private data - //- Coefficient dictionary - dictionary coeffDict_; - //- Elasticity const scalar e_; @@ -84,8 +81,10 @@ public: // Member Functions + //- Flag to indicate whether model activates heat transfer model bool active() const; + //- Apply wall correction virtual void correct ( const wallPolyPatch& wpp, diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.C index 8125f12d7f63d2900f20b9a014f00a10c3ca89d5..af366c3c6bf29a4d47dbf5c48cb888a1d4e24d35 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.C @@ -32,10 +32,12 @@ template<class CloudType> Foam::WallInteractionModel<CloudType>::WallInteractionModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ) : dict_(dict), - owner_(owner) + owner_(owner), + coeffDict_(dict.subDict(type + "Coeffs")) {} @@ -63,6 +65,14 @@ const Foam::dictionary& Foam::WallInteractionModel<CloudType>::dict() const } +template<class CloudType> +const Foam::dictionary& +Foam::WallInteractionModel<CloudType>::coeffDict() const +{ + return coeffDict_; +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "NewWallInteractionModel.C" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.H index 0c6c5a851ac085a60571b906edb086dbb06ba8f5..014a6e835fcc862b008f5123e2bb63ab3328fcb0 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/WallInteractionModel/WallInteractionModel/WallInteractionModel.H @@ -63,6 +63,9 @@ class WallInteractionModel // reference to the owner cloud class CloudType& owner_; + //- The coefficients dictionary + const dictionary coeffDict_; + public: @@ -89,7 +92,8 @@ public: WallInteractionModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ); @@ -109,11 +113,14 @@ public: // Access + //- Return the owner cloud object + const CloudType& owner() const; + //- Return the dictionary const dictionary& dict() const; - //- Return the owner cloud object - const CloudType& owner() const; + //- Return the coefficients dictionary + const dictionary& coeffDict() const; // Member Functions diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C index da638a66c4f9b965b5a8e8ead1134de86524faae..1cde137d9f73f226c09a3d9284f1273f4334bd04 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C @@ -32,10 +32,12 @@ template<class CloudType> Foam::CompositionModel<CloudType>::CompositionModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ) : dict_(dict), owner_(owner), + coeffDict_(dict.subDict(type + "Coeffs")), carrierThermo_(owner.carrierThermo()), gases_(owner.gases()), liquids_ @@ -84,6 +86,13 @@ const Foam::dictionary& Foam::CompositionModel<CloudType>::dict() const } +template<class CloudType> +const Foam::dictionary& Foam::CompositionModel<CloudType>::coeffDict() const +{ + return coeffDict_; +} + + template<class CloudType> const Foam::hCombustionThermo& Foam::CompositionModel<CloudType>::carrierThermo() const diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 470549c91646c9ff9db1956eda428c114237c719..ada5d2e380eb2025b4023e275563cc879508329a 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H @@ -70,6 +70,9 @@ class CompositionModel //- Reference to the owner injection class CloudType& owner_; + //- The coefficients dictionary + const dictionary& coeffDict_; + //- Reference to the carrier phase thermo package hCombustionThermo& carrierThermo_; @@ -108,7 +111,8 @@ public: CompositionModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ); @@ -133,9 +137,12 @@ public: //- Return the cloud object const CloudType& owner() const; - //- Return the dictionary + //- Return the cloud dictionary const dictionary& dict() const; + //- Return the coefficients dictionary + const dictionary& coeffDict() const; + //- Return the carrier phase thermo package const hCombustionThermo& carrierThermo() const; @@ -216,6 +223,7 @@ public: const scalar T ) const = 0; + //- Return specific heat caparcity for the liquid mixture virtual const scalar cpLiquid ( const scalarField& YLiquid, @@ -223,6 +231,7 @@ public: const scalar T ) const = 0; + //- Return specific heat caparcity for the solid mixture virtual const scalar cpSolid ( const scalarField& YSolid diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C index 564b7cf5a6ef17d73e17ee9ede34d616eed0db89..39bc2bf76b20c15a2d7bd91ba48803f6c88d1285 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C @@ -35,23 +35,22 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction CloudType& owner ) : - CompositionModel<CloudType>(dict, owner), - coeffDict_(dict.subDict(typeName + "Coeffs")), + CompositionModel<CloudType>(dict, owner, typeName), - gasNames_(coeffDict_.lookup("gasNames")), + gasNames_(this->coeffDict().lookup("gasNames")), gasGlobalIds_(gasNames_.size(), -1), - YGas0_(coeffDict_.lookup("YGas0")), - YGasTot0_(readScalar(coeffDict_.lookup("YGasTot0"))), + YGas0_(this->coeffDict().lookup("YGas0")), + YGasTot0_(readScalar(this->coeffDict().lookup("YGasTot0"))), - liquidNames_(coeffDict_.lookup("liquidNames")), + liquidNames_(this->coeffDict().lookup("liquidNames")), liquidGlobalIds_(liquidNames_.size(), -1), - YLiquid0_(coeffDict_.lookup("YLiquid0")), - YLiquidTot0_(readScalar(coeffDict_.lookup("YLiquidTot0"))), + YLiquid0_(this->coeffDict().lookup("YLiquid0")), + YLiquidTot0_(readScalar(this->coeffDict().lookup("YLiquidTot0"))), - solidNames_(coeffDict_.lookup("solidNames")), + solidNames_(this->coeffDict().lookup("solidNames")), solidGlobalIds_(solidNames_.size(), -1), - YSolid0_(coeffDict_.lookup("YSolid0")), - YSolidTot0_(readScalar(coeffDict_.lookup("YSolidTot0"))), + YSolid0_(this->coeffDict().lookup("YSolid0")), + YSolidTot0_(readScalar(this->coeffDict().lookup("YSolidTot0"))), YMixture0_(3) { @@ -73,7 +72,8 @@ Foam::SingleMixtureFraction<CloudType>::SingleMixtureFraction Info<< "\nThermo package species composition comprises:" << endl; forAll (this->carrierThermo().composition().Y(), k) { - Info<< this->carrierThermo().composition().Y()[k].name() << endl; + Info<< this->carrierThermo().composition().Y()[k].name() + << endl; } FatalErrorIn @@ -255,12 +255,14 @@ Foam::SingleMixtureFraction<CloudType>::gasLocalId(const word& gasName) const return i; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "gasLocalId(const word& gasName) const" )<< "Gas name " << gasName << " not found in gasNames_" << endl; + return -1; } @@ -276,12 +278,14 @@ Foam::SingleMixtureFraction<CloudType>::gasGlobalId(const word& gasName) const return gasGlobalIds_[i]; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "gasGlobalId(const word& gasName) const" )<< "Gas name " << gasName << " not found in gasNames_" << endl; + return -1; } @@ -329,12 +333,14 @@ Foam::SingleMixtureFraction<CloudType>::liquidLocalId(const word& liquidName) co return i; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "liquidLocalId(const word& liquidName) const" )<< "Liquid name " << liquidName << " not found in liquidNames_" << endl; + return -1; } @@ -350,12 +356,14 @@ Foam::SingleMixtureFraction<CloudType>::liquidGlobalId(const word& liquidName) c return liquidGlobalIds_[i]; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "liquidGlobalId(const word& liquidName) const" )<< "Liquid name " << liquidName << " not found in liquidNames_" << endl; + return -1; } @@ -403,12 +411,14 @@ Foam::SingleMixtureFraction<CloudType>::solidLocalId(const word& solidName) cons return i; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "SolididLocalId(const word& solidName) const" )<< "Solid name " << solidName << " not found in solidNames_" << endl; + return -1; } @@ -424,12 +434,14 @@ Foam::SingleMixtureFraction<CloudType>::solidGlobalId(const word& solidName) con return solidGlobalIds_[i]; } } + WarningIn ( "Foam::label SingleMixtureFraction<CloudType>::" "solidGlobalId(const word& solidName) const" )<< "Solid name " << solidName << " not found in solidNames_" << endl; + return -1; } diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H index 1269c983069528eb255134a1a99c046f3b44ea6d..070e41e727f84304d7e96a51ed9703e22f7b4e95 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H @@ -57,9 +57,6 @@ class SingleMixtureFraction // Private data - //- The coefficient dictionary - const dictionary& coeffDict_; - //- Parcel properties //- List of gas names @@ -146,40 +143,58 @@ public: // Access + //- Return the list of composition names const wordList compositionNames() const; + //- Return the list of gas names const wordList& gasNames() const; + //- Return the list indices of gases in global thermo list const labelList& gasGlobalIds() const; + //- Return the list of gas mass fractions const scalarField& YGas0() const; + //- Return the total gas mass fraction const scalar YGasTot0() const; + //- Return the list of liquid names const wordList& liquidNames() const; + //- Return the list indices of liquid in global thermo list const labelList& liquidGlobalIds() const; + //- Return the list of liquid mass fractions const scalarField& YLiquid0() const; + //- Return the total liquid mass fraction const scalar YLiquidTot0() const; + //- Return the list of solid names const wordList& solidNames() const; + //- Return the list indices of solids in global thermo list const labelList& solidGlobalIds() const; + //- Return the list of solid mass fractions const scalarField& YSolid0() const; + //- Return the total solid mass fraction const scalar YSolidTot0() const; + //- Return the list of mixture mass fractions const scalarField& YMixture0() const; + //- Return the gas constant for the gas mixture const scalar RGas(const scalarField& YGas) const; + //- Return enthalpy for the gas mixture const scalar HGas(const scalarField& YGas, const scalar T) const; + //- Return specific heat caparcity for the gas mixture const scalar cpGas(const scalarField& YGas, const scalar T) const; + //- Return specific heat caparcity for the liquid mixture const scalar cpLiquid ( const scalarField& YLiquid, @@ -187,6 +202,7 @@ public: const scalar T ) const; + //- Return specific heat caparcity for the solid mixture const scalar cpSolid(const scalarField& YSolid) const; }; diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C index b24dfd05005c6da9dfe0915fcdf96625845371d6..3d29eab791c39b56044e83695e71bb31d9f894ca 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.C @@ -35,12 +35,11 @@ Foam::ConstantRateDevolatilisation<CloudType>::ConstantRateDevolatilisation CloudType& owner ) : - MassTransferModel<CloudType>(dict, owner), - coeffDict_(dict.subDict(typeName + "Coeffs")), - A0_(dimensionedScalar(coeffDict_.lookup("A0")).value()), + MassTransferModel<CloudType>(dict, owner, typeName), + A0_(dimensionedScalar(this->coeffDict().lookup("A0")).value()), volatileResidualCoeff_ ( - readScalar(coeffDict_.lookup("volatileResidualCoeff")) + readScalar(this->coeffDict().lookup("volatileResidualCoeff")) ) {} diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.H b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.H index 1f425868ad72f757e2ce585399a9480bd02acbd9..a2490e647270614e9f7bfc8d59a3fac36fb07776 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.H +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/ConstantRateDevolatilisation/ConstantRateDevolatilisation.H @@ -52,10 +52,6 @@ class ConstantRateDevolatilisation // Private data - //- Coefficients dictionary - dictionary coeffDict_; - - // Model constants //- Rate constant (suggested default = 12) [1/s] @@ -90,10 +86,13 @@ public: // Member Functions + //- Flag to indicate whether model activates mass transfer model bool active() const; + //- Flag to indicate whether model changes particle volume bool changesVolume() const; + //- Update model scalar calculate ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.C b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.C index 00c5be1c4603ac880140ae6519e17d3c5030e4a9..8e0fb5e0a073dbac569775f3632055da2194482c 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.C +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.C @@ -32,10 +32,12 @@ template<class CloudType> Foam::MassTransferModel<CloudType>::MassTransferModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ) : dict_(dict), - owner_(owner) + owner_(owner), + coeffDict_(dict.subDict(type + "Coeffs")) {} @@ -61,6 +63,13 @@ const Foam::dictionary& Foam::MassTransferModel<CloudType>::dict() const } +template<class CloudType> +const Foam::dictionary& Foam::MassTransferModel<CloudType>::coeffDict() const +{ + return coeffDict_; +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "NewMassTransferModel.C" diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.H b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.H index cb5164782a1c83e4fd493abb555a78335b29c27b..81967a640f599ed478dea7079aa46b09f518f41c 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/MassTransferModel/MassTransferModel.H @@ -65,6 +65,9 @@ protected: //- Reference to the owner cloud class CloudType& owner_; + //- The coefficient dictionary + const dictionary coeffDict_; + public: @@ -91,7 +94,8 @@ public: MassTransferModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ); @@ -114,9 +118,12 @@ public: //- Return the owner cloud object const CloudType& owner() const; - //- Return the dictionary + //- Return the cloud dictionary const dictionary& dict() const; + //- Return the coefficient dictionary + const dictionary& coeffDict() const; + // Member Functions diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.C b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.C index 3e7c5a796b2b375ae1b94464d1796292a1fe8143..f490b0d6cfa632ab00d2ed8fad8c243526aae7b5 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.C +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.C @@ -35,7 +35,7 @@ Foam::NoMassTransfer<CloudType>::NoMassTransfer CloudType& cloud ) : - MassTransferModel<CloudType>(dict, cloud) + MassTransferModel<CloudType>(dict, cloud, typeName) {} diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.H b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.H index 78a538f57b1e9b46684ac8f8210832c0db95333d..18be1809e47c072538c90574f27478c0828ff31f 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.H +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/NoMassTransfer/NoMassTransfer.H @@ -72,10 +72,13 @@ public: // Member Functions + //- Flag to indicate whether model activates mass transfer model bool active() const; + //- Flag to indicate whether model changes particle volume bool changesVolume() const; + //- Update model scalar calculate ( const scalar, diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C index 3da409fa233838100b2880386b6a936327ca29b8..b6d2581a718e2f3fefa864909ea17efc4a62e21d 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.C @@ -35,13 +35,12 @@ Foam::SingleKineticRateDevolatilisation<CloudType>::SingleKineticRateDevolatilis CloudType& owner ) : - MassTransferModel<CloudType>(dict, owner), - coeffDict_(dict.subDict(typeName + "Coeffs")), - A1_(dimensionedScalar(coeffDict_.lookup("A1")).value()), - E_(dimensionedScalar(coeffDict_.lookup("E")).value()), + MassTransferModel<CloudType>(dict, owner, typeName), + A1_(dimensionedScalar(this->coeffDict().lookup("A1")).value()), + E_(dimensionedScalar(this->coeffDict().lookup("E")).value()), volatileResidualCoeff_ ( - readScalar(coeffDict_.lookup("volatileResidualCoeff")) + readScalar(this->coeffDict().lookup("volatileResidualCoeff")) ) {} diff --git a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.H b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.H index 39b8bdf5c330d66a20e73e3bc15304ada39b73fb..fea51bffae4af9afaddcf38b1dcb9f15d981199f 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.H +++ b/src/lagrangian/intermediate/submodels/Reacting/MassTransferModel/SingleKineticRateDevolatilisation/SingleKineticRateDevolatilisation.H @@ -51,10 +51,6 @@ class SingleKineticRateDevolatilisation // Private data - //- Coefficients dictionary - dictionary coeffDict_; - - // Model constants //- Activation energy @@ -92,10 +88,13 @@ public: // Member Functions + //- Flag to indicate whether model activates mass transfer model bool active() const; + //- Flag to indicate whether model changes particle volume bool changesVolume() const; + //- Update model scalar calculate ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C index 388e07a13ec647e1c03c4f44d5a0cead0b10cc19..a4bc12aa40b69b93d67e22fd3f9faead7aad1cb2 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C +++ b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.C @@ -35,7 +35,7 @@ Foam::NoSurfaceReaction<CloudType>::NoSurfaceReaction CloudType& owner ) : - SurfaceReactionModel<CloudType>(dict, owner) + SurfaceReactionModel<CloudType>(dict, owner, typeName) {} diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H index 36056ac18300159e008d6e537c309e8831364b55..f07228bc59182f7a71bb8b8ed33631bc2fbc0739 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H +++ b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/NoSurfaceReaction/NoSurfaceReaction.H @@ -72,8 +72,10 @@ public: // Member Functions + //- Flag to indicate whether model activates devolatisation model bool active() const; + //- Update surface reactions void calculate ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C index 5004c4436db351d535c52bc0e47682fe069833be..616dccd20bb7f3b19151b5c78e04b25b3557923f 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C +++ b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C @@ -32,10 +32,12 @@ template<class CloudType> Foam::SurfaceReactionModel<CloudType>::SurfaceReactionModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ) : dict_(dict), - owner_(owner) + owner_(owner), + coeffDict_(dict.subDict(type + "Coeffs")) {} @@ -61,6 +63,13 @@ const Foam::dictionary& Foam::SurfaceReactionModel<CloudType>::dict() const } +template<class CloudType> +const Foam::dictionary& Foam::SurfaceReactionModel<CloudType>::coeffDict() const +{ + return coeffDict_; +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "NewSurfaceReactionModel.C" diff --git a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index c6ab5c122539b1efc5e8daabc54a6188e0beceaf..61c870d44ec3da1ba81ad5ef810043cfe01e4a08 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -66,6 +66,9 @@ class SurfaceReactionModel // reference to the owner cloud class CloudType& owner_; + //- The coefficients dictionary + const dictionary coeffDict_; + public: @@ -93,7 +96,8 @@ public: SurfaceReactionModel ( const dictionary& dict, - CloudType& cloud + CloudType& cloud, + const word& type ); @@ -116,15 +120,19 @@ public: //- Return the owner cloud object const CloudType& owner() const; - //- Return the dictionary + //- Return the cloud dictionary const dictionary& dict() const; + //- Return the coefficients dictionary + const dictionary& coeffDict() const; + // Member Functions //- Flag to indicate whether model activates devolatisation model virtual bool active() const = 0; + //- Update surface reactions virtual void calculate ( const scalar dt, diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C index 5f352cfc98af2d41d23c1d82b860436d7ed969cb..f2b4fc929901abe08cd0890ce0d69b3719e8e0da 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C @@ -32,10 +32,12 @@ template<class CloudType> Foam::HeatTransferModel<CloudType>::HeatTransferModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ) : dict_(dict), - owner_(owner) + owner_(owner), + coeffDict_(dict.subDict(type + "Coeffs")) {} @@ -62,6 +64,13 @@ const Foam::dictionary& Foam::HeatTransferModel<CloudType>::dict() const } +template<class CloudType> +const Foam::dictionary& Foam::HeatTransferModel<CloudType>::coeffDict() const +{ + return coeffDict_; +} + + template<class CloudType> Foam::scalar Foam::HeatTransferModel<CloudType>::h ( diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index e1ae0b7383c54bf067ef06c2b17e76e89a3a9208..ee763374188d5d30b9fa03aa122044c8d1c1a5dc 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -63,6 +63,9 @@ class HeatTransferModel //- Reference to the owner cloud class CloudType& owner_; + //- The coefficents dictionary + const dictionary coeffDict_; + public: @@ -89,7 +92,8 @@ public: HeatTransferModel ( const dictionary& dict, - CloudType& owner + CloudType& owner, + const word& type ); @@ -109,9 +113,12 @@ public: // Access - //- Return the dictionary + //- Return the cloud dictionary const dictionary& dict() const; + //- Return the coefficients dictionary + const dictionary& coeffDict() const; + //- Return the owner cloud object const CloudType& owner() const; diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.C index 4edf1d50ba6fcf3bde8a7a3d295f45a49425b5b4..0d2d4248632a5dfc6342e8aa2acf18e822815c5e 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.C +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.C @@ -35,7 +35,7 @@ Foam::NoHeatTransfer<CloudType>::NoHeatTransfer CloudType& cloud ) : - HeatTransferModel<CloudType>(dict, cloud) + HeatTransferModel<CloudType>(dict, cloud, typeName) {} diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.H index b3076d74d5435a46d47f8a3bb18776665b0f85a5..95206b386582aa89654a4aaf7ea9c75982da938a 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/NoHeatTransfer/NoHeatTransfer.H @@ -72,14 +72,17 @@ public: // Member Functions + //- Flag to indicate whether model activates heat transfer model bool active() const; + //- Nusselt number scalar Nu ( const scalar, const scalar ) const; + //- Prandtl number scalar Pr() const; }; diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C index 223f509d39ecc6cf5c9cc473854df9ce397fe973..b568517b1c5acff0297f5fc2f9c25acce0b8efc0 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C @@ -37,9 +37,8 @@ Foam::RanzMarshall<CloudType>::RanzMarshall CloudType& cloud ) : - HeatTransferModel<CloudType>(dict, cloud), - coeffDict_(dict.subDict(typeName + "Coeffs")), - Pr_(dimensionedScalar(coeffDict_.lookup("Pr")).value()) + HeatTransferModel<CloudType>(dict, cloud, typeName), + Pr_(dimensionedScalar(this->coeffDict().lookup("Pr")).value()) {} diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H index 13c79acc9176a00893c39dae8ebb7023d8ab8a6b..223bfc186fae358879754b0a3862768b606c1ef8 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H @@ -51,9 +51,6 @@ class RanzMarshall // Private data - // Coefficients dictionary - dictionary coeffDict_; - // Prandtl number const scalar Pr_; @@ -81,14 +78,17 @@ public: // Member Functions + //- Flag to indicate whether model activates heat transfer model bool active() const; + //- Nusselt number scalar Nu ( const scalar Re, const scalar Pr ) const; + //- Prandtl number scalar Pr() const; };