From 25575df60ee54320c36f0a938df52e8f5220eeaf Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 4 Jan 2019 17:08:53 -0800 Subject: [PATCH] ENH: new ReactingHeterogeneousCloud - number of particles per parcel info to kinematic cloud - added turbulent dispersion to basicHeterogeneousReactingParcel - corrected dhsTrans in MUCSheterogeneousRate::calculate - added cloud macro system to reactingParcelFoam and fixed calculation of average particles per parcel - added progress variable dimension to reacting model (nF) - added ReactingHeterogeneous tutorial --- .../reactingParcelFoam/createClouds.H | 2 +- .../reactingHeterogenousParcelFoam/Make/files | 3 + .../Make/options | 48 ++ .../reactingHeterogenousParcelFoam.C | 43 ++ .../reactingParcelFoam/reactingParcelFoam.C | 13 +- .../COxidationDiffusionLimitedRate.C | 12 +- .../COxidationDiffusionLimitedRate.H | 8 +- .../COxidationHurtMitchell.C | 11 +- .../COxidationHurtMitchell.H | 10 +- .../COxidationIntrinsicRate.C | 12 +- .../COxidationIntrinsicRate.H | 10 +- .../COxidationKineticDiffusionLimitedRate.C | 12 +- .../COxidationKineticDiffusionLimitedRate.H | 6 +- .../COxidationMurphyShaddix.C | 11 +- .../COxidationMurphyShaddix.H | 6 +- src/lagrangian/intermediate/Make/files | 7 + .../Templates/KinematicCloud/KinematicCloud.C | 30 +- .../Templates/KinematicCloud/KinematicCloud.H | 3 + .../KinematicCloud/KinematicCloudI.H | 17 +- .../Templates/ReactingCloud/ReactingCloud.C | 4 +- .../ReactingHeterogeneousCloud.C | 248 ++++++++++ .../ReactingHeterogeneousCloud.H | 272 +++++++++++ .../ReactingHeterogeneousCloudI.H | 60 +++ .../reactingHeterogeneousCloud.C | 36 ++ .../reactingHeterogeneousCloud.H | 76 ++++ .../basicHeterogeneousReactingCloud.H | 68 +++ .../ReactingHeterogeneousParcel.C | 397 ++++++++++++++++ .../ReactingHeterogeneousParcel.H | 426 ++++++++++++++++++ .../ReactingHeterogeneousParcelI.H | 189 ++++++++ .../ReactingHeterogeneousParcelIO.C | 354 +++++++++++++++ .../ReactingMultiphaseParcel.C | 8 +- .../ReactingMultiphaseParcel.H | 15 +- .../ReactingMultiphaseParcelIO.C | 27 +- .../basicHeterogeneousReactingParcel.H | 74 +++ .../defineBasicHeterogeneousReactingParcel.C | 38 ++ ...asicHeterogeneousReactingParcelSubmodels.C | 69 +++ ...eactingParcelHeterogeneousReactingModels.H | 47 ++ .../HeterogeneousReactingModel.C | 107 +++++ .../HeterogeneousReactingModel.H | 218 +++++++++ .../HeterogeneousReactingModelNew.C | 61 +++ .../MUCSheterogeneousRate.C | 239 ++++++++++ .../MUCSheterogeneousRate.H | 198 ++++++++ .../NoheterogeneousReacting.C | 92 ++++ .../NoheterogeneousReacting.H | 131 ++++++ .../NoSurfaceReaction/NoSurfaceReaction.C | 11 +- .../NoSurfaceReaction/NoSurfaceReaction.H | 6 +- .../SurfaceReactionModel.C | 13 +- .../SurfaceReactionModel.H | 8 +- src/lagrangian/turbulence/Make/files | 3 + .../makeBasicHeterogeneousParcelSubmodels.C | 40 ++ .../solidProperties/C/C.C | 4 +- .../solidProperties/CaCO3/CaCO3.C | 4 +- .../solidProperties/ash/ash.C | 4 +- .../solidProperties/solidProperties.C | 16 +- .../solidProperties/solidProperties.H | 13 +- .../solidProperties/solidPropertiesI.H | 7 +- .../reactingHeterogenousParcelFoam/0/N2 | 42 ++ .../reactingHeterogenousParcelFoam/0/O2 | 42 ++ .../reactingHeterogenousParcelFoam/0/T | 41 ++ .../reactingHeterogenousParcelFoam/0/U | 43 ++ .../reactingHeterogenousParcelFoam/0/alphat | 43 ++ .../reactingHeterogenousParcelFoam/0/k | 43 ++ .../reactingHeterogenousParcelFoam/0/nut | 46 ++ .../reactingHeterogenousParcelFoam/0/omega | 48 ++ .../reactingHeterogenousParcelFoam/0/p | 43 ++ .../reactingHeterogenousParcelFoam/0/p_rgh | 40 ++ .../constant/chemistryProperties | 28 ++ .../constant/combustionProperties | 21 + .../constant/foam.dat | 82 ++++ .../constant/foam.inp | 9 + .../reactingHeterogenousParcelFoam/constant/g | 22 + .../constant/particleTrackDict | 28 ++ .../constant/radiationProperties | 22 + .../constant/reactingCloud1Properties | 184 ++++++++ .../constant/thermophysicalProperties | 73 +++ .../constant/turbulenceProperties | 29 ++ .../system/blockMeshDict | 75 +++ .../system/controlDict | 81 ++++ .../system/decomposeParDict | 30 ++ .../system/fvSchemes | 63 +++ .../system/fvSolution | 111 +++++ 81 files changed, 5002 insertions(+), 134 deletions(-) create mode 100644 applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/files create mode 100644 applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/options create mode 100644 applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/reactingHeterogenousParcelFoam.C create mode 100644 src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.C create mode 100644 src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloud.H create mode 100644 src/lagrangian/intermediate/clouds/Templates/ReactingHeterogeneousCloud/ReactingHeterogeneousCloudI.H create mode 100644 src/lagrangian/intermediate/clouds/baseClasses/reactingHeterogeneousCloud/reactingHeterogeneousCloud.C create mode 100644 src/lagrangian/intermediate/clouds/baseClasses/reactingHeterogeneousCloud/reactingHeterogeneousCloud.H create mode 100644 src/lagrangian/intermediate/clouds/derived/basicHeterogeneousReactingCloud/basicHeterogeneousReactingCloud.H create mode 100644 src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.C create mode 100644 src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcel.H create mode 100644 src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelI.H create mode 100644 src/lagrangian/intermediate/parcels/Templates/ReactingHeterogeneousParcel/ReactingHeterogeneousParcelIO.C create mode 100644 src/lagrangian/intermediate/parcels/derived/basicHeterogeneousReactingParcel/basicHeterogeneousReactingParcel.H create mode 100644 src/lagrangian/intermediate/parcels/derived/basicHeterogeneousReactingParcel/defineBasicHeterogeneousReactingParcel.C create mode 100644 src/lagrangian/intermediate/parcels/derived/basicHeterogeneousReactingParcel/makeBasicHeterogeneousReactingParcelSubmodels.C create mode 100644 src/lagrangian/intermediate/parcels/include/makeHeterogeneousReactingParcelHeterogeneousReactingModels.H create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/HeterogeneousReactingModel/HeterogeneousReactingModel.C create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/HeterogeneousReactingModel/HeterogeneousReactingModel.H create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/HeterogeneousReactingModel/HeterogeneousReactingModelNew.C create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/MUCSheterogeneousRate/MUCSheterogeneousRate.C create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/MUCSheterogeneousRate/MUCSheterogeneousRate.H create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/NoheterogeneousReacting/NoheterogeneousReacting.C create mode 100644 src/lagrangian/intermediate/submodels/HeterogeneousReactingModel/NoheterogeneousReacting/NoheterogeneousReacting.H create mode 100644 src/lagrangian/turbulence/parcels/derived/basicHeterogeneousReactingParcel/makeBasicHeterogeneousParcelSubmodels.C create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/N2 create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/O2 create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/T create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/U create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/alphat create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/k create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/nut create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/omega create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/p create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/0/p_rgh create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/chemistryProperties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/combustionProperties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/foam.dat create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/foam.inp create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/g create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/particleTrackDict create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/radiationProperties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/reactingCloud1Properties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/thermophysicalProperties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/constant/turbulenceProperties create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/system/blockMeshDict create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/system/controlDict create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/system/decomposeParDict create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/system/fvSchemes create mode 100644 tutorials/lagrangian/reactingHeterogenousParcelFoam/system/fvSolution diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H b/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H index 954b74e069..ceaca29f59 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/createClouds.H @@ -1,5 +1,5 @@ Info<< "\nConstructing reacting cloud" << endl; -basicReactingMultiphaseCloud parcels +basicReactingTypeCloud parcels ( "reactingCloud1", rho, diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/files b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/files new file mode 100644 index 0000000000..c140bdda79 --- /dev/null +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/files @@ -0,0 +1,3 @@ +reactingHeterogenousParcelFoam.C + +EXE = $(FOAM_APPBIN)/reactingHeterogenousParcelFoam diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/options new file mode 100644 index 0000000000..841ef8c9c7 --- /dev/null +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/Make/options @@ -0,0 +1,48 @@ +EXE_INC = \ + -I. \ + -I.. \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I${LIB_SRC}/sampling/lnInclude \ + -I${LIB_SRC}/meshTools/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/thermophysicalFunctions/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/SLGThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/radiation/lnInclude \ + -I$(LIB_SRC)/regionModels/regionModel/lnInclude \ + -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \ + -I$(LIB_SRC)/lagrangian/basic/lnInclude \ + -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \ + -I$(LIB_SRC)/ODE/lnInclude \ + -I$(LIB_SRC)/combustionModels/lnInclude \ + -I$(FOAM_SOLVERS)/combustion/reactingFoam + +EXE_LIBS = \ + -lfiniteVolume \ + -lfvOptions \ + -lsampling \ + -lmeshTools \ + -lturbulenceModels \ + -lcompressibleTurbulenceModels \ + -lspecie \ + -lcompressibleTransportModels \ + -lfluidThermophysicalModels \ + -lreactionThermophysicalModels \ + -lSLGThermo \ + -lchemistryModel \ + -lregionModels \ + -lradiationModels \ + -lsurfaceFilmModels \ + -lsurfaceFilmDerivedFvPatchFields \ + -llagrangian \ + -llagrangianIntermediate \ + -llagrangianTurbulence \ + -lODE \ + -lcombustionModels diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/reactingHeterogenousParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/reactingHeterogenousParcelFoam.C new file mode 100644 index 0000000000..ee4e7ed4ca --- /dev/null +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingHeterogenousParcelFoam/reactingHeterogenousParcelFoam.C @@ -0,0 +1,43 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + reactingHeterogenousParcelFoam + +Group + grpLagrangianSolvers + +Description + Transient solver for the coupled transport of a single kinematic particle + cloud including the effect of the volume fraction of particles on the + continuous phase. Multi-Phase Particle In Cell (MPPIC) modeling is used to + represent collisions without resolving particle-particle interactions. + +\*---------------------------------------------------------------------------*/ + +#define CLOUD_BASE_TYPE HeterogeneousReacting +#define CLOUD_BASE_TYPE_NAME "HeterogeneousReacting" + +#include "reactingParcelFoam.C" + +// ************************************************************************* // diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 92623f9ce3..f6609a1583 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2017 OpenFOAM Foundation @@ -37,7 +37,7 @@ Description #include "fvCFD.H" #include "turbulentFluidThermoModel.H" -#include "basicReactingMultiphaseCloud.H" + #include "surfaceFilmModel.H" #include "rhoReactionThermo.H" #include "CombustionModel.H" @@ -48,6 +48,15 @@ Description #include "pressureControl.H" #include "localEulerDdtScheme.H" #include "fvcSmooth.H" +#include "cloudMacros.H" + +#ifndef CLOUD_BASE_TYPE + #define CLOUD_BASE_TYPE ReactingMultiphase + #define CLOUD_BASE_TYPE_NAME "reacting" +#endif + +#include CLOUD_INCLUDE_FILE(CLOUD_BASE_TYPE) +#define basicReactingTypeCloud CLOUD_TYPE(CLOUD_BASE_TYPE) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C index 5a2d0c0688..c51e973eba 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -91,20 +91,14 @@ Foam::COxidationDiffusionLimitedRate::COxidationDiffusionLimitedRate {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::COxidationDiffusionLimitedRate:: -~COxidationDiffusionLimitedRate() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template Foam::scalar Foam::COxidationDiffusionLimitedRate::calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H index 7fa288b87b..3329e9c29e 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationDiffusionLimitedRate/COxidationDiffusionLimitedRate.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2018-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -50,7 +50,7 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Forward class declarations +// Forward declarations template class COxidationDiffusionLimitedRate; @@ -130,7 +130,7 @@ public: //- Destructor - virtual ~COxidationDiffusionLimitedRate(); + virtual ~COxidationDiffusionLimitedRate() = default; // Member Functions @@ -139,6 +139,8 @@ public: virtual scalar calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C index d4250fe65e..2dbc1b482e 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2012-2016 OpenFOAM Foundation @@ -91,19 +91,14 @@ Foam::COxidationHurtMitchell::COxidationHurtMitchell {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::COxidationHurtMitchell::~COxidationHurtMitchell() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template Foam::scalar Foam::COxidationHurtMitchell::calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.H index 15dbfd9d5b..a8a45f231c 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationHurtMitchell/COxidationHurtMitchell.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2012-2016 OpenFOAM Foundation @@ -73,9 +73,9 @@ class COxidationHurtMitchell : public SurfaceReactionModel { - // Private data + // Private Data - // Model constants + // Model Constants //- Stoichiometry of reaction const scalar Sb_; @@ -143,7 +143,7 @@ public: //- Destructor - virtual ~COxidationHurtMitchell(); + virtual ~COxidationHurtMitchell() = default; // Member Functions @@ -152,6 +152,8 @@ public: virtual scalar calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C index 4a6cad7d77..8ceb9441f1 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2014-2016 OpenFOAM Foundation @@ -103,20 +103,14 @@ Foam::COxidationIntrinsicRate::COxidationIntrinsicRate {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::COxidationIntrinsicRate:: -~COxidationIntrinsicRate() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template Foam::scalar Foam::COxidationIntrinsicRate::calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.H index fff61aa539..84aa7b7818 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationIntrinsicRate/COxidationIntrinsicRate.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2014-2016 OpenFOAM Foundation @@ -63,9 +63,9 @@ class COxidationIntrinsicRate : public SurfaceReactionModel { - // Private data + // Private Data - // Model constants + // Model Constants //- Stoichiometry of reaction [] const scalar Sb_; @@ -148,7 +148,7 @@ public: //- Destructor - virtual ~COxidationIntrinsicRate(); + virtual ~COxidationIntrinsicRate() = default; // Member Functions @@ -157,6 +157,8 @@ public: virtual scalar calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C index 73f1000e5d..d5f66d8754 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -88,20 +88,14 @@ COxidationKineticDiffusionLimitedRate {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::COxidationKineticDiffusionLimitedRate:: -~COxidationKineticDiffusionLimitedRate() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template Foam::scalar Foam::COxidationKineticDiffusionLimitedRate::calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H index 485a6244ed..6e7ac7ee0c 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationKineticDiffusionLimitedRate/COxidationKineticDiffusionLimitedRate.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -135,7 +135,7 @@ public: //- Destructor - virtual ~COxidationKineticDiffusionLimitedRate(); + virtual ~COxidationKineticDiffusionLimitedRate() = default; // Member Functions @@ -144,6 +144,8 @@ public: virtual scalar calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C index 5889f416ab..299b0ccae2 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -103,19 +103,14 @@ Foam::COxidationMurphyShaddix::COxidationMurphyShaddix {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::COxidationMurphyShaddix::~COxidationMurphyShaddix() -{} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template Foam::scalar Foam::COxidationMurphyShaddix::calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H index 09fee068be..403a03b1b1 100644 --- a/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H +++ b/src/lagrangian/coalCombustion/submodels/surfaceReactionModel/COxidationMurphyShaddix/COxidationMurphyShaddix.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -156,7 +156,7 @@ public: //- Destructor - virtual ~COxidationMurphyShaddix(); + virtual ~COxidationMurphyShaddix() = default; // Member Functions @@ -165,6 +165,8 @@ public: virtual scalar calculate ( const scalar dt, + const scalar Re, + const scalar nu, const label celli, const scalar d, const scalar T, diff --git a/src/lagrangian/intermediate/Make/files b/src/lagrangian/intermediate/Make/files index 8789d3c0bd..4d6e12f6dc 100644 --- a/src/lagrangian/intermediate/Make/files +++ b/src/lagrangian/intermediate/Make/files @@ -12,6 +12,7 @@ $(BASECLOUDS)/kinematicCloud/kinematicCloud.C $(BASECLOUDS)/thermoCloud/thermoCloud.C $(BASECLOUDS)/reactingCloud/reactingCloud.C $(BASECLOUDS)/reactingMultiphaseCloud/reactingMultiphaseCloud.C +$(BASECLOUDS)/reactingHeterogeneousCloud/reactingHeterogeneousCloud.C /* kinematic parcel sub-models */ @@ -44,6 +45,12 @@ $(REACTINGMPPARCEL)/defineBasicReactingMultiphaseParcel.C $(REACTINGMPPARCEL)/makeBasicReactingMultiphaseParcelSubmodels.C +/* heterogeous reacting parcel sub-models */ +REACTINGHETERMPPARCEL=$(DERIVEDPARCELS)/basicHeterogeneousReactingParcel +$(REACTINGHETERMPPARCEL)/defineBasicHeterogeneousReactingParcel.C +$(REACTINGHETERMPPARCEL)/makeBasicHeterogeneousReactingParcelSubmodels.C + + /* kinematic MPPIC parcel sub-models */ KINEMATICMPPICPARCEL=$(DERIVEDPARCELS)/basicKinematicMPPICParcel $(KINEMATICMPPICPARCEL)/defineBasicKinematicMPPICParcel.C diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index 3c36b4b3e4..f5e5d96739 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -757,23 +757,29 @@ void Foam::KinematicCloud::autoMap(const mapPolyMesh& mapper) template void Foam::KinematicCloud::info() { - vector linearMomentum = linearMomentumOfSystem(); - reduce(linearMomentum, sumOp()); + const vector linearMomentum = + returnReduce(linearMomentumOfSystem(), sumOp()); - scalar linearKineticEnergy = linearKineticEnergyOfSystem(); - reduce(linearKineticEnergy, sumOp()); + const scalar linearKineticEnergy = + returnReduce(linearKineticEnergyOfSystem(), sumOp()); + + const label nTotParcel = returnReduce(this->size(), sumOp