mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
STYLE: intermediate lib: parcelDistributionModel->sizeDistribution
This commit is contained in:
@ -95,9 +95,12 @@ Foam::ConeInjection<CloudType>::ConeInjection
|
||||
Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())),
|
||||
thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())),
|
||||
thetaOuter_(DataEntry<scalar>::New("thetaOuter", this->coeffDict())),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New(this->coeffDict().subDict("parcelDistributionModel"), owner.rndGen())
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("sizeDistribution"), owner.rndGen()
|
||||
)
|
||||
),
|
||||
tanVec1_(vector::zero),
|
||||
tanVec2_(vector::zero)
|
||||
@ -153,7 +156,7 @@ Foam::ConeInjection<CloudType>::ConeInjection
|
||||
Umag_(im.Umag_().clone().ptr()),
|
||||
thetaInner_(im.thetaInner_().clone().ptr()),
|
||||
thetaOuter_(im.thetaOuter_().clone().ptr()),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()),
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
||||
tanVec1_(im.tanVec1_),
|
||||
tanVec2_(im.tanVec2_)
|
||||
{}
|
||||
@ -222,7 +225,7 @@ void Foam::ConeInjection<CloudType>::setProperties
|
||||
parcel.U() = Umag_().value(t)*dirVec;
|
||||
|
||||
// set particle diameter
|
||||
parcel.d() = parcelDistributionModel_().sample();
|
||||
parcel.d() = sizeDistribution_().sample();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ class ConeInjection
|
||||
const autoPtr<DataEntry<scalar> > thetaOuter_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||
|
||||
|
||||
// Tangential vectors to the direction vector
|
||||
|
||||
@ -126,9 +126,12 @@ Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
|
||||
Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())),
|
||||
thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())),
|
||||
thetaOuter_(DataEntry<scalar>::New("thetaOuter", this->coeffDict())),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New(this->coeffDict().subDict("parcelDistributionModel"), owner.rndGen())
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("sizeDistribution"), owner.rndGen()
|
||||
)
|
||||
),
|
||||
nInjected_(this->parcelsAddedTotal()),
|
||||
tanVec1_(positions_.size()),
|
||||
@ -193,7 +196,7 @@ Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
|
||||
Umag_(im.Umag_().clone().ptr()),
|
||||
thetaInner_(im.thetaInner_().clone().ptr()),
|
||||
thetaOuter_(im.thetaOuter_().clone().ptr()),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()),
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
||||
nInjected_(im.nInjected_),
|
||||
tanVec1_(im.tanVec1_),
|
||||
tanVec2_(im.tanVec2_)
|
||||
@ -268,7 +271,7 @@ void Foam::ConeInjectionMP<CloudType>::setProperties
|
||||
parcel.U() = Umag_().value(t)*dirVec;
|
||||
|
||||
// set particle diameter
|
||||
parcel.d() = parcelDistributionModel_().sample();
|
||||
parcel.d() = sizeDistribution_().sample();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -109,7 +109,7 @@ class ConeInjectionMP
|
||||
const autoPtr<DataEntry<scalar> > thetaOuter_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||
|
||||
//- Number of parcels per injector already injected
|
||||
mutable label nInjected_;
|
||||
|
||||
@ -114,11 +114,11 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
|
||||
nParcelsInjected_(positions_.size(), 0),
|
||||
U0_(this->coeffDict().lookup("U0")),
|
||||
diameters_(positions_.size()),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("parcelDistributionModel"),
|
||||
this->coeffDict().subDict("sizeDistribution"),
|
||||
owner.rndGen()
|
||||
)
|
||||
)
|
||||
@ -126,7 +126,7 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
|
||||
// Construct parcel diameters - one per injector cell
|
||||
forAll(diameters_, i)
|
||||
{
|
||||
diameters_[i] = parcelDistributionModel_->sample();
|
||||
diameters_[i] = sizeDistribution_->sample();
|
||||
}
|
||||
|
||||
// Determine total volume of particles to inject
|
||||
@ -166,7 +166,7 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
|
||||
nParcelsInjected_(im.nParcelsInjected_),
|
||||
U0_(im.U0_),
|
||||
diameters_(im.diameters_),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr())
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr())
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -111,7 +111,8 @@ class FieldActivatedInjection
|
||||
scalarList diameters_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel>
|
||||
sizeDistribution_;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@ -90,7 +90,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
(
|
||||
1,
|
||||
(10*volumeAccumulator_)
|
||||
/CloudType::parcelType::volume(parcelDistributionModel_().minValue())
|
||||
/CloudType::parcelType::volume(sizeDistribution_().minValue())
|
||||
);
|
||||
|
||||
label iterationNo = 0;
|
||||
@ -128,7 +128,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
{
|
||||
if (selfSeed_ && !cellCentresUsed.found(cI))
|
||||
{
|
||||
scalar dNew = parcelDistributionModel_().sample();
|
||||
scalar dNew = sizeDistribution_().sample();
|
||||
|
||||
newParticles_.append
|
||||
(
|
||||
@ -191,7 +191,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
scalar R = sqrt(3.0)*a/(2.0*sqrt(2.0));
|
||||
scalar d = a/(2.0*sqrt(3.0));
|
||||
|
||||
scalar dNew = parcelDistributionModel_().sample();
|
||||
scalar dNew = sizeDistribution_().sample();
|
||||
scalar volNew = CloudType::parcelType::volume(dNew);
|
||||
|
||||
newParticles_.append
|
||||
@ -204,7 +204,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
);
|
||||
volumeAccumulator_ -= volNew;
|
||||
|
||||
dNew = parcelDistributionModel_().sample();
|
||||
dNew = sizeDistribution_().sample();
|
||||
newParticles_.append
|
||||
(
|
||||
vectorPairScalarPair
|
||||
@ -215,7 +215,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
);
|
||||
volumeAccumulator_ -= volNew;
|
||||
|
||||
dNew = parcelDistributionModel_().sample();
|
||||
dNew = sizeDistribution_().sample();
|
||||
newParticles_.append
|
||||
(
|
||||
vectorPairScalarPair
|
||||
@ -226,7 +226,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
|
||||
);
|
||||
volumeAccumulator_ -= volNew;
|
||||
|
||||
dNew = parcelDistributionModel_().sample();
|
||||
dNew = sizeDistribution_().sample();
|
||||
newParticles_.append
|
||||
(
|
||||
vectorPairScalarPair
|
||||
@ -341,11 +341,11 @@ Foam::InflationInjection<CloudType>::InflationInjection
|
||||
fraction_(1.0),
|
||||
selfSeed_(this->coeffDict().lookupOrDefault("selfSeed", false)),
|
||||
dSeed_(SMALL),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("parcelDistributionModel"),
|
||||
this->coeffDict().subDict("sizeDistribution"),
|
||||
owner.rndGen()
|
||||
)
|
||||
)
|
||||
@ -409,7 +409,7 @@ Foam::InflationInjection<CloudType>::InflationInjection
|
||||
fraction_(im.fraction_),
|
||||
selfSeed_(im.selfSeed_),
|
||||
dSeed_(im.dSeed_),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr())
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr())
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -108,7 +108,7 @@ class InflationInjection
|
||||
scalar dSeed_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@ -96,11 +96,11 @@ Foam::ManualInjection<CloudType>::ManualInjection
|
||||
injectorTetFaces_(positions_.size(), -1),
|
||||
injectorTetPts_(positions_.size(), -1),
|
||||
U0_(this->coeffDict().lookup("U0")),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("parcelDistributionModel"),
|
||||
this->coeffDict().subDict("sizeDistribution"),
|
||||
owner.rndGen()
|
||||
)
|
||||
)
|
||||
@ -149,7 +149,7 @@ Foam::ManualInjection<CloudType>::ManualInjection
|
||||
// Construct parcel diameters
|
||||
forAll(diameters_, i)
|
||||
{
|
||||
diameters_[i] = parcelDistributionModel_->sample();
|
||||
diameters_[i] = sizeDistribution_->sample();
|
||||
}
|
||||
|
||||
// Determine volume of particles to inject
|
||||
@ -171,7 +171,7 @@ Foam::ManualInjection<CloudType>::ManualInjection
|
||||
injectorTetFaces_(im.injectorTetFaces_),
|
||||
injectorTetPts_(im.injectorTetPts_),
|
||||
U0_(im.U0_),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr())
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr())
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ class ManualInjection
|
||||
const vector U0_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
@ -104,11 +104,11 @@ Foam::PatchInjection<CloudType>::PatchInjection
|
||||
(
|
||||
DataEntry<scalar>::New("flowRateProfile", this->coeffDict())
|
||||
),
|
||||
parcelDistributionModel_
|
||||
sizeDistribution_
|
||||
(
|
||||
distributionModels::distributionModel::New
|
||||
(
|
||||
this->coeffDict().subDict("parcelDistributionModel"),
|
||||
this->coeffDict().subDict("sizeDistribution"),
|
||||
owner.rndGen()
|
||||
)
|
||||
),
|
||||
@ -157,7 +157,7 @@ Foam::PatchInjection<CloudType>::PatchInjection
|
||||
parcelsPerSecond_(im.parcelsPerSecond_),
|
||||
U0_(im.U0_),
|
||||
flowRateProfile_(im.flowRateProfile_().clone().ptr()),
|
||||
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()),
|
||||
sizeDistribution_(im.sizeDistribution_().clone().ptr()),
|
||||
cellOwners_(im.cellOwners_),
|
||||
fraction_(im.fraction_)
|
||||
{}
|
||||
@ -240,7 +240,7 @@ void Foam::PatchInjection<CloudType>::setProperties
|
||||
parcel.U() = U0_;
|
||||
|
||||
// set particle diameter
|
||||
parcel.d() = parcelDistributionModel_->sample();
|
||||
parcel.d() = sizeDistribution_->sample();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ class PatchInjection
|
||||
const autoPtr<DataEntry<scalar> > flowRateProfile_;
|
||||
|
||||
//- Parcel size distribution model model
|
||||
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_;
|
||||
const autoPtr<distributionModels::distributionModel> sizeDistribution_;
|
||||
|
||||
//- List of cell labels corresponding to injector positions
|
||||
labelList cellOwners_;
|
||||
|
||||
@ -131,7 +131,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "coalCloud1Positions";
|
||||
U0 ( 0 -10 0 );
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -107,7 +107,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "limestonePositions";
|
||||
U0 ( 0 0 0 );
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -130,7 +130,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "reactingCloud1Positions";
|
||||
U0 (0 0 0);
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType uniform;
|
||||
uniformDistribution
|
||||
|
||||
@ -133,7 +133,7 @@ subModels
|
||||
parcelsPerSecond 1e5;
|
||||
U0 (40 0 0);
|
||||
flowRateProfile constant 1;
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType general;
|
||||
generalDistribution
|
||||
|
||||
@ -131,7 +131,7 @@ subModels
|
||||
thetaInner constant 0;
|
||||
thetaOuter constant 45;
|
||||
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -59,7 +59,7 @@ thermoSingleLayerCoeffs
|
||||
|
||||
particlesPerParcel 100.0;
|
||||
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -131,7 +131,7 @@ subModels
|
||||
thetaInner constant 0;
|
||||
thetaOuter constant 45;
|
||||
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -61,7 +61,7 @@ thermoSingleLayerCoeffs
|
||||
|
||||
particlesPerParcel 100.0;
|
||||
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -123,7 +123,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "reactingCloud1Positions";
|
||||
U0 ( 0 0 0 );
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType uniform;
|
||||
uniformDistribution
|
||||
|
||||
@ -87,7 +87,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "kinematicCloud1Positions";
|
||||
U0 ( 0 0 0 );
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -106,7 +106,7 @@ subModels
|
||||
SOI 0;
|
||||
positionsFile "thermoCloud1Positions";
|
||||
U0 ( 0 0 0 );
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
|
||||
@ -144,7 +144,7 @@ subModels
|
||||
duration 1; // NOTE: set to 1 for steady state
|
||||
U0 (0 40 0);
|
||||
flowRateProfile constant 1;
|
||||
parcelDistribution
|
||||
sizeDistribution
|
||||
{
|
||||
pdfType general;
|
||||
generalDistribution
|
||||
|
||||
Reference in New Issue
Block a user