Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -53,7 +53,7 @@ inline void Foam::phaseSurfaceArrheniusReactionRate::preEvaluate() const
|
||||
const phaseModel& phase =
|
||||
ob_.lookupObject<phaseModel>(IOobject::groupName("alpha", phaseName_));
|
||||
|
||||
tAv_ = phase.dPtr()->Av();
|
||||
tAv_ = phase.diameter().Av();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -345,7 +345,7 @@ Foam::heatTransferModels::wallBoilingHeatTransfer::K
|
||||
min(pi*sqr(dDep_)*nucleationSiteDensity_*Al/4, scalar(5))
|
||||
);
|
||||
|
||||
const volScalarField Av(solid.dPtr()->Av());
|
||||
const volScalarField Av(solid.diameter().Av());
|
||||
|
||||
// Volumetric mass source in due to the wall boiling and bulk nucleation
|
||||
dmdtf_ =
|
||||
|
||||
@ -31,11 +31,10 @@ License
|
||||
template<class ModelType>
|
||||
Foam::diameterModels::SecondaryPropertyModel<ModelType>::SecondaryPropertyModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
)
|
||||
:
|
||||
ModelType(dict, group),
|
||||
ModelType(group),
|
||||
regIOobject
|
||||
(
|
||||
IOobject
|
||||
@ -45,7 +44,7 @@ Foam::diameterModels::SecondaryPropertyModel<ModelType>::SecondaryPropertyModel
|
||||
group.mesh()
|
||||
)
|
||||
),
|
||||
sizeGroup_(group),
|
||||
group_(group),
|
||||
SecondaryPropertyModelTable_()
|
||||
{}
|
||||
|
||||
@ -60,6 +59,14 @@ Foam::diameterModels::SecondaryPropertyModel<ModelType>::
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
template<class ModelType>
|
||||
const Foam::diameterModels::sizeGroup&
|
||||
Foam::diameterModels::SecondaryPropertyModel<ModelType>::group() const
|
||||
{
|
||||
return group_;
|
||||
}
|
||||
|
||||
|
||||
template<class ModelType>
|
||||
const typename Foam::diameterModels::SecondaryPropertyModel<ModelType>::SpTable&
|
||||
Foam::diameterModels::SecondaryPropertyModel<ModelType>::
|
||||
@ -68,7 +75,7 @@ SecondaryPropertyModelTable()
|
||||
if (SecondaryPropertyModelTable_.empty())
|
||||
{
|
||||
SecondaryPropertyModelTable_ =
|
||||
sizeGroup_.mesh().template lookupClass
|
||||
group_.mesh().template lookupClass
|
||||
<
|
||||
SecondaryPropertyModel<ModelType>
|
||||
>();
|
||||
|
||||
@ -70,10 +70,11 @@ protected:
|
||||
|
||||
using SpTable = HashTable<const SecondaryPropertyModel<ModelType>*>;
|
||||
|
||||
|
||||
// Protected Data
|
||||
|
||||
//- Reference to sizeGroup
|
||||
const sizeGroup& sizeGroup_;
|
||||
const sizeGroup& group_;
|
||||
|
||||
//- Table with pointers to all secondary properties of ModelType
|
||||
// available in the registry
|
||||
@ -84,12 +85,8 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary and sizeGroup
|
||||
SecondaryPropertyModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
);
|
||||
//- Construct from sizeGroup
|
||||
SecondaryPropertyModel(const sizeGroup& group);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
SecondaryPropertyModel
|
||||
@ -106,6 +103,9 @@ public:
|
||||
|
||||
// Access
|
||||
|
||||
//- Access the sizeGroup
|
||||
const sizeGroup& group() const;
|
||||
|
||||
//- Return table with pointers to all secondary properties of
|
||||
// ModelType available in the registry
|
||||
const SpTable& SecondaryPropertyModelTable();
|
||||
@ -120,6 +120,7 @@ public:
|
||||
//- Access to secondary property source
|
||||
virtual volScalarField& src() = 0;
|
||||
|
||||
|
||||
// Edit
|
||||
|
||||
//- Add coalescence contribution to secondary property source
|
||||
@ -156,6 +157,7 @@ public:
|
||||
//- Reset secondary property source
|
||||
virtual void reset();
|
||||
|
||||
|
||||
// Write
|
||||
|
||||
//- Dummy write for regIOobject
|
||||
|
||||
@ -31,6 +31,8 @@ License
|
||||
#include "fvmSup.H"
|
||||
#include "mixedFvPatchField.H"
|
||||
|
||||
using Foam::constant::mathematical::pi;
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
@ -60,7 +62,29 @@ const Foam::NamedEnum
|
||||
> Foam::diameterModels::shapeModels::fractal::sgTypeNames_;
|
||||
|
||||
|
||||
using Foam::constant::mathematical::pi;
|
||||
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::diameterModels::shapeModels::fractal::dColl() const
|
||||
{
|
||||
tmp<volScalarField> tDColl
|
||||
(
|
||||
volScalarField::New
|
||||
(
|
||||
"dColl",
|
||||
group().mesh(),
|
||||
dimensionedScalar(dimLength, Zero)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField& dColl = tDColl.ref();
|
||||
|
||||
dColl =
|
||||
6/kappa_
|
||||
*pow(group().x()*pow3(kappa_)/(36*pi*alphaC_), 1/Df_);
|
||||
|
||||
return tDColl;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
@ -68,31 +92,18 @@ using Foam::constant::mathematical::pi;
|
||||
Foam::diameterModels::shapeModels::fractal::fractal
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
)
|
||||
:
|
||||
SecondaryPropertyModel<shapeModel>(dict, group),
|
||||
SecondaryPropertyModel<shapeModel>(group),
|
||||
kappa_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"kappa" + group.name().substr(1),
|
||||
group.mesh().time().name(),
|
||||
group.mesh(),
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
group.mesh(),
|
||||
dimensionedScalar
|
||||
(
|
||||
"kappa",
|
||||
inv(dimLength),
|
||||
group.dict()
|
||||
),
|
||||
group.VelocityGroup().f().boundaryField().types()
|
||||
sizeGroup::fieldIo("kappa", group.i(), group.group()),
|
||||
sizeGroup::field("kappa", group.i(), group.group())
|
||||
),
|
||||
Df_("Df", dimless, group.dict()),
|
||||
alphaC_("alphaC", dimless, group.dict()),
|
||||
Df_("Df", dimless, groupDict),
|
||||
alphaC_("alphaC", dimless, groupDict),
|
||||
dColl_
|
||||
(
|
||||
IOobject
|
||||
@ -113,30 +124,22 @@ Foam::diameterModels::shapeModels::fractal::fractal
|
||||
),
|
||||
group.mesh(),
|
||||
dimensionedScalar(kappa_.dimensions()/dimTime, Zero)
|
||||
)
|
||||
),
|
||||
sinteringModel_(sinteringModel::New(dict.subDict(type() + "Coeffs"), *this))
|
||||
{
|
||||
// Adjust refValue at mixedFvPatchField boundaries
|
||||
forAll(kappa_.boundaryField(), patchi)
|
||||
// Check and filter for old syntax (remove in due course)
|
||||
if (groupDict.found("kappa"))
|
||||
{
|
||||
typedef mixedFvPatchField<scalar> mixedFvPatchScalarField;
|
||||
|
||||
if
|
||||
(
|
||||
isA<const mixedFvPatchScalarField>(kappa_.boundaryField()[patchi])
|
||||
)
|
||||
{
|
||||
mixedFvPatchScalarField& kappa =
|
||||
refCast<mixedFvPatchScalarField>
|
||||
(
|
||||
kappa_.boundaryFieldRef()[patchi]
|
||||
);
|
||||
|
||||
kappa.refValue() = sizeGroup_.dict().lookup<scalar>("kappa");
|
||||
}
|
||||
FatalErrorInFunction
|
||||
<< "A 'kappa' entry should not be specified for size-group #"
|
||||
<< group.i() << " of population balance "
|
||||
<< group.group().popBalName()
|
||||
<< ". Instead, the value should be initialised within the field, "
|
||||
<< this->name() << " (or the default field, "
|
||||
<< IOobject::groupName("kappaDefault", group.phase().name())
|
||||
<< ", as appropriate)."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
sinteringModel_ =
|
||||
sinteringModel::New(dict.subDict(type() + "Coeffs"), *this);
|
||||
}
|
||||
|
||||
|
||||
@ -162,39 +165,16 @@ Foam::diameterModels::shapeModels::fractal::src()
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::diameterModels::shapeModels::fractal::dColl() const
|
||||
{
|
||||
tmp<volScalarField> tDColl
|
||||
(
|
||||
volScalarField::New
|
||||
(
|
||||
"dColl",
|
||||
sizeGroup_.mesh(),
|
||||
dimensionedScalar(dimLength, Zero)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField& dColl = tDColl.ref();
|
||||
|
||||
dColl =
|
||||
6/kappa_
|
||||
*pow(sizeGroup_.x()*pow3(kappa_)/(36*pi*alphaC_), 1/Df_);
|
||||
|
||||
return tDColl;
|
||||
}
|
||||
|
||||
|
||||
void Foam::diameterModels::shapeModels::fractal::correct()
|
||||
{
|
||||
const sizeGroup& fi = sizeGroup_;
|
||||
const sizeGroup& fi = group();
|
||||
const phaseModel& phase = fi.phase();
|
||||
const volScalarField& alpha = phase;
|
||||
|
||||
const populationBalanceModel& popBal =
|
||||
sizeGroup_.mesh().lookupObject<populationBalanceModel>
|
||||
group().mesh().lookupObject<populationBalanceModel>
|
||||
(
|
||||
sizeGroup_.VelocityGroup().popBalName()
|
||||
group().group().popBalName()
|
||||
);
|
||||
|
||||
surfaceScalarField fAlphaPhi
|
||||
@ -216,7 +196,7 @@ void Foam::diameterModels::shapeModels::fractal::correct()
|
||||
fvm::Sp
|
||||
(
|
||||
max(phase.residualAlpha() - alpha*fi, scalar(0))
|
||||
/sizeGroup_.mesh().time().deltaT(),
|
||||
/group().mesh().time().deltaT(),
|
||||
kappa_
|
||||
)
|
||||
)
|
||||
@ -231,7 +211,7 @@ void Foam::diameterModels::shapeModels::fractal::correct()
|
||||
kappa_ =
|
||||
min
|
||||
(
|
||||
max(kappa_, 6/sizeGroup_.dSph()),
|
||||
max(kappa_, 6/group().dSph()),
|
||||
6/popBal.sizeGroups().first().dSph()
|
||||
);
|
||||
|
||||
@ -245,7 +225,7 @@ void Foam::diameterModels::shapeModels::fractal::correct()
|
||||
const Foam::tmp<Foam::volScalarField>
|
||||
Foam::diameterModels::shapeModels::fractal::a() const
|
||||
{
|
||||
return kappa_*sizeGroup_.x();
|
||||
return kappa_*group().x();
|
||||
}
|
||||
|
||||
|
||||
@ -271,7 +251,7 @@ void Foam::diameterModels::shapeModels::fractal::addDrift
|
||||
{
|
||||
case sgHardSphere:
|
||||
{
|
||||
Su_ += sourceKappa*fu.dSph()/sizeGroup_.dSph()*Su;
|
||||
Su_ += sourceKappa*fu.dSph()/group().dSph()*Su;
|
||||
|
||||
break;
|
||||
}
|
||||
@ -286,7 +266,7 @@ void Foam::diameterModels::shapeModels::fractal::addDrift
|
||||
|
||||
volScalarField dp(6/sourceKappa);
|
||||
const volScalarField a(sourceKappa*fu.x());
|
||||
const dimensionedScalar dv(sizeGroup_.x() - fu.x());
|
||||
const dimensionedScalar dv(group().x() - fu.x());
|
||||
|
||||
const volScalarField da1
|
||||
(
|
||||
@ -299,7 +279,7 @@ void Foam::diameterModels::shapeModels::fractal::addDrift
|
||||
|
||||
dp += 6*(dv*a - fu.x()*da1)/sqr(a);
|
||||
|
||||
const volScalarField np(6*sizeGroup_.x()/pi/pow3(dp));
|
||||
const volScalarField np(6*group().x()/pi/pow3(dp));
|
||||
const volScalarField dc(dp*pow(np/alphaC_, 1/Df_));
|
||||
|
||||
const volScalarField da2
|
||||
@ -307,7 +287,7 @@ void Foam::diameterModels::shapeModels::fractal::addDrift
|
||||
dv*(4/dp + 2*Df_/3*(1/dc - 1/dp))
|
||||
);
|
||||
|
||||
Su_ += (a + 0.5*da1 + 0.5*da2)/sizeGroup_.x()*Su;
|
||||
Su_ += (a + 0.5*da1 + 0.5*da2)/group().x()*Su;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@ -127,6 +127,7 @@ private:
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Compute and return the collisional diameter
|
||||
tmp<volScalarField> dColl() const;
|
||||
|
||||
|
||||
@ -138,11 +139,12 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary and sizeGroup
|
||||
//- Construct from dictionaries and sizeGroup
|
||||
fractal
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
|
||||
@ -81,16 +81,16 @@ Foam::diameterModels::shapeModels::sinteringModels::KochFriedlander::tau() const
|
||||
volScalarField::Internal::New
|
||||
(
|
||||
"tau",
|
||||
fractal_.SizeGroup().mesh(),
|
||||
fractal_.group().mesh(),
|
||||
dimensionedScalar(dimTime, Zero)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField::Internal& tau = tTau.ref();
|
||||
|
||||
const sizeGroup& fi = fractal_.SizeGroup();
|
||||
const sizeGroup& fi = fractal_.group();
|
||||
const volScalarField& kappai = fractal_.fld();
|
||||
const volScalarField& T = fractal_.SizeGroup().phase().thermo().T();
|
||||
const volScalarField& T = fractal_.group().phase().thermo().T();
|
||||
|
||||
forAll(tau, celli)
|
||||
{
|
||||
@ -107,7 +107,7 @@ Foam::diameterModels::shapeModels::sinteringModels::KochFriedlander::tau() const
|
||||
Foam::tmp<Foam::fvScalarMatrix>
|
||||
Foam::diameterModels::shapeModels::sinteringModels::KochFriedlander::R() const
|
||||
{
|
||||
const sizeGroup& fi = fractal_.SizeGroup();
|
||||
const sizeGroup& fi = fractal_.group();
|
||||
const volScalarField& kappai = fractal_.fld();
|
||||
const volScalarField& alpha = fi.phase();
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ Foam::diameterModels::shapeModels::sinteringModels::noSintering::~noSintering()
|
||||
Foam::tmp<Foam::fvScalarMatrix>
|
||||
Foam::diameterModels::shapeModels::sinteringModels::noSintering::R() const
|
||||
{
|
||||
const sizeGroup& fi = fractal_.SizeGroup();
|
||||
const sizeGroup& fi = fractal_.group();
|
||||
|
||||
volScalarField::Internal R
|
||||
(
|
||||
|
||||
@ -39,13 +39,9 @@ namespace diameterModels
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::diameterModels::shapeModel::shapeModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
)
|
||||
Foam::diameterModels::shapeModel::shapeModel(const sizeGroup& group)
|
||||
:
|
||||
sizeGroup_(group)
|
||||
group_(group)
|
||||
{}
|
||||
|
||||
|
||||
@ -55,7 +51,8 @@ Foam::autoPtr<Foam::diameterModels::shapeModel>
|
||||
Foam::diameterModels::shapeModel::New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
)
|
||||
{
|
||||
word shapeModelType(dict.lookup("shapeModel"));
|
||||
@ -73,7 +70,7 @@ Foam::diameterModels::shapeModel::New
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
return cstrIter()(dict, group);
|
||||
return cstrIter()(dict, group, groupDict);
|
||||
}
|
||||
|
||||
|
||||
@ -85,10 +82,10 @@ Foam::diameterModels::shapeModel::~shapeModel()
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
const Foam::diameterModels::sizeGroup& Foam::diameterModels::shapeModel::
|
||||
SizeGroup() const
|
||||
const Foam::diameterModels::sizeGroup&
|
||||
Foam::diameterModels::shapeModel::group() const
|
||||
{
|
||||
return sizeGroup_;
|
||||
return group_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -66,7 +66,7 @@ protected:
|
||||
// Protected Data
|
||||
|
||||
//- Reference to sizeGroup
|
||||
const sizeGroup& sizeGroup_;
|
||||
const sizeGroup& group_;
|
||||
|
||||
|
||||
public:
|
||||
@ -84,20 +84,17 @@ public:
|
||||
dictionary,
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
),
|
||||
(dict, group)
|
||||
(dict, group, groupDict)
|
||||
);
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary and sizeGroup
|
||||
shapeModel
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
);
|
||||
//- Construct from sizeGroup
|
||||
shapeModel(const sizeGroup& group);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
shapeModel(const shapeModel&) = delete;
|
||||
@ -108,7 +105,8 @@ public:
|
||||
static autoPtr<shapeModel> New
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
);
|
||||
|
||||
|
||||
@ -121,7 +119,7 @@ public:
|
||||
// Access
|
||||
|
||||
//- Return reference to size group
|
||||
const sizeGroup& SizeGroup() const;
|
||||
const sizeGroup& group() const;
|
||||
|
||||
//- Return representative surface area of the sizeGroup
|
||||
virtual const tmp<volScalarField> a() const = 0;
|
||||
|
||||
@ -50,14 +50,14 @@ using Foam::constant::mathematical::pi;
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::diameterModels::shapeModels::spherical::
|
||||
spherical
|
||||
Foam::diameterModels::shapeModels::spherical::spherical
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
)
|
||||
:
|
||||
shapeModel(dict, group)
|
||||
shapeModel(group)
|
||||
{}
|
||||
|
||||
|
||||
@ -77,8 +77,8 @@ Foam::diameterModels::shapeModels::spherical::a() const
|
||||
volScalarField::New
|
||||
(
|
||||
"a",
|
||||
sizeGroup_.mesh(),
|
||||
6/sizeGroup_.dSph()*sizeGroup_.x()
|
||||
group().mesh(),
|
||||
6/group().dSph()*group().x()
|
||||
)
|
||||
);
|
||||
}
|
||||
@ -89,7 +89,7 @@ Foam::diameterModels::shapeModels::spherical::d() const
|
||||
{
|
||||
return tmp<volScalarField>
|
||||
(
|
||||
volScalarField::New("d", sizeGroup_.mesh(), sizeGroup_.dSph())
|
||||
volScalarField::New("d", group().mesh(), group().dSph())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -62,11 +62,12 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from dictionary and sizeGroup
|
||||
//- Construct from dictionaries and sizeGroup
|
||||
spherical
|
||||
(
|
||||
const dictionary& dict,
|
||||
const sizeGroup& group
|
||||
const sizeGroup& group,
|
||||
const dictionary& groupDict
|
||||
);
|
||||
|
||||
|
||||
|
||||
@ -27,68 +27,91 @@ License
|
||||
#include "mixedFvPatchField.H"
|
||||
#include "shapeModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
using Foam::constant::mathematical::pi;
|
||||
|
||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||
|
||||
Foam::IOobject Foam::diameterModels::sizeGroup::fieldIo
|
||||
(
|
||||
const word& name,
|
||||
const label i,
|
||||
const velocityGroup& group,
|
||||
const IOobject::readOption r,
|
||||
const bool registerObject
|
||||
)
|
||||
{
|
||||
return
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
name + (i == -1 ? "Default" : Foam::name(i)),
|
||||
group.phase().name()
|
||||
),
|
||||
group.phase().mesh().time().name(),
|
||||
group.phase().mesh(),
|
||||
r,
|
||||
IOobject::AUTO_WRITE,
|
||||
registerObject
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::sizeGroup::field
|
||||
(
|
||||
const word& name,
|
||||
const label i,
|
||||
const velocityGroup& group
|
||||
)
|
||||
{
|
||||
typeIOobject<volScalarField> io
|
||||
(
|
||||
fieldIo(name, i, group, IOobject::MUST_READ, false)
|
||||
);
|
||||
|
||||
return
|
||||
tmp<volScalarField>
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
io.headerOk()
|
||||
? io
|
||||
: fieldIo(name, -1, group, IOobject::MUST_READ, false),
|
||||
group.phase().mesh()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::diameterModels::sizeGroup::sizeGroup
|
||||
(
|
||||
const word& name,
|
||||
const label i,
|
||||
const dictionary& dict,
|
||||
const phaseModel& phase,
|
||||
const velocityGroup& velocityGroup,
|
||||
const fvMesh& mesh
|
||||
const velocityGroup& group
|
||||
)
|
||||
:
|
||||
volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
name,
|
||||
velocityGroup.phase().name()
|
||||
),
|
||||
mesh.time().name(),
|
||||
mesh,
|
||||
IOobject::READ_IF_PRESENT,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
mesh,
|
||||
dimensionedScalar(name, dimless, dict.lookup<scalar>("value")),
|
||||
velocityGroup.f().boundaryField().types()
|
||||
),
|
||||
dict_(dict),
|
||||
phase_(phase),
|
||||
velocityGroup_(velocityGroup),
|
||||
volScalarField(fieldIo("f", i, group), field("f", i, group)),
|
||||
i_(i),
|
||||
group_(group),
|
||||
dSph_("dSph", dimLength, dict),
|
||||
x_("x", pi/6*pow3(dSph_)),
|
||||
value_(dict.lookup<scalar>("value"))
|
||||
shapeModel_(shapeModel::New(group_.diameterProperties(), *this, dict))
|
||||
{
|
||||
// Adjust refValue at mixedFvPatchField boundaries
|
||||
forAll(this->boundaryField(), patchi)
|
||||
// Check and filter for old syntax (remove in due course)
|
||||
if (dict.found("value"))
|
||||
{
|
||||
typedef mixedFvPatchField<scalar> mixedFvPatchScalarField;
|
||||
|
||||
if
|
||||
(
|
||||
isA<const mixedFvPatchScalarField>(this->boundaryField()[patchi])
|
||||
)
|
||||
{
|
||||
mixedFvPatchScalarField& f =
|
||||
refCast<mixedFvPatchScalarField>
|
||||
(
|
||||
this->boundaryFieldRef()[patchi]
|
||||
);
|
||||
|
||||
f.refValue() = value_;
|
||||
}
|
||||
FatalErrorInFunction
|
||||
<< "A 'value' entry should not be specified for size-group #"
|
||||
<< i << " of population balance "
|
||||
<< group.popBalName()
|
||||
<< ". Instead, the value should be initialised within the field, "
|
||||
<< this->name() << " (or the default field, "
|
||||
<< IOobject::groupName("fDefault", group.phase().name())
|
||||
<< ", as appropriate)."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
shapeModel_ = shapeModel::New(velocityGroup_.diameterProperties(), *this);
|
||||
}
|
||||
|
||||
|
||||
@ -103,34 +126,11 @@ Foam::diameterModels::sizeGroup::~sizeGroup()
|
||||
Foam::autoPtr<Foam::diameterModels::sizeGroup>
|
||||
Foam::diameterModels::sizeGroup::clone() const
|
||||
{
|
||||
notImplemented("sizeGroup::clone() const");
|
||||
NotImplemented;
|
||||
return autoPtr<sizeGroup>(nullptr);
|
||||
}
|
||||
|
||||
|
||||
const Foam::label& Foam::diameterModels::sizeGroup::i() const
|
||||
{
|
||||
if (!i_.valid())
|
||||
{
|
||||
const populationBalanceModel& popBal =
|
||||
this->mesh().lookupObject<populationBalanceModel>
|
||||
(
|
||||
velocityGroup_.popBalName()
|
||||
);
|
||||
|
||||
forAll(popBal.sizeGroups(), j)
|
||||
{
|
||||
if (&popBal.sizeGroups()[j] == &*this)
|
||||
{
|
||||
i_.set(new label(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return i_();
|
||||
}
|
||||
|
||||
|
||||
const Foam::tmp<Foam::volScalarField>
|
||||
Foam::diameterModels::sizeGroup::a() const
|
||||
{
|
||||
|
||||
@ -87,13 +87,11 @@ private:
|
||||
|
||||
// Private Data
|
||||
|
||||
dictionary dict_;
|
||||
|
||||
//- Phase this sizeGroup belongs to
|
||||
const phaseModel& phase_;
|
||||
//- Label of this sizeGroup within the corresponding populationBalance
|
||||
const label i_;
|
||||
|
||||
//- VelocityGroup this sizeGroup belongs to
|
||||
const velocityGroup& velocityGroup_;
|
||||
const velocityGroup& group_;
|
||||
|
||||
//- Sphere equivalent diameter of the sizeGroup
|
||||
const dimensionedScalar dSph_;
|
||||
@ -101,12 +99,6 @@ private:
|
||||
//- Representative volume of the sizeGroup
|
||||
const dimensionedScalar x_;
|
||||
|
||||
//- Initial value and value at boundaries
|
||||
const scalar value_;
|
||||
|
||||
//- Label of this sizeGroup within the corresponding populationBalance
|
||||
mutable autoPtr<label> i_;
|
||||
|
||||
//- Model for describing the representative shape of the elements in the
|
||||
// sizeGroup
|
||||
autoPtr<shapeModel> shapeModel_;
|
||||
@ -114,53 +106,87 @@ private:
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
// Static Member Functions
|
||||
|
||||
sizeGroup
|
||||
//- Return IO for a size-group field. Construction helper.
|
||||
static IOobject fieldIo
|
||||
(
|
||||
const word& name,
|
||||
const label i,
|
||||
const velocityGroup& group,
|
||||
const IOobject::readOption r = IOobject::NO_READ,
|
||||
const bool registerObject = true
|
||||
);
|
||||
|
||||
//- Return IO a size-group field. Construction helper.
|
||||
static tmp<volScalarField> field
|
||||
(
|
||||
const word& name,
|
||||
const label i,
|
||||
const velocityGroup& group
|
||||
);
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from index, dictionary and velocity group
|
||||
sizeGroup
|
||||
(
|
||||
const label i,
|
||||
const dictionary& dict,
|
||||
const phaseModel& phase,
|
||||
const velocityGroup& velocityGroup,
|
||||
const fvMesh& mesh
|
||||
const velocityGroup& group
|
||||
);
|
||||
|
||||
//- Return clone
|
||||
autoPtr<sizeGroup> clone() const;
|
||||
|
||||
//- Return a pointer to a new sizeGroup created on freestore
|
||||
// from Istream
|
||||
//- Return a pointer to a new sizeGroup created from Istream
|
||||
class iNew
|
||||
{
|
||||
const phaseModel& phase_;
|
||||
const velocityGroup& velocityGroup_;
|
||||
const velocityGroup& group_;
|
||||
|
||||
mutable label i_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
iNew
|
||||
(
|
||||
const phaseModel& phase,
|
||||
const velocityGroup& velocityGroup
|
||||
)
|
||||
iNew(const velocityGroup& group, const label i0)
|
||||
:
|
||||
phase_(phase),
|
||||
velocityGroup_(velocityGroup)
|
||||
group_(group),
|
||||
i_(i0)
|
||||
{}
|
||||
|
||||
autoPtr<sizeGroup> operator()(Istream& is) const
|
||||
{
|
||||
dictionaryEntry ent(dictionary::null, is);
|
||||
return autoPtr<sizeGroup>
|
||||
(
|
||||
new sizeGroup
|
||||
(
|
||||
ent.keyword(),
|
||||
ent,
|
||||
phase_,
|
||||
velocityGroup_,
|
||||
phase_.mesh()
|
||||
)
|
||||
);
|
||||
token t(is);
|
||||
|
||||
// Check and filter for old syntax (remove in due course)
|
||||
if (t.isWord())
|
||||
{
|
||||
const word fName = "f" + Foam::name(i_);
|
||||
|
||||
if (t.wordToken() != fName)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "The name '" << t.wordToken() << "' should not "
|
||||
<< "have been provided for the fraction field "
|
||||
<< IOobject::groupName(fName, group_.phase().name())
|
||||
<< " of size-group #" << i_
|
||||
<< " of population balance " << group_.popBalName()
|
||||
<< ". Only the coefficients are required."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
is.putBack(t);
|
||||
}
|
||||
|
||||
autoPtr<sizeGroup> result(new sizeGroup(i_, is, group_));
|
||||
|
||||
i_ ++;
|
||||
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
@ -171,14 +197,14 @@ public:
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return const-reference to the dictionary
|
||||
inline const dictionary& dict() const;
|
||||
//- Return index of the size group within the population balance
|
||||
label i() const;
|
||||
|
||||
//- Return const-reference to the phase
|
||||
inline const phaseModel& phase() const;
|
||||
|
||||
//- Return const-reference to the velocityGroup
|
||||
inline const velocityGroup& VelocityGroup() const;
|
||||
inline const velocityGroup& group() const;
|
||||
|
||||
//- Return representative spherical diameter of the sizeGroup
|
||||
inline const dimensionedScalar& dSph() const;
|
||||
@ -192,9 +218,6 @@ public:
|
||||
//- Return const-reference to diameterModel of the phase
|
||||
inline const autoPtr<shapeModel>& shapeModelPtr() const;
|
||||
|
||||
//- Return index of the size group within the population balance
|
||||
const label& i() const;
|
||||
|
||||
//- Return representative surface area of the sizeGroup
|
||||
const tmp<volScalarField> a() const;
|
||||
|
||||
|
||||
@ -23,26 +23,27 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "sizeGroup.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
inline const Foam::dictionary&
|
||||
Foam::diameterModels::sizeGroup::dict() const
|
||||
inline Foam::label Foam::diameterModels::sizeGroup::i() const
|
||||
{
|
||||
return dict_;
|
||||
return i_;
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::phaseModel&
|
||||
Foam::diameterModels::sizeGroup::phase() const
|
||||
{
|
||||
return phase_;
|
||||
return group().phase();
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::diameterModels::velocityGroup&
|
||||
Foam::diameterModels::sizeGroup::VelocityGroup() const
|
||||
Foam::diameterModels::sizeGroup::group() const
|
||||
{
|
||||
return velocityGroup_;
|
||||
return group_;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -122,11 +122,11 @@ void Foam::diameterModels::velocityGroup::scale()
|
||||
sizeGroups_[i].max(0);
|
||||
};
|
||||
|
||||
f_ = fSum();
|
||||
const volScalarField fSum(this->fSum());
|
||||
|
||||
forAll(sizeGroups_, i)
|
||||
{
|
||||
sizeGroups_[i] /= f_;
|
||||
sizeGroups_[i] /= fSum;
|
||||
|
||||
sizeGroups_[i].correctBoundaryConditions();
|
||||
};
|
||||
@ -143,29 +143,27 @@ Foam::diameterModels::velocityGroup::velocityGroup
|
||||
:
|
||||
diameterModel(diameterProperties, phase),
|
||||
popBalName_(diameterProperties.lookup("populationBalance")),
|
||||
f_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
"f",
|
||||
phase.name()
|
||||
),
|
||||
phase.time().name(),
|
||||
phase.mesh(),
|
||||
IOobject::MUST_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
phase.mesh()
|
||||
),
|
||||
sizeGroups_
|
||||
(
|
||||
diameterProperties.lookup("sizeGroups"),
|
||||
sizeGroup::iNew(phase, *this)
|
||||
sizeGroup::iNew
|
||||
(
|
||||
*this,
|
||||
populationBalanceModel::groups::New
|
||||
(
|
||||
popBalName_,
|
||||
phase.mesh()
|
||||
).nSizeGroups()
|
||||
)
|
||||
),
|
||||
d_(IOobject::groupName("d", phase.name()), dsm())
|
||||
{}
|
||||
{
|
||||
populationBalanceModel::groups::New
|
||||
(
|
||||
popBalName_,
|
||||
phase.mesh()
|
||||
).insert(*this);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
@ -232,14 +230,12 @@ void Foam::diameterModels::velocityGroup::correct()
|
||||
scale();
|
||||
}
|
||||
|
||||
f_ = fSum();
|
||||
|
||||
f_.correctBoundaryConditions();
|
||||
volScalarField::Internal fSum(this->fSum());
|
||||
|
||||
Info<< phase().name() << " sizeGroups-sum volume fraction, min, max = "
|
||||
<< f_.weightedAverage(phase().mesh().V()).value()
|
||||
<< ' ' << min(f_).value()
|
||||
<< ' ' << max(f_).value()
|
||||
<< fSum.weightedAverage(phase().mesh().V()).value()
|
||||
<< ' ' << min(fSum).value()
|
||||
<< ' ' << max(fSum).value()
|
||||
<< endl;
|
||||
|
||||
d_ = dsm();
|
||||
|
||||
@ -90,10 +90,6 @@ class velocityGroup
|
||||
//- Name of the populationBalance this velocityGroup belongs to
|
||||
word popBalName_;
|
||||
|
||||
//- Sum of the sizeGroup volume fractions and reference field from which
|
||||
// the sizeGroup fields are derived
|
||||
volScalarField f_;
|
||||
|
||||
//- sizeGroups belonging to this velocityGroup
|
||||
PtrList<sizeGroup> sizeGroups_;
|
||||
|
||||
@ -137,12 +133,12 @@ public:
|
||||
//- Return name of populationBalance this velocityGroup belongs to
|
||||
inline const word& popBalName() const;
|
||||
|
||||
//- Return reference field for sizeGroup's
|
||||
inline const volScalarField& f() const;
|
||||
|
||||
//- Return sizeGroups belonging to this velocityGroup
|
||||
inline const PtrList<sizeGroup>& sizeGroups() const;
|
||||
|
||||
//- Return sizeGroups belonging to this velocityGroup
|
||||
inline PtrList<sizeGroup>& sizeGroups();
|
||||
|
||||
//- Get the diameter field
|
||||
virtual tmp<volScalarField> d() const;
|
||||
|
||||
|
||||
@ -23,6 +23,8 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "velocityGroup.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
inline const Foam::word&
|
||||
@ -32,13 +34,6 @@ Foam::diameterModels::velocityGroup::popBalName() const
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::volScalarField&
|
||||
Foam::diameterModels::velocityGroup::f() const
|
||||
{
|
||||
return f_;
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::PtrList<Foam::diameterModels::sizeGroup>&
|
||||
Foam::diameterModels::velocityGroup::sizeGroups() const
|
||||
{
|
||||
@ -46,4 +41,11 @@ Foam::diameterModels::velocityGroup::sizeGroups() const
|
||||
}
|
||||
|
||||
|
||||
inline Foam::PtrList<Foam::diameterModels::sizeGroup>&
|
||||
Foam::diameterModels::velocityGroup::sizeGroups()
|
||||
{
|
||||
return sizeGroups_;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -148,9 +148,9 @@ Foam::tmp<Foam::volScalarField> Foam::phaseModel::d() const
|
||||
}
|
||||
|
||||
|
||||
const Foam::autoPtr<Foam::diameterModel>& Foam::phaseModel::dPtr() const
|
||||
const Foam::diameterModel& Foam::phaseModel::diameter() const
|
||||
{
|
||||
return diameterModel_;
|
||||
return diameterModel_();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -194,8 +194,8 @@ public:
|
||||
//- Return the Sauter-mean diameter
|
||||
tmp<volScalarField> d() const;
|
||||
|
||||
//- Return const-reference to diameterModel of the phase
|
||||
const autoPtr<diameterModel>& dPtr() const;
|
||||
//- Return a reference to the diameterModel of the phase
|
||||
const diameterModel& diameter() const;
|
||||
|
||||
//- Correct the phase properties
|
||||
virtual void correct();
|
||||
|
||||
@ -97,29 +97,26 @@ void Foam::diameterModels::driftModels::phaseChange::precompute()
|
||||
|
||||
forAll(interfaces_, k)
|
||||
{
|
||||
forAllConstIter
|
||||
(
|
||||
HashTable<const velocityGroup*>,
|
||||
popBal_.velocityGroupPtrs(),
|
||||
iter
|
||||
)
|
||||
forAllConstIter(phaseInterface, interfaces_[k], iter)
|
||||
{
|
||||
const velocityGroup& velGrp = *iter();
|
||||
const phaseModel& phase = iter();
|
||||
|
||||
if (interfaces_[k].contains(velGrp.phase()))
|
||||
if (!isA<velocityGroup>(phase.diameter())) continue;
|
||||
|
||||
const velocityGroup& velGroup =
|
||||
refCast<const velocityGroup>(phase.diameter());
|
||||
|
||||
forAll(velGroup.sizeGroups(), i)
|
||||
{
|
||||
forAll(velGrp.sizeGroups(), i)
|
||||
{
|
||||
const sizeGroup& fi = velGrp.sizeGroups()[i];
|
||||
const sizeGroup& fi = velGroup.sizeGroups()[i];
|
||||
|
||||
if (numberWeighted_)
|
||||
{
|
||||
W_[k] += fi*max(fi.phase(), small)/fi.x();
|
||||
}
|
||||
else
|
||||
{
|
||||
W_[k] += fi*max(fi.phase(), small)/fi.x()*fi.a();
|
||||
}
|
||||
if (numberWeighted_)
|
||||
{
|
||||
W_[k] += fi*max(fi.phase(), small)/fi.x();
|
||||
}
|
||||
else
|
||||
{
|
||||
W_[k] += fi*max(fi.phase(), small)/fi.x()*fi.a();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -133,7 +130,7 @@ void Foam::diameterModels::driftModels::phaseChange::addToDriftRate
|
||||
const label i
|
||||
)
|
||||
{
|
||||
const velocityGroup& velGrp = popBal_.sizeGroups()[i].VelocityGroup();
|
||||
const velocityGroup& velGrp = popBal_.sizeGroups()[i].group();
|
||||
|
||||
forAll(interfaces_, k)
|
||||
{
|
||||
|
||||
@ -81,14 +81,7 @@ Foam::diameterModels::nucleationModel::nucleationModel
|
||||
(
|
||||
refCast<const velocityGroup>
|
||||
(
|
||||
popBal.mesh().lookupObject<phaseModel>
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
"alpha",
|
||||
dict.lookup("velocityGroup")
|
||||
)
|
||||
).dPtr()()
|
||||
popBal.fluid().phases()[dict.lookup("velocityGroup")].diameter()
|
||||
)
|
||||
)
|
||||
{}
|
||||
|
||||
@ -52,152 +52,12 @@ namespace diameterModels
|
||||
|
||||
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
|
||||
|
||||
void Foam::diameterModels::populationBalanceModel::registerVelocityGroups()
|
||||
{
|
||||
forAll(fluid_.phases(), phasei)
|
||||
{
|
||||
if (isA<velocityGroup>(fluid_.phases()[phasei].dPtr()()))
|
||||
{
|
||||
const velocityGroup& velGroup =
|
||||
refCast<const velocityGroup>(fluid_.phases()[phasei].dPtr()());
|
||||
|
||||
if (velGroup.popBalName() == this->name())
|
||||
{
|
||||
velocityGroupPtrs_.insert(velGroup.phase().name(), &velGroup);
|
||||
|
||||
dilatationErrors_.insert
|
||||
(
|
||||
velGroup.phase().name(),
|
||||
volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
"dilatationError",
|
||||
velGroup.phase().name()
|
||||
),
|
||||
fluid_.time().name(),
|
||||
mesh_
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
|
||||
forAll(velGroup.sizeGroups(), i)
|
||||
{
|
||||
this->registerSizeGroups
|
||||
(
|
||||
const_cast<sizeGroup&>(velGroup.sizeGroups()[i])
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Foam::diameterModels::populationBalanceModel::registerSizeGroups
|
||||
(
|
||||
sizeGroup& group
|
||||
)
|
||||
{
|
||||
if
|
||||
(
|
||||
sizeGroups().size() != 0
|
||||
&&
|
||||
group.x().value() <= sizeGroups().last().x().value()
|
||||
)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Size groups must be entered according to their representative"
|
||||
<< " size"
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
sizeGroups_.resize(sizeGroups().size() + 1);
|
||||
sizeGroups_.set(sizeGroups().size() - 1, &group);
|
||||
|
||||
if (sizeGroups().size() == 1)
|
||||
{
|
||||
v_.append
|
||||
(
|
||||
new dimensionedScalar
|
||||
(
|
||||
"v",
|
||||
sizeGroups().last().x()
|
||||
)
|
||||
);
|
||||
|
||||
v_.append
|
||||
(
|
||||
new dimensionedScalar
|
||||
(
|
||||
"v",
|
||||
sizeGroups().last().x()
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
v_.last() =
|
||||
0.5
|
||||
*(
|
||||
sizeGroups()[sizeGroups().size()-2].x()
|
||||
+ sizeGroups().last().x()
|
||||
);
|
||||
|
||||
v_.append
|
||||
(
|
||||
new dimensionedScalar
|
||||
(
|
||||
"v",
|
||||
sizeGroups().last().x()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
delta_.append(new PtrList<dimensionedScalar>());
|
||||
|
||||
Su_.append
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Su",
|
||||
fluid_.time().name(),
|
||||
mesh_
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
|
||||
Sp_.append
|
||||
(
|
||||
new volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"Sp",
|
||||
fluid_.time().name(),
|
||||
mesh_
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
void Foam::diameterModels::populationBalanceModel::initialiseDmdtfs()
|
||||
{
|
||||
forAllConstIter
|
||||
(
|
||||
HashTable<const diameterModels::velocityGroup*>,
|
||||
velocityGroupPtrs(),
|
||||
velocityGroupPtrs_,
|
||||
iter1
|
||||
)
|
||||
{
|
||||
@ -206,7 +66,7 @@ void Foam::diameterModels::populationBalanceModel::initialiseDmdtfs()
|
||||
forAllConstIter
|
||||
(
|
||||
HashTable<const diameterModels::velocityGroup*>,
|
||||
velocityGroupPtrs(),
|
||||
velocityGroupPtrs_,
|
||||
iter2
|
||||
)
|
||||
{
|
||||
@ -857,7 +717,7 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel
|
||||
U_(),
|
||||
sourceUpdateCounter_(0)
|
||||
{
|
||||
this->registerVelocityGroups();
|
||||
groups::retrieve(*this, velocityGroupPtrs_, sizeGroups_);
|
||||
|
||||
if (sizeGroups().size() < 3)
|
||||
{
|
||||
@ -867,6 +727,89 @@ Foam::diameterModels::populationBalanceModel::populationBalanceModel
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
// Create velocity-group dilatation errors
|
||||
forAllConstIter
|
||||
(
|
||||
HashTable<const diameterModels::velocityGroup*>,
|
||||
velocityGroupPtrs_,
|
||||
iter
|
||||
)
|
||||
{
|
||||
const velocityGroup& velGroup = *iter();
|
||||
|
||||
dilatationErrors_.insert
|
||||
(
|
||||
velGroup.phase().name(),
|
||||
volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName
|
||||
(
|
||||
"dilatationError",
|
||||
velGroup.phase().name()
|
||||
),
|
||||
fluid_.time().name(),
|
||||
mesh_
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Create size-group boundaries
|
||||
v_.setSize(sizeGroups().size() + 1);
|
||||
v_.set(0, new dimensionedScalar("v", sizeGroups()[0].x()));
|
||||
for (label i = 1; i < sizeGroups().size(); ++ i)
|
||||
{
|
||||
v_.set
|
||||
(
|
||||
i,
|
||||
new dimensionedScalar
|
||||
(
|
||||
"v",
|
||||
(sizeGroups()[i-1].x() + sizeGroups()[i].x())/2
|
||||
)
|
||||
);
|
||||
}
|
||||
v_.set(v_.size() - 1, new dimensionedScalar("v", sizeGroups().last().x()));
|
||||
|
||||
// ???
|
||||
delta_.setSize(sizeGroups().size());
|
||||
forAll(sizeGroups(), i)
|
||||
{
|
||||
delta_.set(i, new PtrList<dimensionedScalar>());
|
||||
}
|
||||
|
||||
// Create size-group source terms
|
||||
Su_.setSize(sizeGroups().size());
|
||||
Sp_.setSize(sizeGroups().size());
|
||||
forAll(sizeGroups(), i)
|
||||
{
|
||||
Su_.set
|
||||
(
|
||||
i,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject("Su", fluid_.time().name(), mesh_),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
|
||||
Sp_.set
|
||||
(
|
||||
i,
|
||||
new volScalarField
|
||||
(
|
||||
IOobject("Sp", fluid_.time().name(), mesh_),
|
||||
mesh_,
|
||||
dimensionedScalar(inv(dimTime), 0)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
this->initialiseDmdtfs();
|
||||
|
||||
if (coalescenceModels_.size() != 0)
|
||||
|
||||
@ -231,6 +231,147 @@ class populationBalanceModel
|
||||
:
|
||||
public regIOobject
|
||||
{
|
||||
public:
|
||||
|
||||
// Public Classes
|
||||
|
||||
//- Class to accumulate population balance sub-class pointers
|
||||
class groups
|
||||
:
|
||||
public regIOobject
|
||||
{
|
||||
// Private Data
|
||||
|
||||
//- Velocity group pointers
|
||||
HashTable<const velocityGroup*> velocityGroupPtrs_;
|
||||
|
||||
//- Size group pointers
|
||||
UPtrList<sizeGroup> sizeGroups_;
|
||||
|
||||
|
||||
// Private Constructor
|
||||
|
||||
//- Construct with a name on a database
|
||||
groups(const word& popBalName, const objectRegistry& db)
|
||||
:
|
||||
regIOobject
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
name(popBalName),
|
||||
db.time().constant(),
|
||||
db
|
||||
)
|
||||
)
|
||||
{}
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Return the name of the pointer cache
|
||||
static word name(const word& popBalName)
|
||||
{
|
||||
return popBalName + ":groups";
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Lookup in the registry or construct new
|
||||
static groups& New
|
||||
(
|
||||
const word& popBalName,
|
||||
const objectRegistry& db
|
||||
)
|
||||
{
|
||||
if (db.foundObject<groups>(name(popBalName)))
|
||||
{
|
||||
return db.lookupObjectRef<groups>(name(popBalName));
|
||||
}
|
||||
|
||||
groups* ps = new groups(popBalName, db);
|
||||
|
||||
ps->store();
|
||||
|
||||
return *ps;
|
||||
}
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Return the current number of size groups
|
||||
label nSizeGroups()
|
||||
{
|
||||
return sizeGroups_.size();
|
||||
}
|
||||
|
||||
//- Insert a velocity group into the table
|
||||
void insert(velocityGroup& group)
|
||||
{
|
||||
velocityGroupPtrs_.insert(group.phase().name(), &group);
|
||||
|
||||
const label i0 = nSizeGroups();
|
||||
|
||||
sizeGroups_.resize(i0 + group.sizeGroups().size());
|
||||
|
||||
forAll(group.sizeGroups(), i)
|
||||
{
|
||||
sizeGroups_.set(i0 + i, &group.sizeGroups()[i]);
|
||||
|
||||
if
|
||||
(
|
||||
i0 + i != 0
|
||||
&& sizeGroups_[i0 + i - 1].x().value()
|
||||
>= sizeGroups_[i0 + i].x().value()
|
||||
)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Size groups must be specified in order of "
|
||||
<< "their representative size"
|
||||
<< exit(FatalError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//- Retrieve the pointers
|
||||
static void retrieve
|
||||
(
|
||||
const populationBalanceModel& popBal,
|
||||
HashTable<const velocityGroup*>& velGroupPtrs,
|
||||
UPtrList<sizeGroup>& szGroupPtrs
|
||||
)
|
||||
{
|
||||
const objectRegistry& db = popBal.fluid().mesh();
|
||||
|
||||
if (!db.foundObject<groups>(name(popBal.name())))
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "No velocity groups exist for population "
|
||||
<< "balance \"" << popBal.name() << "\""
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
groups& ps =
|
||||
db.lookupObjectRef<groups>(name(popBal.name()));
|
||||
|
||||
velGroupPtrs.transfer(ps.velocityGroupPtrs_);
|
||||
szGroupPtrs.transfer(ps.sizeGroups_);
|
||||
|
||||
ps.checkOut();
|
||||
}
|
||||
|
||||
//- Dummy write for regIOobject
|
||||
virtual bool writeData(Ostream&) const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Private Data
|
||||
|
||||
//- Reference to the phaseSystem
|
||||
@ -328,8 +469,6 @@ class populationBalanceModel
|
||||
|
||||
void registerVelocityGroups();
|
||||
|
||||
void registerSizeGroups(sizeGroup& group);
|
||||
|
||||
void initialiseDmdtfs();
|
||||
|
||||
void createPhasePairs();
|
||||
@ -441,9 +580,6 @@ public:
|
||||
//- Return continuous phase
|
||||
inline const phaseModel& continuousPhase() const;
|
||||
|
||||
//- Return the velocity groups belonging to this populationBalance
|
||||
inline const HashTable<const velocityGroup*>& velocityGroupPtrs() const;
|
||||
|
||||
//- Return the size groups belonging to this populationBalance
|
||||
inline const UPtrList<sizeGroup>& sizeGroups() const;
|
||||
|
||||
|
||||
@ -89,13 +89,6 @@ Foam::diameterModels::populationBalanceModel::continuousPhase() const
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::HashTable<const Foam::diameterModels::velocityGroup*>&
|
||||
Foam::diameterModels::populationBalanceModel::velocityGroupPtrs() const
|
||||
{
|
||||
return velocityGroupPtrs_;
|
||||
}
|
||||
|
||||
|
||||
inline const Foam::UPtrList<Foam::diameterModels::sizeGroup>&
|
||||
Foam::diameterModels::populationBalanceModel::sizeGroups() const
|
||||
{
|
||||
@ -133,7 +126,7 @@ Foam::diameterModels::populationBalanceModel::alphas() const
|
||||
}
|
||||
else
|
||||
{
|
||||
return velocityGroupPtrs_[velocityGroupPtrs_.begin().key()]->phase();
|
||||
return velocityGroupPtrs_.begin()()->phase();
|
||||
}
|
||||
}
|
||||
|
||||
@ -147,8 +140,7 @@ Foam::diameterModels::populationBalanceModel::U() const
|
||||
}
|
||||
else
|
||||
{
|
||||
return
|
||||
velocityGroupPtrs_[velocityGroupPtrs_.begin().key()]->phase().U();
|
||||
return velocityGroupPtrs_.begin()()->phase().U();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,111 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Description
|
||||
Generates initial size group fractions given a distribution. Uses the
|
||||
fDefault.<phase> field file as a reference from which to construct boundary
|
||||
conditions. All boundary conditions in this file must be default
|
||||
constructable, or this will not work.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
type coded;
|
||||
libs ("libutilityFunctionObjects.so");
|
||||
|
||||
phase <phaseName>; // The phase to write
|
||||
// size-group fractions
|
||||
// for
|
||||
|
||||
initialDistributionFile <initialDistributionFileName>; // The file containing
|
||||
// the distribution. In
|
||||
// foam format.
|
||||
|
||||
codeInclude
|
||||
#{
|
||||
#include "stringOps.H"
|
||||
#include "Table.H"
|
||||
#include "volFields.H"
|
||||
#};
|
||||
|
||||
codeRead
|
||||
#{
|
||||
const word phaseName = dict.lookup<word>("phase");
|
||||
|
||||
const fileName initialDistributionFileName =
|
||||
dict.lookup<fileName>("initialDistributionFile");
|
||||
|
||||
const List<dictionary> sizeGroupDicts
|
||||
(
|
||||
IOdictionary
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"phaseProperties",
|
||||
mesh().time().constant(),
|
||||
mesh(),
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
)
|
||||
.subDict(phaseName)
|
||||
.subDict("velocityGroupCoeffs")
|
||||
.lookup("sizeGroups")
|
||||
);
|
||||
|
||||
const Function1s::Table<scalar> initialDistribution
|
||||
(
|
||||
"initialDistribution",
|
||||
dictionary
|
||||
(
|
||||
"format", "foam",
|
||||
"file", initialDistributionFileName
|
||||
)
|
||||
);
|
||||
|
||||
const volScalarField fDefault
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("fDefault", phaseName),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::MUST_READ
|
||||
),
|
||||
mesh()
|
||||
);
|
||||
|
||||
forAll(sizeGroupDicts, i)
|
||||
{
|
||||
volScalarField
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject::groupName("f" + Foam::name(i), phaseName),
|
||||
mesh().time().timeName(),
|
||||
mesh(),
|
||||
IOobject::READ_IF_PRESENT
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar
|
||||
(
|
||||
dimless,
|
||||
initialDistribution.value
|
||||
(
|
||||
dimensionedScalar
|
||||
(
|
||||
"dSph",
|
||||
dimLength,
|
||||
sizeGroupDicts[i]
|
||||
).value()
|
||||
)
|
||||
),
|
||||
fDefault.boundaryField().types()
|
||||
).write();
|
||||
}
|
||||
#};
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -27,7 +27,7 @@ laminar
|
||||
nu0 [0 2 -1 0 0 0 0] 0.01;
|
||||
nuInf [0 2 -1 0 0 0 0] 10;
|
||||
m [0 0 1 0 0 0 0] 0.4;
|
||||
n [0 0 0 0 0 0 0] 3;
|
||||
n [] 3;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.5;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.5;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.99;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.01;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.99;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.01;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.05;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.95;
|
||||
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air;
|
||||
object f19.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air;
|
||||
object f24.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air3;
|
||||
object f28.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air1;
|
||||
object fDefault.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -23,7 +23,9 @@ populationBalances (bubbles);
|
||||
air1
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -32,26 +34,26 @@ air1
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0 {dSph 2.8193481473E-02; value 0.0;}
|
||||
f1 {dSph 3.2273479789E-02; value 0.0;}
|
||||
f2 {dSph 3.6943911970E-02; value 0.0;}
|
||||
f3 {dSph 4.2290222209E-02; value 0.0;}
|
||||
f4 {dSph 4.8410219684E-02; value 0.0;}
|
||||
f5 {dSph 5.5415867956E-02; value 0.0;}
|
||||
f6 {dSph 6.3435333314E-02; value 0.0;}
|
||||
f7 {dSph 7.2615329525E-02; value 0.0;}
|
||||
f8 {dSph 8.3123801935E-02; value 0.0;}
|
||||
f9 {dSph 9.5152999970E-02; value 0.0;}
|
||||
f10{dSph 1.0892299429E-01; value 0.0;}
|
||||
f11{dSph 1.2468570290E-01; value 0.0;}
|
||||
f12{dSph 1.4272949995E-01; value 0.0;}
|
||||
f13{dSph 1.6338449143E-01; value 0.0;}
|
||||
f14{dSph 1.8702855435E-01; value 0.0;}
|
||||
f15{dSph 2.1409424994E-01; value 0.0;}
|
||||
f16{dSph 2.4507673715E-01; value 0.0;}
|
||||
f17{dSph 2.8054283153E-01; value 0.0;}
|
||||
f18{dSph 3.2114137490E-01; value 0.0;}
|
||||
f19{dSph 3.6761510572E-01; value 1.0;}
|
||||
{ dSph 2.8193481473E-02; }
|
||||
{ dSph 3.2273479789E-02; }
|
||||
{ dSph 3.6943911970E-02; }
|
||||
{ dSph 4.2290222209E-02; }
|
||||
{ dSph 4.8410219684E-02; }
|
||||
{ dSph 5.5415867956E-02; }
|
||||
{ dSph 6.3435333314E-02; }
|
||||
{ dSph 7.2615329525E-02; }
|
||||
{ dSph 8.3123801935E-02; }
|
||||
{ dSph 9.5152999970E-02; }
|
||||
{ dSph 1.0892299429E-01; }
|
||||
{ dSph 1.2468570290E-01; }
|
||||
{ dSph 1.4272949995E-01; }
|
||||
{ dSph 1.6338449143E-01; }
|
||||
{ dSph 1.8702855435E-01; }
|
||||
{ dSph 2.1409424994E-01; }
|
||||
{ dSph 2.4507673715E-01; }
|
||||
{ dSph 2.8054283153E-01; }
|
||||
{ dSph 3.2114137490E-01; }
|
||||
{ dSph 3.6761510572E-01; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -61,7 +63,9 @@ air1
|
||||
air2
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -70,11 +74,11 @@ air2
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f20{dSph 4.2081424730E-01; value 1.0;}
|
||||
f21{dSph 4.8171206235E-01; value 0.0;}
|
||||
f22{dSph 5.5142265857E-01; value 0.0;}
|
||||
f23{dSph 6.3122137094E-01; value 0.0;}
|
||||
f24{dSph 7.2256809352E-01; value 0.0;}
|
||||
{ dSph 4.2081424730E-01; }
|
||||
{ dSph 4.8171206235E-01; }
|
||||
{ dSph 5.5142265857E-01; }
|
||||
{ dSph 6.3122137094E-01; }
|
||||
{ dSph 7.2256809352E-01; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -84,7 +88,9 @@ air2
|
||||
air3
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -93,10 +99,10 @@ air3
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f25{dSph 8.2713398787E-01; value 0.0;}
|
||||
f26{dSph 9.4683205641E-01; value 0.0;}
|
||||
f27{dSph 1.0838521403E+00; value 0.0;}
|
||||
f28{dSph 1.2407009818E+00; value 1.0;}
|
||||
{ dSph 8.2713398787E-01; }
|
||||
{ dSph 9.4683205641E-01; }
|
||||
{ dSph 1.0838521403E+00; }
|
||||
{ dSph 1.2407009818E+00; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -106,6 +112,7 @@ air3
|
||||
water
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel none;
|
||||
|
||||
residualAlpha 1e-6;
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.05;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.95;
|
||||
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/breakup/0/f19.air1
Normal file
23
test/multiphaseEuler/populationBalance/breakup/0/f19.air1
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f19.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/breakup/0/f24.air2
Normal file
23
test/multiphaseEuler/populationBalance/breakup/0/f24.air2
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f24.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/breakup/0/f28.air3
Normal file
23
test/multiphaseEuler/populationBalance/breakup/0/f28.air3
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f28.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -23,7 +23,9 @@ populationBalances (bubbles);
|
||||
air1
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -32,26 +34,26 @@ air1
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0 {dSph 2.8193481473E-02; value 0.0;}
|
||||
f1 {dSph 3.2273479789E-02; value 0.0;}
|
||||
f2 {dSph 3.6943911970E-02; value 0.0;}
|
||||
f3 {dSph 4.2290222209E-02; value 0.0;}
|
||||
f4 {dSph 4.8410219684E-02; value 0.0;}
|
||||
f5 {dSph 5.5415867956E-02; value 0.0;}
|
||||
f6 {dSph 6.3435333314E-02; value 0.0;}
|
||||
f7 {dSph 7.2615329525E-02; value 0.0;}
|
||||
f8 {dSph 8.3123801935E-02; value 0.0;}
|
||||
f9 {dSph 9.5152999970E-02; value 0.0;}
|
||||
f10{dSph 1.0892299429E-01; value 0.0;}
|
||||
f11{dSph 1.2468570290E-01; value 0.0;}
|
||||
f12{dSph 1.4272949995E-01; value 0.0;}
|
||||
f13{dSph 1.6338449143E-01; value 0.0;}
|
||||
f14{dSph 1.8702855435E-01; value 0.0;}
|
||||
f15{dSph 2.1409424994E-01; value 0.0;}
|
||||
f16{dSph 2.4507673715E-01; value 0.0;}
|
||||
f17{dSph 2.8054283153E-01; value 0.0;}
|
||||
f18{dSph 3.2114137490E-01; value 0.0;}
|
||||
f19{dSph 3.6761510572E-01; value 1.0;}
|
||||
{ dSph 2.8193481473E-02; }
|
||||
{ dSph 3.2273479789E-02; }
|
||||
{ dSph 3.6943911970E-02; }
|
||||
{ dSph 4.2290222209E-02; }
|
||||
{ dSph 4.8410219684E-02; }
|
||||
{ dSph 5.5415867956E-02; }
|
||||
{ dSph 6.3435333314E-02; }
|
||||
{ dSph 7.2615329525E-02; }
|
||||
{ dSph 8.3123801935E-02; }
|
||||
{ dSph 9.5152999970E-02; }
|
||||
{ dSph 1.0892299429E-01; }
|
||||
{ dSph 1.2468570290E-01; }
|
||||
{ dSph 1.4272949995E-01; }
|
||||
{ dSph 1.6338449143E-01; }
|
||||
{ dSph 1.8702855435E-01; }
|
||||
{ dSph 2.1409424994E-01; }
|
||||
{ dSph 2.4507673715E-01; }
|
||||
{ dSph 2.8054283153E-01; }
|
||||
{ dSph 3.2114137490E-01; }
|
||||
{ dSph 3.6761510572E-01; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -61,7 +63,9 @@ air1
|
||||
air2
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -70,11 +74,11 @@ air2
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f20{dSph 4.2081424730E-01; value 1.0;}
|
||||
f21{dSph 4.8171206235E-01; value 0.0;}
|
||||
f22{dSph 5.5142265857E-01; value 0.0;}
|
||||
f23{dSph 6.3122137094E-01; value 0.0;}
|
||||
f24{dSph 7.2256809352E-01; value 0.0;}
|
||||
{ dSph 4.2081424730E-01; }
|
||||
{ dSph 4.8171206235E-01; }
|
||||
{ dSph 5.5142265857E-01; }
|
||||
{ dSph 6.3122137094E-01; }
|
||||
{ dSph 7.2256809352E-01; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -84,7 +88,9 @@ air2
|
||||
air3
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -93,10 +99,10 @@ air3
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f25{dSph 8.2713398787E-01; value 0.0;}
|
||||
f26{dSph 9.4683205641E-01; value 0.0;}
|
||||
f27{dSph 1.0838521403E+00; value 0.0;}
|
||||
f28{dSph 1.2407009818E+00; value 1.0;}
|
||||
{ dSph 8.2713398787E-01; }
|
||||
{ dSph 9.4683205641E-01; }
|
||||
{ dSph 1.0838521403E+00; }
|
||||
{ dSph 1.2407009818E+00; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -106,6 +112,7 @@ air3
|
||||
water
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel none;
|
||||
|
||||
residualAlpha 1e-6;
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 5.408481e-02;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 9.459152e-01;
|
||||
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -1,23 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f47.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f56.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -6,6 +6,6 @@ cd "${0%/*}" || exit 1
|
||||
# Source clean functions
|
||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||
|
||||
cleanCase && rm -f numberDensity.eps
|
||||
cleanCase && rm -f 0/f[0-9]*.air1 numberDensity.eps
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -7,6 +7,13 @@ cd "${0%/*}" || exit 1
|
||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||
|
||||
runApplication zeroDimensionalMesh
|
||||
runApplication foamPostProcess -func "
|
||||
populationBalanceInitialDistributionFs
|
||||
(
|
||||
phase=air1,
|
||||
initialDistributionFile=\"constant/initialDistribution.air1\"
|
||||
)
|
||||
"
|
||||
runApplication $(getApplication)
|
||||
|
||||
( cd validation && ./createGraphs )
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
(
|
||||
(2.6472201610E-02 5.0000000000E-10)
|
||||
(2.8516314790E-02 2.0000000000E-10)
|
||||
(3.0718268709E-02 4.0000000000E-10)
|
||||
(3.3090252012E-02 8.0000000000E-10)
|
||||
(3.5645392557E-02 1.5000000000E-09)
|
||||
(3.8397835576E-02 2.9000000000E-09)
|
||||
(4.1362814395E-02 5.7000000000E-09)
|
||||
(4.4556741007E-02 1.1000000000E-08)
|
||||
(4.7997294160E-02 2.1500000000E-08)
|
||||
(5.1703518614E-02 4.2000000000E-08)
|
||||
(5.5695926879E-02 8.1900000000E-08)
|
||||
(5.9996618320E-02 1.5950000000E-07)
|
||||
(6.4629397027E-02 3.1070000000E-07)
|
||||
(6.9619908288E-02 6.0460000000E-07)
|
||||
(7.4995772590E-02 1.1757000000E-06)
|
||||
(8.0786746904E-02 2.2836000000E-06)
|
||||
(8.7024884740E-02 4.4295000000E-06)
|
||||
(9.3744716047E-02 8.5770000000E-06)
|
||||
(1.0098343332E-01 1.6572400000E-05)
|
||||
(1.0878110624E-01 3.1934500000E-05)
|
||||
(1.1718089506E-01 6.1329900000E-05)
|
||||
(1.2622929258E-01 1.1728840000E-04)
|
||||
(1.3597638341E-01 2.2312640000E-04)
|
||||
(1.4647611820E-01 4.2168510000E-04)
|
||||
(1.5778661510E-01 7.9041010000E-04)
|
||||
(1.6997047865E-01 1.4663924000E-03)
|
||||
(1.8309514838E-01 2.6857456000E-03)
|
||||
(1.9723326857E-01 4.8406166000E-03)
|
||||
(2.1246309893E-01 8.5509222000E-03)
|
||||
(2.2886893516E-01 1.4730611700E-02)
|
||||
(2.4654158664E-01 2.4592238100E-02)
|
||||
(2.6557887273E-01 3.9476363300E-02)
|
||||
(2.8608616864E-01 6.0336272800E-02)
|
||||
(3.0817698237E-01 8.6735651800E-02)
|
||||
(3.3197359122E-01 1.1548859450E-01)
|
||||
(3.5760771049E-01 1.3972798580E-01)
|
||||
(3.8522122921E-01 1.4997928090E-01)
|
||||
(4.1496698934E-01 1.3860649860E-01)
|
||||
(4.4700963811E-01 1.0624083860E-01)
|
||||
(4.8152653620E-01 6.4453106200E-02)
|
||||
(5.1870873668E-01 2.9191189700E-02)
|
||||
(5.5876204826E-01 9.1744326000E-03)
|
||||
(6.0190816932E-01 1.8262321000E-03)
|
||||
(6.4838592116E-01 2.0539720000E-04)
|
||||
(6.9845255939E-01 1.1316400000E-05)
|
||||
(7.5238521196E-01 2.5550000000E-07)
|
||||
(8.1048240020E-01 1.9000000000E-09)
|
||||
)
|
||||
@ -23,7 +23,9 @@ populationBalances (bubbles);
|
||||
air1
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -32,54 +34,53 @@ air1
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0 {dSph 2.6472201610E-02; value 5.0000000000E-10;}
|
||||
f1 {dSph 2.8516314790E-02; value 2.0000000000E-10;}
|
||||
f2 {dSph 3.0718268709E-02; value 4.0000000000E-10;}
|
||||
f3 {dSph 3.3090252012E-02; value 8.0000000000E-10;}
|
||||
f4 {dSph 3.5645392557E-02; value 1.5000000000E-09;}
|
||||
f5 {dSph 3.8397835576E-02; value 2.9000000000E-09;}
|
||||
f6 {dSph 4.1362814395E-02; value 5.7000000000E-09;}
|
||||
f7 {dSph 4.4556741007E-02; value 1.1000000000E-08;}
|
||||
f8 {dSph 4.7997294160E-02; value 2.1500000000E-08;}
|
||||
f9 {dSph 5.1703518614E-02; value 4.2000000000E-08;}
|
||||
f10{dSph 5.5695926879E-02; value 8.1900000000E-08;}
|
||||
f11{dSph 5.9996618320E-02; value 1.5950000000E-07;}
|
||||
f12{dSph 6.4629397027E-02; value 3.1070000000E-07;}
|
||||
f13{dSph 6.9619908288E-02; value 6.0460000000E-07;}
|
||||
f14{dSph 7.4995772590E-02; value 1.1757000000E-06;}
|
||||
f15{dSph 8.0786746904E-02; value 2.2836000000E-06;}
|
||||
f16{dSph 8.7024884740E-02; value 4.4295000000E-06;}
|
||||
f17{dSph 9.3744716047E-02; value 8.5770000000E-06;}
|
||||
f18{dSph 1.0098343332E-01; value 1.6572400000E-05;}
|
||||
f19{dSph 1.0878110624E-01; value 3.1934500000E-05;}
|
||||
f20{dSph 1.1718089506E-01; value 6.1329900000E-05;}
|
||||
f21{dSph 1.2622929258E-01; value 1.1728840000E-04;}
|
||||
f22{dSph 1.3597638341E-01; value 2.2312640000E-04;}
|
||||
f23{dSph 1.4647611820E-01; value 4.2168510000E-04;}
|
||||
f24{dSph 1.5778661510E-01; value 7.9041010000E-04;}
|
||||
f25{dSph 1.6997047865E-01; value 1.4663924000E-03;}
|
||||
f26{dSph 1.8309514838E-01; value 2.6857456000E-03;}
|
||||
f27{dSph 1.9723326857E-01; value 4.8406166000E-03;}
|
||||
f28{dSph 2.1246309893E-01; value 8.5509222000E-03;}
|
||||
f29{dSph 2.2886893516E-01; value 1.4730611700E-02;}
|
||||
f30{dSph 2.4654158664E-01; value 2.4592238100E-02;}
|
||||
f31{dSph 2.6557887273E-01; value 3.9476363300E-02;}
|
||||
f32{dSph 2.8608616864E-01; value 6.0336272800E-02;}
|
||||
f33{dSph 3.0817698237E-01; value 8.6735651800E-02;}
|
||||
f34{dSph 3.3197359122E-01; value 1.1548859450E-01;}
|
||||
f35{dSph 3.5760771049E-01; value 1.3972798580E-01;}
|
||||
f36{dSph 3.8522122921E-01; value 1.4997928090E-01;}
|
||||
f37{dSph 4.1496698934E-01; value 1.3860649860E-01;}
|
||||
f38{dSph 4.4700963811E-01; value 1.0624083860E-01;}
|
||||
f39{dSph 4.8152653620E-01; value 6.4453106200E-02;}
|
||||
f40{dSph 5.1870873668E-01; value 2.9191189700E-02;}
|
||||
f41{dSph 5.5876204826E-01; value 9.1744326000E-03;}
|
||||
f42{dSph 6.0190816932E-01; value 1.8262321000E-03;}
|
||||
f43{dSph 6.4838592116E-01; value 2.0539720000E-04;}
|
||||
f44{dSph 6.9845255939E-01; value 1.1316400000E-05;}
|
||||
f45{dSph 7.5238521196E-01; value 2.5550000000E-07;}
|
||||
f46{dSph 8.1048240020E-01; value 1.9000000000E-09;}
|
||||
|
||||
{ dSph 2.6472201610E-02; }
|
||||
{ dSph 2.8516314790E-02; }
|
||||
{ dSph 3.0718268709E-02; }
|
||||
{ dSph 3.3090252012E-02; }
|
||||
{ dSph 3.5645392557E-02; }
|
||||
{ dSph 3.8397835576E-02; }
|
||||
{ dSph 4.1362814395E-02; }
|
||||
{ dSph 4.4556741007E-02; }
|
||||
{ dSph 4.7997294160E-02; }
|
||||
{ dSph 5.1703518614E-02; }
|
||||
{ dSph 5.5695926879E-02; }
|
||||
{ dSph 5.9996618320E-02; }
|
||||
{ dSph 6.4629397027E-02; }
|
||||
{ dSph 6.9619908288E-02; }
|
||||
{ dSph 7.4995772590E-02; }
|
||||
{ dSph 8.0786746904E-02; }
|
||||
{ dSph 8.7024884740E-02; }
|
||||
{ dSph 9.3744716047E-02; }
|
||||
{ dSph 1.0098343332E-01; }
|
||||
{ dSph 1.0878110624E-01; }
|
||||
{ dSph 1.1718089506E-01; }
|
||||
{ dSph 1.2622929258E-01; }
|
||||
{ dSph 1.3597638341E-01; }
|
||||
{ dSph 1.4647611820E-01; }
|
||||
{ dSph 1.5778661510E-01; }
|
||||
{ dSph 1.6997047865E-01; }
|
||||
{ dSph 1.8309514838E-01; }
|
||||
{ dSph 1.9723326857E-01; }
|
||||
{ dSph 2.1246309893E-01; }
|
||||
{ dSph 2.2886893516E-01; }
|
||||
{ dSph 2.4654158664E-01; }
|
||||
{ dSph 2.6557887273E-01; }
|
||||
{ dSph 2.8608616864E-01; }
|
||||
{ dSph 3.0817698237E-01; }
|
||||
{ dSph 3.3197359122E-01; }
|
||||
{ dSph 3.5760771049E-01; }
|
||||
{ dSph 3.8522122921E-01; }
|
||||
{ dSph 4.1496698934E-01; }
|
||||
{ dSph 4.4700963811E-01; }
|
||||
{ dSph 4.8152653620E-01; }
|
||||
{ dSph 5.1870873668E-01; }
|
||||
{ dSph 5.5876204826E-01; }
|
||||
{ dSph 6.0190816932E-01; }
|
||||
{ dSph 6.4838592116E-01; }
|
||||
{ dSph 6.9845255939E-01; }
|
||||
{ dSph 7.5238521196E-01; }
|
||||
{ dSph 8.1048240020E-01; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -89,7 +90,9 @@ air1
|
||||
air2
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -98,15 +101,15 @@ air2
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f47{dSph 8.7306570017E-01; value 1.0000000000E+00;}
|
||||
f48{dSph 9.4048151557E-01; value 0.0000000000E+00;}
|
||||
f49{dSph 1.0131030009E+00; value 0.0000000000E+00;}
|
||||
f50{dSph 1.0913321246E+00; value 0.0000000000E+00;}
|
||||
f51{dSph 1.1756018938E+00; value 0.0000000000E+00;}
|
||||
f52{dSph 1.2663787514E+00; value 0.0000000000E+00;}
|
||||
f53{dSph 1.3641651564E+00; value 0.0000000000E+00;}
|
||||
f54{dSph 1.4695023670E+00; value 0.0000000000E+00;}
|
||||
f55{dSph 1.5829734383E+00; value 0.0000000000E+00;}
|
||||
{ dSph 8.7306570017E-01; }
|
||||
{ dSph 9.4048151557E-01; }
|
||||
{ dSph 1.0131030009E+00; }
|
||||
{ dSph 1.0913321246E+00; }
|
||||
{ dSph 1.1756018938E+00; }
|
||||
{ dSph 1.2663787514E+00; }
|
||||
{ dSph 1.3641651564E+00; }
|
||||
{ dSph 1.4695023670E+00; }
|
||||
{ dSph 1.5829734383E+00; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -116,7 +119,9 @@ air2
|
||||
air3
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -125,21 +130,21 @@ air3
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f56{dSph 1.7052064454E+00; value 1.0000000000E+00;}
|
||||
f57{dSph 1.8368779600E+00; value 0.0000000000E+00;}
|
||||
f58{dSph 1.9787167982E+00; value 0.0000000000E+00;}
|
||||
f59{dSph 2.1315080559E+00; value 0.0000000000E+00;}
|
||||
f60{dSph 2.2960974494E+00; value 0.0000000000E+00;}
|
||||
f61{dSph 2.4733959981E+00; value 0.0000000000E+00;}
|
||||
f62{dSph 2.6643850705E+00; value 0.0000000000E+00;}
|
||||
f63{dSph 2.8701218120E+00; value 0.0000000000E+00;}
|
||||
f64{dSph 3.0917449976E+00; value 0.0000000000E+00;}
|
||||
f65{dSph 3.3304813381E+00; value 0.0000000000E+00;}
|
||||
f66{dSph 3.5876522644E+00; value 0.0000000000E+00;}
|
||||
f67{dSph 3.8646812476E+00; value 0.0000000000E+00;}
|
||||
f68{dSph 4.1631016726E+00; value 0.0000000000E+00;}
|
||||
f69{dSph 4.4845653305E+00; value 0.0000000000E+00;}
|
||||
f70{dSph 4.8308515589E+00; value 0.0000000000E+00;}
|
||||
{ dSph 1.7052064454E+00; }
|
||||
{ dSph 1.8368779600E+00; }
|
||||
{ dSph 1.9787167982E+00; }
|
||||
{ dSph 2.1315080559E+00; }
|
||||
{ dSph 2.2960974494E+00; }
|
||||
{ dSph 2.4733959981E+00; }
|
||||
{ dSph 2.6643850705E+00; }
|
||||
{ dSph 2.8701218120E+00; }
|
||||
{ dSph 3.0917449976E+00; }
|
||||
{ dSph 3.3304813381E+00; }
|
||||
{ dSph 3.5876522644E+00; }
|
||||
{ dSph 3.8646812476E+00; }
|
||||
{ dSph 4.1631016726E+00; }
|
||||
{ dSph 4.4845653305E+00; }
|
||||
{ dSph 4.8308515589E+00; }
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.066553351;
|
||||
|
||||
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f10.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f10.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f10.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.1429;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f11.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f11.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f11.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.1758;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f12.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f12.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f12.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.2146;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f13.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f13.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f13.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.2599;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f8.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f8.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f8.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.0918;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/f9.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/f9.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f9.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.1151;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
23
test/multiphaseEuler/populationBalance/drift/0/fDefault.air
Normal file
23
test/multiphaseEuler/populationBalance/drift/0/fDefault.air
Normal file
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField {}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -25,7 +25,9 @@ populationBalances (bubbles);
|
||||
air
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel velocityGroup;
|
||||
|
||||
velocityGroupCoeffs
|
||||
{
|
||||
populationBalance bubbles;
|
||||
@ -34,35 +36,35 @@ air
|
||||
|
||||
sizeGroups
|
||||
(
|
||||
f0 {dSph 1.000; value 0.0000;}
|
||||
f1 {dSph 1.074; value 0.0000;}
|
||||
f2 {dSph 1.147; value 0.0000;}
|
||||
f3 {dSph 1.221; value 0.0000;}
|
||||
f4 {dSph 1.294; value 0.0000;}
|
||||
f5 {dSph 1.368; value 0.0000;}
|
||||
f6 {dSph 1.441; value 0.0000;}
|
||||
f7 {dSph 1.515; value 0.0000;}
|
||||
f8 {dSph 1.588; value 0.0918;}
|
||||
f9 {dSph 1.662; value 0.1151;}
|
||||
f10{dSph 1.735; value 0.1429;}
|
||||
f11{dSph 1.809; value 0.1758;}
|
||||
f12{dSph 1.882; value 0.2146;}
|
||||
f13{dSph 1.956; value 0.2599;}
|
||||
f14{dSph 2.029; value 0.0000;}
|
||||
f15{dSph 2.103; value 0.0000;}
|
||||
f16{dSph 2.176; value 0.0000;}
|
||||
f17{dSph 2.250; value 0.0000;}
|
||||
f18{dSph 2.323; value 0.0000;}
|
||||
f19{dSph 2.397; value 0.0000;}
|
||||
f20{dSph 2.470; value 0.0000;}
|
||||
f21{dSph 2.544; value 0.0000;}
|
||||
f22{dSph 2.617; value 0.0000;}
|
||||
f23{dSph 2.691; value 0.0000;}
|
||||
f24{dSph 2.764; value 0.0000;}
|
||||
f25{dSph 2.838; value 0.0000;}
|
||||
f26{dSph 2.911; value 0.0000;}
|
||||
f27{dSph 2.985; value 0.0000;}
|
||||
f28{dSph 3.058; value 0.0000;}
|
||||
{ dSph 1.000; }
|
||||
{ dSph 1.074; }
|
||||
{ dSph 1.147; }
|
||||
{ dSph 1.221; }
|
||||
{ dSph 1.294; }
|
||||
{ dSph 1.368; }
|
||||
{ dSph 1.441; }
|
||||
{ dSph 1.515; }
|
||||
{ dSph 1.588; }
|
||||
{ dSph 1.662; }
|
||||
{ dSph 1.735; }
|
||||
{ dSph 1.809; }
|
||||
{ dSph 1.882; }
|
||||
{ dSph 1.956; }
|
||||
{ dSph 2.029; }
|
||||
{ dSph 2.103; }
|
||||
{ dSph 2.176; }
|
||||
{ dSph 2.250; }
|
||||
{ dSph 2.323; }
|
||||
{ dSph 2.397; }
|
||||
{ dSph 2.470; }
|
||||
{ dSph 2.544; }
|
||||
{ dSph 2.617; }
|
||||
{ dSph 2.691; }
|
||||
{ dSph 2.764; }
|
||||
{ dSph 2.838; }
|
||||
{ dSph 2.911; }
|
||||
{ dSph 2.985; }
|
||||
{ dSph 3.058; }
|
||||
);
|
||||
}
|
||||
|
||||
@ -72,6 +74,7 @@ air
|
||||
water
|
||||
{
|
||||
type pureIsothermalPhaseModel;
|
||||
|
||||
diameterModel none;
|
||||
|
||||
residualAlpha 1e-6;
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0.0;
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1.0;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air2;
|
||||
object f0.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
@ -25,7 +25,7 @@ boundaryField
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1.0;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
@ -10,13 +10,13 @@ FoamFile
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f.air3;
|
||||
object f11.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1.0;
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
@ -25,7 +25,7 @@ boundaryField
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1.0;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object f6.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air2;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Version: dev
|
||||
\\/ M anipulation |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object fDefault.air3;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
#includeEtc "caseDicts/setConstraintTypes"
|
||||
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value $internalField;
|
||||
}
|
||||
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user