From cfbb389fd3eafa0c901ae151741868379b9c1c2b Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Tue, 13 Aug 2019 08:39:06 +0100 Subject: [PATCH] reactingEulerFoam: populationBalanceModel: Added fractal shape modelling support This change adds representation of the shape of a dispersed phase. A layer has been added to model the relationship between the characteristic volume of a sizeGroup and its physical diameter. Previously this relationship was represented by a constant form factor. Currently, two shape models are available: - spherical - fractal (for modelling fractal agglomerates) The latter introduces the average surface area to volume ratio, kappa, of the entities in a size group as a secondary field-dependent internal variable to the population balance equation, which makes the population balance approach "quasi-"bivariate. From kappa and a constant mass fractal dimension, a collisional diameter can be derived which affects the coagulation rates computed by the following models: - ballisticCollisions - brownianCollisions - DahnekeInterpolation - turbulentShear The fractal shape modelling also takes into account the effect of sintering of primary particles on the surface area of the aggregate. Further additions/changes: - Time scale filtering for handling large drag and heat transfer coefficients occurring for particles in the nanometre range - Aerosol drag model based on Stokes drag with a Knudsen number based correction (Cunningham correction) - Reaction driven nucleation - A complete redesign of the sizeDistribution functionObject The functionality is demonstrated by a tutorial case simulating the vapour phase synthesis of titania by titanium tetrachloride oxidation. Patch contributed by Institute of Fluid Dynamics, Helmholtz-Zentrum Dresden - Rossendorf (HZDR) and VTT Technical Research Centre of Finland Ltd. --- .../functionObjects/Make/options | 2 + .../sizeDistribution/sizeDistribution.C | 812 ++++++++---------- .../sizeDistribution/sizeDistribution.H | 255 +++--- .../interfacialModels/Make/files | 3 + .../dragModels/aerosolDrag/aerosolDrag.C | 94 ++ .../dragModels/aerosolDrag/aerosolDrag.H | 112 +++ .../timeScaleFilteredDrag.C | 87 ++ .../timeScaleFilteredDrag.H | 106 +++ .../timeScaleFilteredHeatTransfer.C | 92 ++ .../timeScaleFilteredHeatTransfer.H | 106 +++ .../reactingEulerFoam/phaseSystems/Make/files | 73 +- .../PopulationBalancePhaseSystem.C | 264 ++++-- .../PopulationBalancePhaseSystem.H | 9 +- .../SecondaryPropertyModel.C | 169 ++++ .../SecondaryPropertyModel.H | 183 ++++ .../sizeGroup/shapeModels/fractal/fractal.C | 336 ++++++++ .../sizeGroup/shapeModels/fractal/fractal.H | 204 +++++ .../KochFriedlander/KochFriedlander.C | 136 +++ .../KochFriedlander/KochFriedlander.H | 140 +++ .../sinteringModels/noSintering/noSintering.C | 89 ++ .../sinteringModels/noSintering/noSintering.H | 96 +++ .../sinteringModel/sinteringModel.C | 90 ++ .../sinteringModel/sinteringModel.H | 129 +++ .../shapeModels/shapeModel/shapeModel.C | 138 +++ .../shapeModels/shapeModel/shapeModel.H | 184 ++++ .../shapeModels/spherical/spherical.C | 98 +++ .../shapeModels/spherical/spherical.H | 97 +++ .../velocityGroup/sizeGroup/sizeGroup.C | 59 +- .../velocityGroup/sizeGroup/sizeGroup.H | 66 +- .../velocityGroup/sizeGroup/sizeGroupI.H | 25 +- .../velocityGroup/velocityGroup.C | 28 +- .../velocityGroup/velocityGroup.H | 26 +- .../velocityGroup/velocityGroupI.H | 7 - .../LehrMilliesMewes/LehrMilliesMewes.C | 10 +- .../LuoSvendsen/LuoSvendsen.C | 6 +- .../binaryBreakupModel/binaryBreakupModel.H | 4 +- .../LaakkonenAlopaeusAittamaa.C | 4 +- .../breakupModels/breakupModel/breakupModel.H | 4 +- .../DahnekeInterpolation.C | 115 +++ .../DahnekeInterpolation.H | 124 +++ .../LehrMilliesMewesCoalescence.C | 4 +- .../coalescenceModels/Luo/Luo.C | 8 +- .../PrinceBlanch/PrinceBlanch.C | 15 +- .../ballisticCollisions/ballisticCollisions.C | 87 ++ .../ballisticCollisions/ballisticCollisions.H | 99 +++ .../brownianCollisions/brownianCollisions.C | 87 ++ .../brownianCollisions/brownianCollisions.H | 99 +++ .../coalescenceModel/coalescenceModel.H | 4 +- .../hydrodynamic/hydrodynamic.C | 4 +- .../turbulentShear/turbulentShear.C | 86 ++ .../turbulentShear/turbulentShear.H | 105 +++ .../daughterSizeDistributionModel.H | 2 +- .../driftModels/driftModel/driftModel.C | 5 +- .../driftModels/driftModel/driftModel.H | 13 +- .../driftModels/phaseChange/phaseChange.C | 13 +- .../constantNucleation/constantNucleation.C | 34 +- .../constantNucleation/constantNucleation.H | 7 +- .../nucleationModel/nucleationModel.C | 5 +- .../nucleationModel/nucleationModel.H | 42 +- .../reactionDriven/reactionDriven.C | 211 +++++ .../reactionDriven/reactionDriven.H | 154 ++++ .../wallBoiling/wallBoiling.C | 18 +- .../populationBalanceModel.C | 173 +++- .../populationBalanceModel.H | 65 +- .../populationBalanceModelI.H | 44 +- .../reactionThermo/hRefConstThermos.C | 25 +- bin/tools/RunFunctions | 29 +- .../README | 0 .../binaryBreakup/0/T.air1 | 0 .../binaryBreakup/0/T.air2 | 0 .../binaryBreakup/0/T.air3 | 0 .../binaryBreakup/0/T.water | 0 .../binaryBreakup/0/U.air1 | 0 .../binaryBreakup/0/U.air2 | 0 .../binaryBreakup/0/U.air3 | 0 .../binaryBreakup/0/U.water | 0 .../binaryBreakup/0/alpha.air1 | 0 .../binaryBreakup/0/alpha.air2 | 0 .../binaryBreakup/0/alpha.air3 | 0 .../binaryBreakup/0/alpha.water | 0 .../binaryBreakup/0/f.air1.bubbles | 0 .../binaryBreakup/0/f.air2.bubbles | 0 .../binaryBreakup/0/f.air3.bubbles | 0 .../binaryBreakup/0/p | 0 .../binaryBreakup/0/p_rgh | 0 .../binaryBreakup/Allrun | 6 - .../binaryBreakup/constant/g | 0 .../binaryBreakup/constant/phaseProperties | 70 +- .../constant/thermophysicalProperties.air1 | 0 .../constant/thermophysicalProperties.air2 | 0 .../constant/thermophysicalProperties.air3 | 0 .../constant/thermophysicalProperties.water | 0 .../constant/turbulenceProperties.air1 | 0 .../constant/turbulenceProperties.air2 | 0 .../constant/turbulenceProperties.air3 | 0 .../constant/turbulenceProperties.water | 0 .../binaryBreakup/system/blockMeshDict | 0 .../binaryBreakup}/system/controlDict | 7 +- .../binaryBreakup/system/fvSchemes | 0 .../binaryBreakup/system/fvSolution | 0 .../binaryBreakup}/validation/createGraphs | 8 +- .../breakup/0/T.air1 | 0 .../breakup/0/T.air2 | 0 .../breakup/0/T.air3 | 0 .../breakup/0/T.water | 0 .../breakup/0/U.air1 | 0 .../breakup/0/U.air2 | 0 .../breakup/0/U.air3 | 0 .../breakup/0/U.water | 0 .../breakup/0/alpha.air1 | 0 .../breakup/0/alpha.air2 | 0 .../breakup/0/alpha.air3 | 0 .../breakup/0/alpha.water | 0 .../breakup/0/f.air1.bubbles | 0 .../breakup/0/f.air2.bubbles | 0 .../breakup/0/f.air3.bubbles | 0 .../breakup/0/p | 0 .../breakup/0/p_rgh | 0 .../breakup/Allrun | 6 - .../breakup/constant/g | 0 .../breakup/constant/phaseProperties | 70 +- .../constant/thermophysicalProperties.air1 | 0 .../constant/thermophysicalProperties.air2 | 0 .../constant/thermophysicalProperties.air3 | 0 .../constant/thermophysicalProperties.water | 0 .../constant/turbulenceProperties.air1 | 0 .../constant/turbulenceProperties.air2 | 0 .../constant/turbulenceProperties.air3 | 0 .../constant/turbulenceProperties.water | 0 .../breakup/system/blockMeshDict | 0 .../breakup}/system/controlDict | 7 +- .../breakup/system/fvSchemes | 0 .../breakup/system/fvSolution | 0 .../breakup}/validation/createGraphs | 8 +- .../coalescence/0/T.air1 | 0 .../coalescence/0/T.air2 | 0 .../coalescence/0/T.air3 | 0 .../coalescence/0/T.water | 0 .../coalescence/0/U.air1 | 0 .../coalescence/0/U.air2 | 0 .../coalescence/0/U.air3 | 0 .../coalescence/0/U.water | 0 .../coalescence/0/alpha.air1 | 0 .../coalescence/0/alpha.air2 | 0 .../coalescence/0/alpha.air3 | 0 .../coalescence/0/alpha.water | 0 .../coalescence/0/f.air1.bubbles | 0 .../coalescence/0/f.air2.bubbles | 0 .../coalescence/0/f.air3.bubbles | 0 .../coalescence/0/p | 0 .../coalescence/0/p_rgh | 0 .../coalescence/Allrun | 6 - .../coalescence/constant/g | 0 .../coalescence/constant/phaseProperties | 233 +++++ .../constant/thermophysicalProperties.air1 | 0 .../constant/thermophysicalProperties.air2 | 0 .../constant/thermophysicalProperties.air3 | 0 .../constant/thermophysicalProperties.water | 0 .../constant/turbulenceProperties.air1 | 0 .../constant/turbulenceProperties.air2 | 0 .../constant/turbulenceProperties.air3 | 0 .../constant/turbulenceProperties.water | 0 .../coalescence/system/blockMeshDict | 0 .../coalescence/system/controlDict | 7 +- .../coalescence/system/fvSchemes | 0 .../coalescence/system/fvSolution | 0 .../coalescence/validation/createGraphs | 8 +- .../0/T.air1 | 0 .../0/T.air2 | 0 .../0/T.air3 | 0 .../0/T.water | 0 .../0/U.air1 | 0 .../0/U.air2 | 0 .../0/U.air3 | 0 .../0/U.water | 0 .../0/alpha.air1 | 0 .../0/alpha.air2 | 0 .../0/alpha.air3 | 0 .../0/alpha.water | 0 .../0/f.air1.bubbles | 0 .../0/f.air2.bubbles | 0 .../0/f.air3.bubbles | 0 .../simultaneousCoalescenceAndBreakup/0/p | 0 .../simultaneousCoalescenceAndBreakup/0/p_rgh | 0 .../simultaneousCoalescenceAndBreakup}/Allrun | 6 - .../constant/g | 0 .../constant/phaseProperties | 74 +- .../constant/thermophysicalProperties.air1 | 0 .../constant/thermophysicalProperties.air2 | 0 .../constant/thermophysicalProperties.air3 | 0 .../constant/thermophysicalProperties.water | 0 .../constant/turbulenceProperties.air1 | 0 .../constant/turbulenceProperties.air2 | 0 .../constant/turbulenceProperties.air3 | 0 .../constant/turbulenceProperties.water | 0 .../system/blockMeshDict | 0 .../system/controlDict | 18 +- .../system/fvSchemes | 0 .../system/fvSolution | 0 .../validation/createGraphs | 22 +- .../coalescence/constant/phaseProperties | 232 ----- .../simultaneousCoalescenceAndBreakup/Allrun | 25 - .../README | 0 .../drift/0/T.air | 0 .../drift/0/T.water | 0 .../drift/0/U.air | 0 .../drift/0/U.water | 0 .../drift/0/alpha.air | 0 .../drift/0/f.air.bubbles | 0 .../drift/0/p | 0 .../drift/0/p_rgh | 0 .../populationBalance/drift/Allrun | 15 + .../drift/constant/fvOptions | 15 +- .../drift/constant/g | 0 .../drift}/constant/phaseProperties | 72 +- .../constant/thermophysicalProperties.air | 0 .../constant/thermophysicalProperties.water | 0 .../drift/constant/turbulenceProperties.air | 0 .../drift/constant/turbulenceProperties.water | 0 .../drift/system/blockMeshDict | 0 .../drift/system/controlDict | 15 +- .../drift/system/fvSchemes | 0 .../drift/system/fvSolution | 7 +- .../drift/validation/createGraphs | 2 +- .../negativeDrift/0/T.air | 0 .../negativeDrift/0/T.water | 0 .../negativeDrift/0/U.air | 0 .../negativeDrift/0/U.water | 0 .../negativeDrift/0/alpha.air | 0 .../negativeDrift/0/f.air.bubbles | 0 .../negativeDrift/0/p | 0 .../negativeDrift/0/p_rgh | 0 .../populationBalance/negativeDrift/Allrun | 15 + .../negativeDrift/constant/fvOptions | 11 +- .../negativeDrift/constant/g | 0 .../negativeDrift/constant/phaseProperties | 147 ++++ .../constant/thermophysicalProperties.air | 0 .../constant/thermophysicalProperties.water | 0 .../constant/turbulenceProperties.air | 0 .../constant/turbulenceProperties.water | 0 .../negativeDrift/system/blockMeshDict | 0 .../negativeDrift/system/controlDict | 19 +- .../negativeDrift/system/fvSchemes | 0 .../negativeDrift/system/fvSolution | 7 +- .../negativeDrift/validation/createGraphs | 2 +- .../titaniaSynthesis/0/Ar.vapor.orig | 26 + .../titaniaSynthesis/0/Cl2.vapor.orig | 26 + .../titaniaSynthesis/0/N2.vapor.orig | 26 + .../titaniaSynthesis/0/O2.vapor.orig | 26 + .../titaniaSynthesis/0/T.particles | 25 + .../titaniaSynthesis/0/T.vapor | 25 + .../titaniaSynthesis/0/TiCl4.vapor.orig | 26 + .../titaniaSynthesis/0/TiO2.particles.orig | 26 + .../titaniaSynthesis/0/TiO2.vapor.orig | 26 + .../titaniaSynthesis/0/U.particles | 25 + .../titaniaSynthesis/0/U.vapor | 25 + .../titaniaSynthesis/0/alpha.particles.orig | 25 + .../titaniaSynthesis/0/alpha.vapor.orig | 25 + .../titaniaSynthesis/0/f.particles.aggregates | 26 + .../populationBalance/titaniaSynthesis/0/p | 25 + .../titaniaSynthesis/0/p_rgh | 25 + .../populationBalance/titaniaSynthesis/Allrun | 15 + .../constant/chemistryProperties.vapor | 42 + .../constant/combustionProperties.vapor | 21 + .../titaniaSynthesis/constant/g | 23 + .../titaniaSynthesis/constant/phaseProperties | 191 ++++ .../titaniaSynthesis/constant/reactions.vapor | 39 + .../titaniaSynthesis/constant/thermo.vapor | 156 ++++ .../thermophysicalProperties.particles | 59 ++ .../constant/thermophysicalProperties.vapor | 34 + .../constant/turbulenceProperties.particles | 21 + .../constant/turbulenceProperties.vapor | 21 + .../titaniaSynthesis/system/blockMeshDict | 48 ++ .../titaniaSynthesis/system/controlDict | 79 ++ .../titaniaSynthesis/system/fvSchemes | 66 ++ .../titaniaSynthesis/system/fvSolution | 99 +++ .../titaniaSynthesis/system/probes | 28 + .../titaniaSynthesis/validation/createGraphs | 49 ++ .../drift/constant/phaseProperties | 163 ---- .../negativeDrift/Allrun | 21 - .../constant/phaseProperties | 58 +- .../system/controlDict.orig | 24 +- .../constant/phaseProperties | 48 +- .../system/controlDict | 17 +- .../system/fvSolution | 1 + .../constant/phaseProperties | 46 +- .../system/controlDict | 16 +- .../system/fvSolution | 1 + .../constant/phaseProperties | 56 +- .../system/controlDict.orig | 24 +- .../laminar/titaniaSynthesis/0/Ar.vapor.orig | 43 + .../laminar/titaniaSynthesis/0/Cl2.vapor.orig | 43 + .../laminar/titaniaSynthesis/0/N2.vapor.orig | 43 + .../laminar/titaniaSynthesis/0/O2.vapor.orig | 43 + .../laminar/titaniaSynthesis/0/T.particles | 57 ++ .../laminar/titaniaSynthesis/0/T.vapor | 57 ++ .../titaniaSynthesis/0/TiCl4.vapor.orig | 43 + .../titaniaSynthesis/0/TiO2.particles.orig | 43 + .../titaniaSynthesis/0/TiO2.vapor.orig | 43 + .../laminar/titaniaSynthesis/0/U.particles | 41 + .../laminar/titaniaSynthesis/0/U.vapor | 44 + .../titaniaSynthesis/0/alpha.particles.orig | 42 + .../titaniaSynthesis/0/alpha.vapor.orig | 42 + .../titaniaSynthesis/0/f.particles.aggregates | 43 + .../laminar/titaniaSynthesis/0/p | 44 + .../laminar/titaniaSynthesis/0/p_rgh | 47 + .../laminar/titaniaSynthesis/Allrun | 17 + .../constant/chemistryProperties.vapor | 42 + .../constant/combustionProperties.vapor | 21 + .../laminar/titaniaSynthesis/constant/g | 23 + .../titaniaSynthesis/constant/phaseProperties | 207 +++++ .../titaniaSynthesis/constant/reactions.vapor | 39 + .../titaniaSynthesis/constant/thermo.vapor | 156 ++++ .../thermophysicalProperties.particles | 59 ++ .../constant/thermophysicalProperties.vapor | 34 + .../constant/turbulenceProperties.particles | 21 + .../constant/turbulenceProperties.vapor | 21 + .../titaniaSynthesis/system/blockMeshDict.m4 | 136 +++ .../titaniaSynthesis/system/controlDict | 80 ++ .../laminar/titaniaSynthesis/system/fvSchemes | 66 ++ .../titaniaSynthesis/system/fvSolution | 97 +++ .../titaniaSynthesis/system/singleGraph | 37 + .../titaniaSynthesis/system/topoSetDict | 44 + .../titaniaSynthesis/validation/createGraphs | 49 ++ .../validation/exptData/wallTemperature | 49 ++ 325 files changed, 9239 insertions(+), 1711 deletions(-) create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/aerosolDrag/aerosolDrag.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/aerosolDrag/aerosolDrag.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/timeScaleFilteredDrag/timeScaleFilteredDrag.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/timeScaleFilteredDrag/timeScaleFilteredDrag.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/timeScaleFilteredHeatTransfer/timeScaleFilteredHeatTransfer.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/timeScaleFilteredHeatTransfer/timeScaleFilteredHeatTransfer.H mode change 100644 => 100755 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/PopulationBalancePhaseSystem/PopulationBalancePhaseSystem.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/SecondaryPropertyModel/SecondaryPropertyModel.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/SecondaryPropertyModel/SecondaryPropertyModel.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/fractal.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/fractal.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/KochFriedlander/KochFriedlander.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/KochFriedlander/KochFriedlander.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/noSintering/noSintering.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/noSintering/noSintering.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/sinteringModel/sinteringModel.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/fractal/sinteringModels/sinteringModel/sinteringModel.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/shapeModel/shapeModel.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/shapeModel/shapeModel.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/spherical/spherical.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/velocityGroup/sizeGroup/shapeModels/spherical/spherical.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/DahnekeInterpolation/DahnekeInterpolation.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/DahnekeInterpolation/DahnekeInterpolation.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/ballisticCollisions/ballisticCollisions.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/ballisticCollisions/ballisticCollisions.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/brownianCollisions/brownianCollisions.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/brownianCollisions/brownianCollisions.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.H create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/nucleationModels/reactionDriven/reactionDriven.C create mode 100644 applications/solvers/multiphase/reactingEulerFoam/phaseSystems/populationBalanceModel/nucleationModels/reactionDriven/reactionDriven.H rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/README (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/T.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/T.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/T.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/T.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/U.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/U.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/U.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/U.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/alpha.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/alpha.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/alpha.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/alpha.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/f.air1.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/f.air2.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/f.air3.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/p (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/0/p_rgh (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/Allrun (63%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/g (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/phaseProperties (57%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/thermophysicalProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/thermophysicalProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/thermophysicalProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/turbulenceProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/turbulenceProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/turbulenceProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/system/blockMeshDict (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling/breakup => populationBalance/binaryBreakup}/system/controlDict (90%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/system/fvSchemes (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/binaryBreakup/system/fvSolution (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling/breakup => populationBalance/binaryBreakup}/validation/createGraphs (76%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/T.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/T.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/T.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/T.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/U.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/U.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/U.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/U.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/alpha.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/alpha.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/alpha.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/alpha.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/f.air1.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/f.air2.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/f.air3.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/p (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/0/p_rgh (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/Allrun (63%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/g (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/phaseProperties (57%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/thermophysicalProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/thermophysicalProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/thermophysicalProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/turbulenceProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/turbulenceProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/turbulenceProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/system/blockMeshDict (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling/binaryBreakup => populationBalance/breakup}/system/controlDict (90%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/system/fvSchemes (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/breakup/system/fvSolution (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling/binaryBreakup => populationBalance/breakup}/validation/createGraphs (76%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/T.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/T.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/T.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/T.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/U.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/U.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/U.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/U.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/alpha.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/alpha.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/alpha.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/alpha.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/f.air1.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/f.air2.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/f.air3.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/p (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/0/p_rgh (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/Allrun (63%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/g (100%) create mode 100644 test/multiphase/reactingMultiphaseEulerFoam/populationBalance/coalescence/constant/phaseProperties rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/thermophysicalProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/thermophysicalProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/thermophysicalProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/turbulenceProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/turbulenceProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/turbulenceProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/system/blockMeshDict (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/system/controlDict (90%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/system/fvSchemes (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/system/fvSolution (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/coalescence/validation/createGraphs (83%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/T.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/T.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/T.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/T.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/U.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/U.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/U.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/U.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/alpha.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/alpha.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/alpha.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/alpha.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/f.air1.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/f.air2.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/f.air3.bubbles (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/p (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/0/p_rgh (100%) rename test/multiphase/{reactingTwoPhaseEulerFoam/populationBalanceModeling/drift => reactingMultiphaseEulerFoam/populationBalance/simultaneousCoalescenceAndBreakup}/Allrun (63%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/g (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/phaseProperties (57%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/thermophysicalProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/thermophysicalProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/thermophysicalProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/turbulenceProperties.air1 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/turbulenceProperties.air2 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/turbulenceProperties.air3 (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/system/blockMeshDict (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/system/controlDict (82%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/system/fvSchemes (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/system/fvSolution (100%) rename test/multiphase/reactingMultiphaseEulerFoam/{populationBalanceModeling => populationBalance}/simultaneousCoalescenceAndBreakup/validation/createGraphs (65%) delete mode 100644 test/multiphase/reactingMultiphaseEulerFoam/populationBalanceModeling/coalescence/constant/phaseProperties delete mode 100755 test/multiphase/reactingMultiphaseEulerFoam/populationBalanceModeling/simultaneousCoalescenceAndBreakup/Allrun rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/README (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/T.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/T.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/U.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/U.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/alpha.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/f.air.bubbles (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/p (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/0/p_rgh (100%) create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/drift/Allrun rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/fvOptions (83%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/g (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling/negativeDrift => populationBalance/drift}/constant/phaseProperties (52%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/thermophysicalProperties.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/turbulenceProperties.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/system/blockMeshDict (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/system/controlDict (85%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/system/fvSchemes (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/system/fvSolution (95%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/drift/validation/createGraphs (94%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/T.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/T.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/U.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/U.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/alpha.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/f.air.bubbles (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/p (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/0/p_rgh (100%) create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/negativeDrift/Allrun rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/fvOptions (90%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/g (100%) create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/negativeDrift/constant/phaseProperties rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/thermophysicalProperties.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/thermophysicalProperties.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/turbulenceProperties.air (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/constant/turbulenceProperties.water (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/system/blockMeshDict (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/system/controlDict (83%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/system/fvSchemes (100%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/system/fvSolution (95%) rename test/multiphase/reactingTwoPhaseEulerFoam/{populationBalanceModeling => populationBalance}/negativeDrift/validation/createGraphs (94%) create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/Ar.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/Cl2.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/N2.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/O2.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/T.particles create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/T.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/TiCl4.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/TiO2.particles.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/TiO2.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/U.particles create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/U.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/alpha.particles.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/alpha.vapor.orig create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/f.particles.aggregates create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/p create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/0/p_rgh create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/Allrun create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/chemistryProperties.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/combustionProperties.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/g create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/phaseProperties create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/reactions.vapor create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/thermo.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/thermophysicalProperties.particles create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/thermophysicalProperties.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/turbulenceProperties.particles create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/constant/turbulenceProperties.vapor create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/system/blockMeshDict create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/system/controlDict create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/system/fvSchemes create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/system/fvSolution create mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/system/probes create mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalance/titaniaSynthesis/validation/createGraphs delete mode 100644 test/multiphase/reactingTwoPhaseEulerFoam/populationBalanceModeling/drift/constant/phaseProperties delete mode 100755 test/multiphase/reactingTwoPhaseEulerFoam/populationBalanceModeling/negativeDrift/Allrun create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/Ar.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/Cl2.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/N2.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/O2.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/T.particles create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/T.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/TiCl4.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/TiO2.particles.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/TiO2.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/U.particles create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/U.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/alpha.particles.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/alpha.vapor.orig create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/f.particles.aggregates create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/p create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/0/p_rgh create mode 100755 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/Allrun create mode 100755 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/chemistryProperties.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/combustionProperties.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/g create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/phaseProperties create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/reactions.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/thermo.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/thermophysicalProperties.particles create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/thermophysicalProperties.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/turbulenceProperties.particles create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/constant/turbulenceProperties.vapor create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/blockMeshDict.m4 create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/controlDict create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/fvSchemes create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/fvSolution create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/singleGraph create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/system/topoSetDict create mode 100755 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/validation/createGraphs create mode 100644 tutorials/multiphase/reactingTwoPhaseEulerFoam/laminar/titaniaSynthesis/validation/exptData/wallTemperature diff --git a/applications/solvers/multiphase/reactingEulerFoam/functionObjects/Make/options b/applications/solvers/multiphase/reactingEulerFoam/functionObjects/Make/options index e635320449..327b3354f8 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/functionObjects/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/functionObjects/Make/options @@ -3,9 +3,11 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/functionObjects/field/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I../interfacialModels/lnInclude \ -I../phaseSystems/lnInclude LIB_LIBS = \ -lfieldFunctionObjects \ + -lfileFormats \ -lfiniteVolume diff --git a/applications/solvers/multiphase/reactingEulerFoam/functionObjects/sizeDistribution/sizeDistribution.C b/applications/solvers/multiphase/reactingEulerFoam/functionObjects/sizeDistribution/sizeDistribution.C index 579879ca11..cdc2505807 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/functionObjects/sizeDistribution/sizeDistribution.C +++ b/applications/solvers/multiphase/reactingEulerFoam/functionObjects/sizeDistribution/sizeDistribution.C @@ -24,8 +24,10 @@ License \*---------------------------------------------------------------------------*/ #include "sizeDistribution.H" -#include "sizeGroup.H" +#include "Time.H" +#include "fvMesh.H" #include "addToRunTimeSelectionTable.H" +#include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -42,205 +44,259 @@ template<> const char* Foam::NamedEnum < - Foam::functionObjects::sizeDistribution::selectionModeTypes, - 2 ->::names[] = {"cellZone", "all"}; - -template<> -const char* -Foam::NamedEnum -< - Foam::functionObjects::sizeDistribution::functionTypes, + Foam::functionObjects::sizeDistribution::functionType, 4 >::names[] = - { - "numberDensity", - "volumeDensity", - "numberConcentration", - "moments" - }; - -template<> -const char* -Foam::NamedEnum -< - Foam::functionObjects::sizeDistribution::abszissaTypes, - 2 ->::names[] = {"diameter", "volume"}; +{ + "moments", + "standardDeviation", + "number", + "volume" +}; const Foam::NamedEnum < - Foam::functionObjects::sizeDistribution::selectionModeTypes, - 2 -> Foam::functionObjects::sizeDistribution::selectionModeTypeNames_; - -const Foam::NamedEnum -< - Foam::functionObjects::sizeDistribution::functionTypes, + Foam::functionObjects::sizeDistribution::functionType, 4 > Foam::functionObjects::sizeDistribution::functionTypeNames_; +template<> +const char* +Foam::NamedEnum +< + Foam::functionObjects::sizeDistribution::coordinateType, + 4 +>::names[] = +{ + "volume", + "area", + "diameter", + "projectedAreaDiameter" +}; + const Foam::NamedEnum < - Foam::functionObjects::sizeDistribution::abszissaTypes, - 2 -> Foam::functionObjects::sizeDistribution::abszissaTypeNames_; + Foam::functionObjects::sizeDistribution::coordinateType, + 4 +> Foam::functionObjects::sizeDistribution::coordinateTypeNames_; + +using Foam::constant::mathematical::pi; // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -void Foam::functionObjects::sizeDistribution::initialise -( - const dictionary& dict -) -{ - switch (functionType_) - { - case ftNdf: - { - break; - } - - case ftVdf: - { - break; - } - - case ftNc: - { - break; - } - - case ftMom: - { - break; - } - - default: - { - FatalIOErrorInFunction(dict) - << "Unknown functionType. Valid types are:" - << functionTypeNames_ << nl << exit(FatalIOError); - } - } - - switch (abszissaType_) - { - case atDiameter: - { - break; - } - - case atVolume: - { - break; - } - - default: - { - FatalIOErrorInFunction(dict) - << "Unknown abszissaType. Valid types are:" - << abszissaTypeNames_ << nl << exit(FatalIOError); - } - } - - setCellZoneCells(); - - if (nCells_ == 0) - { - FatalIOErrorInFunction(dict) - << type() << " " << name() << ": " - << selectionModeTypeNames_[selectionModeType_] - << "(" << selectionModeTypeName_ << "):" << nl - << " Selection has no cells" << exit(FatalIOError); - } - - volume_ = volume(); - - Info<< type() << " " << name() << ":" - << selectionModeTypeNames_[selectionModeType_] - << "(" << selectionModeTypeName_ << "):" << nl - << " total cells = " << nCells_ << nl - << " total volume = " << volume_ - << nl << endl; -} - - -void Foam::functionObjects::sizeDistribution::setCellZoneCells() -{ - switch (selectionModeType_) - { - case rtCellZone: - { - dict().lookup("cellZone") >> selectionModeTypeName_; - - label zoneId = - mesh().cellZones().findZoneID(selectionModeTypeName_); - - if (zoneId < 0) - { - FatalIOErrorInFunction(dict_) - << "Unknown cellZone name: " << selectionModeTypeName_ - << ". Valid cellZone names are: " - << mesh().cellZones().names() - << nl << exit(FatalIOError); - } - - cellId_ = mesh().cellZones()[zoneId]; - nCells_ = returnReduce(cellId_.size(), sumOp