STYLE: intermediate lib: parcelDistributionModel->sizeDistribution

This commit is contained in:
andy
2011-02-02 10:45:55 +00:00
parent e3dc7cf667
commit f4f38c3ccb
24 changed files with 54 additions and 47 deletions

View File

@ -95,9 +95,12 @@ Foam::ConeInjection<CloudType>::ConeInjection
Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())), Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())),
thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())), thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())),
thetaOuter_(DataEntry<scalar>::New("thetaOuter", 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), tanVec1_(vector::zero),
tanVec2_(vector::zero) tanVec2_(vector::zero)
@ -153,7 +156,7 @@ Foam::ConeInjection<CloudType>::ConeInjection
Umag_(im.Umag_().clone().ptr()), Umag_(im.Umag_().clone().ptr()),
thetaInner_(im.thetaInner_().clone().ptr()), thetaInner_(im.thetaInner_().clone().ptr()),
thetaOuter_(im.thetaOuter_().clone().ptr()), thetaOuter_(im.thetaOuter_().clone().ptr()),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()), sizeDistribution_(im.sizeDistribution_().clone().ptr()),
tanVec1_(im.tanVec1_), tanVec1_(im.tanVec1_),
tanVec2_(im.tanVec2_) tanVec2_(im.tanVec2_)
{} {}
@ -222,7 +225,7 @@ void Foam::ConeInjection<CloudType>::setProperties
parcel.U() = Umag_().value(t)*dirVec; parcel.U() = Umag_().value(t)*dirVec;
// set particle diameter // set particle diameter
parcel.d() = parcelDistributionModel_().sample(); parcel.d() = sizeDistribution_().sample();
} }

View File

@ -102,7 +102,7 @@ class ConeInjection
const autoPtr<DataEntry<scalar> > thetaOuter_; const autoPtr<DataEntry<scalar> > thetaOuter_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel> sizeDistribution_;
// Tangential vectors to the direction vector // Tangential vectors to the direction vector

View File

@ -126,9 +126,12 @@ Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())), Umag_(DataEntry<scalar>::New("Umag", this->coeffDict())),
thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())), thetaInner_(DataEntry<scalar>::New("thetaInner", this->coeffDict())),
thetaOuter_(DataEntry<scalar>::New("thetaOuter", 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()), nInjected_(this->parcelsAddedTotal()),
tanVec1_(positions_.size()), tanVec1_(positions_.size()),
@ -193,7 +196,7 @@ Foam::ConeInjectionMP<CloudType>::ConeInjectionMP
Umag_(im.Umag_().clone().ptr()), Umag_(im.Umag_().clone().ptr()),
thetaInner_(im.thetaInner_().clone().ptr()), thetaInner_(im.thetaInner_().clone().ptr()),
thetaOuter_(im.thetaOuter_().clone().ptr()), thetaOuter_(im.thetaOuter_().clone().ptr()),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()), sizeDistribution_(im.sizeDistribution_().clone().ptr()),
nInjected_(im.nInjected_), nInjected_(im.nInjected_),
tanVec1_(im.tanVec1_), tanVec1_(im.tanVec1_),
tanVec2_(im.tanVec2_) tanVec2_(im.tanVec2_)
@ -268,7 +271,7 @@ void Foam::ConeInjectionMP<CloudType>::setProperties
parcel.U() = Umag_().value(t)*dirVec; parcel.U() = Umag_().value(t)*dirVec;
// set particle diameter // set particle diameter
parcel.d() = parcelDistributionModel_().sample(); parcel.d() = sizeDistribution_().sample();
} }

View File

@ -109,7 +109,7 @@ class ConeInjectionMP
const autoPtr<DataEntry<scalar> > thetaOuter_; const autoPtr<DataEntry<scalar> > thetaOuter_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel> sizeDistribution_;
//- Number of parcels per injector already injected //- Number of parcels per injector already injected
mutable label nInjected_; mutable label nInjected_;

View File

@ -114,11 +114,11 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
nParcelsInjected_(positions_.size(), 0), nParcelsInjected_(positions_.size(), 0),
U0_(this->coeffDict().lookup("U0")), U0_(this->coeffDict().lookup("U0")),
diameters_(positions_.size()), diameters_(positions_.size()),
parcelDistributionModel_ sizeDistribution_
( (
distributionModels::distributionModel::New distributionModels::distributionModel::New
( (
this->coeffDict().subDict("parcelDistributionModel"), this->coeffDict().subDict("sizeDistribution"),
owner.rndGen() owner.rndGen()
) )
) )
@ -126,7 +126,7 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
// Construct parcel diameters - one per injector cell // Construct parcel diameters - one per injector cell
forAll(diameters_, i) forAll(diameters_, i)
{ {
diameters_[i] = parcelDistributionModel_->sample(); diameters_[i] = sizeDistribution_->sample();
} }
// Determine total volume of particles to inject // Determine total volume of particles to inject
@ -166,7 +166,7 @@ Foam::FieldActivatedInjection<CloudType>::FieldActivatedInjection
nParcelsInjected_(im.nParcelsInjected_), nParcelsInjected_(im.nParcelsInjected_),
U0_(im.U0_), U0_(im.U0_),
diameters_(im.diameters_), diameters_(im.diameters_),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()) sizeDistribution_(im.sizeDistribution_().clone().ptr())
{} {}

View File

@ -111,7 +111,8 @@ class FieldActivatedInjection
scalarList diameters_; scalarList diameters_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel>
sizeDistribution_;
protected: protected:

View File

@ -90,7 +90,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
( (
1, 1,
(10*volumeAccumulator_) (10*volumeAccumulator_)
/CloudType::parcelType::volume(parcelDistributionModel_().minValue()) /CloudType::parcelType::volume(sizeDistribution_().minValue())
); );
label iterationNo = 0; label iterationNo = 0;
@ -128,7 +128,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
{ {
if (selfSeed_ && !cellCentresUsed.found(cI)) if (selfSeed_ && !cellCentresUsed.found(cI))
{ {
scalar dNew = parcelDistributionModel_().sample(); scalar dNew = sizeDistribution_().sample();
newParticles_.append newParticles_.append
( (
@ -191,7 +191,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
scalar R = sqrt(3.0)*a/(2.0*sqrt(2.0)); scalar R = sqrt(3.0)*a/(2.0*sqrt(2.0));
scalar d = a/(2.0*sqrt(3.0)); scalar d = a/(2.0*sqrt(3.0));
scalar dNew = parcelDistributionModel_().sample(); scalar dNew = sizeDistribution_().sample();
scalar volNew = CloudType::parcelType::volume(dNew); scalar volNew = CloudType::parcelType::volume(dNew);
newParticles_.append newParticles_.append
@ -204,7 +204,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
); );
volumeAccumulator_ -= volNew; volumeAccumulator_ -= volNew;
dNew = parcelDistributionModel_().sample(); dNew = sizeDistribution_().sample();
newParticles_.append newParticles_.append
( (
vectorPairScalarPair vectorPairScalarPair
@ -215,7 +215,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
); );
volumeAccumulator_ -= volNew; volumeAccumulator_ -= volNew;
dNew = parcelDistributionModel_().sample(); dNew = sizeDistribution_().sample();
newParticles_.append newParticles_.append
( (
vectorPairScalarPair vectorPairScalarPair
@ -226,7 +226,7 @@ Foam::label Foam::InflationInjection<CloudType>::parcelsToInject
); );
volumeAccumulator_ -= volNew; volumeAccumulator_ -= volNew;
dNew = parcelDistributionModel_().sample(); dNew = sizeDistribution_().sample();
newParticles_.append newParticles_.append
( (
vectorPairScalarPair vectorPairScalarPair
@ -341,11 +341,11 @@ Foam::InflationInjection<CloudType>::InflationInjection
fraction_(1.0), fraction_(1.0),
selfSeed_(this->coeffDict().lookupOrDefault("selfSeed", false)), selfSeed_(this->coeffDict().lookupOrDefault("selfSeed", false)),
dSeed_(SMALL), dSeed_(SMALL),
parcelDistributionModel_ sizeDistribution_
( (
distributionModels::distributionModel::New distributionModels::distributionModel::New
( (
this->coeffDict().subDict("parcelDistributionModel"), this->coeffDict().subDict("sizeDistribution"),
owner.rndGen() owner.rndGen()
) )
) )
@ -409,7 +409,7 @@ Foam::InflationInjection<CloudType>::InflationInjection
fraction_(im.fraction_), fraction_(im.fraction_),
selfSeed_(im.selfSeed_), selfSeed_(im.selfSeed_),
dSeed_(im.dSeed_), dSeed_(im.dSeed_),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()) sizeDistribution_(im.sizeDistribution_().clone().ptr())
{} {}

View File

@ -108,7 +108,7 @@ class InflationInjection
scalar dSeed_; scalar dSeed_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel> sizeDistribution_;
protected: protected:

View File

@ -96,11 +96,11 @@ Foam::ManualInjection<CloudType>::ManualInjection
injectorTetFaces_(positions_.size(), -1), injectorTetFaces_(positions_.size(), -1),
injectorTetPts_(positions_.size(), -1), injectorTetPts_(positions_.size(), -1),
U0_(this->coeffDict().lookup("U0")), U0_(this->coeffDict().lookup("U0")),
parcelDistributionModel_ sizeDistribution_
( (
distributionModels::distributionModel::New distributionModels::distributionModel::New
( (
this->coeffDict().subDict("parcelDistributionModel"), this->coeffDict().subDict("sizeDistribution"),
owner.rndGen() owner.rndGen()
) )
) )
@ -149,7 +149,7 @@ Foam::ManualInjection<CloudType>::ManualInjection
// Construct parcel diameters // Construct parcel diameters
forAll(diameters_, i) forAll(diameters_, i)
{ {
diameters_[i] = parcelDistributionModel_->sample(); diameters_[i] = sizeDistribution_->sample();
} }
// Determine volume of particles to inject // Determine volume of particles to inject
@ -171,7 +171,7 @@ Foam::ManualInjection<CloudType>::ManualInjection
injectorTetFaces_(im.injectorTetFaces_), injectorTetFaces_(im.injectorTetFaces_),
injectorTetPts_(im.injectorTetPts_), injectorTetPts_(im.injectorTetPts_),
U0_(im.U0_), U0_(im.U0_),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()) sizeDistribution_(im.sizeDistribution_().clone().ptr())
{} {}

View File

@ -83,7 +83,7 @@ class ManualInjection
const vector U0_; const vector U0_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel> sizeDistribution_;
protected: protected:

View File

@ -104,11 +104,11 @@ Foam::PatchInjection<CloudType>::PatchInjection
( (
DataEntry<scalar>::New("flowRateProfile", this->coeffDict()) DataEntry<scalar>::New("flowRateProfile", this->coeffDict())
), ),
parcelDistributionModel_ sizeDistribution_
( (
distributionModels::distributionModel::New distributionModels::distributionModel::New
( (
this->coeffDict().subDict("parcelDistributionModel"), this->coeffDict().subDict("sizeDistribution"),
owner.rndGen() owner.rndGen()
) )
), ),
@ -157,7 +157,7 @@ Foam::PatchInjection<CloudType>::PatchInjection
parcelsPerSecond_(im.parcelsPerSecond_), parcelsPerSecond_(im.parcelsPerSecond_),
U0_(im.U0_), U0_(im.U0_),
flowRateProfile_(im.flowRateProfile_().clone().ptr()), flowRateProfile_(im.flowRateProfile_().clone().ptr()),
parcelDistributionModel_(im.parcelDistributionModel_().clone().ptr()), sizeDistribution_(im.sizeDistribution_().clone().ptr()),
cellOwners_(im.cellOwners_), cellOwners_(im.cellOwners_),
fraction_(im.fraction_) fraction_(im.fraction_)
{} {}
@ -240,7 +240,7 @@ void Foam::PatchInjection<CloudType>::setProperties
parcel.U() = U0_; parcel.U() = U0_;
// set particle diameter // set particle diameter
parcel.d() = parcelDistributionModel_->sample(); parcel.d() = sizeDistribution_->sample();
} }

View File

@ -86,7 +86,7 @@ class PatchInjection
const autoPtr<DataEntry<scalar> > flowRateProfile_; const autoPtr<DataEntry<scalar> > flowRateProfile_;
//- Parcel size distribution model model //- Parcel size distribution model model
const autoPtr<distributionModels::distributionModel> parcelDistributionModel_; const autoPtr<distributionModels::distributionModel> sizeDistribution_;
//- List of cell labels corresponding to injector positions //- List of cell labels corresponding to injector positions
labelList cellOwners_; labelList cellOwners_;

View File

@ -131,7 +131,7 @@ subModels
SOI 0; SOI 0;
positionsFile "coalCloud1Positions"; positionsFile "coalCloud1Positions";
U0 ( 0 -10 0 ); U0 ( 0 -10 0 );
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -107,7 +107,7 @@ subModels
SOI 0; SOI 0;
positionsFile "limestonePositions"; positionsFile "limestonePositions";
U0 ( 0 0 0 ); U0 ( 0 0 0 );
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -130,7 +130,7 @@ subModels
SOI 0; SOI 0;
positionsFile "reactingCloud1Positions"; positionsFile "reactingCloud1Positions";
U0 (0 0 0); U0 (0 0 0);
parcelDistribution sizeDistribution
{ {
pdfType uniform; pdfType uniform;
uniformDistribution uniformDistribution

View File

@ -133,7 +133,7 @@ subModels
parcelsPerSecond 1e5; parcelsPerSecond 1e5;
U0 (40 0 0); U0 (40 0 0);
flowRateProfile constant 1; flowRateProfile constant 1;
parcelDistribution sizeDistribution
{ {
pdfType general; pdfType general;
generalDistribution generalDistribution

View File

@ -131,7 +131,7 @@ subModels
thetaInner constant 0; thetaInner constant 0;
thetaOuter constant 45; thetaOuter constant 45;
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -59,7 +59,7 @@ thermoSingleLayerCoeffs
particlesPerParcel 100.0; particlesPerParcel 100.0;
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -131,7 +131,7 @@ subModels
thetaInner constant 0; thetaInner constant 0;
thetaOuter constant 45; thetaOuter constant 45;
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -61,7 +61,7 @@ thermoSingleLayerCoeffs
particlesPerParcel 100.0; particlesPerParcel 100.0;
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -123,7 +123,7 @@ subModels
SOI 0; SOI 0;
positionsFile "reactingCloud1Positions"; positionsFile "reactingCloud1Positions";
U0 ( 0 0 0 ); U0 ( 0 0 0 );
parcelDistribution sizeDistribution
{ {
pdfType uniform; pdfType uniform;
uniformDistribution uniformDistribution

View File

@ -87,7 +87,7 @@ subModels
SOI 0; SOI 0;
positionsFile "kinematicCloud1Positions"; positionsFile "kinematicCloud1Positions";
U0 ( 0 0 0 ); U0 ( 0 0 0 );
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -106,7 +106,7 @@ subModels
SOI 0; SOI 0;
positionsFile "thermoCloud1Positions"; positionsFile "thermoCloud1Positions";
U0 ( 0 0 0 ); U0 ( 0 0 0 );
parcelDistribution sizeDistribution
{ {
pdfType RosinRammler; pdfType RosinRammler;
RosinRammlerDistribution RosinRammlerDistribution

View File

@ -144,7 +144,7 @@ subModels
duration 1; // NOTE: set to 1 for steady state duration 1; // NOTE: set to 1 for steady state
U0 (0 40 0); U0 (0 40 0);
flowRateProfile constant 1; flowRateProfile constant 1;
parcelDistribution sizeDistribution
{ {
pdfType general; pdfType general;
generalDistribution generalDistribution