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