lagrangian: InjectionModel: New uniformParcelSize control
Lagrangian injections now have a 'uniformParcelSize' control, which specifies what size of the parcels is kept uniform during a given time step. This control can be set to 'nParticles', 'surfaceArea' or 'volume'. The particle sizes, by contrast, are specified by the size distribution. For example, if 'uniformParcelSize nParticles;' is specified then all parcels introduced at a given time will have the same number of particles. Every particle in a parcel has the same properties, including diameter. So, in this configuration, the larger diameter parcels contain a much larger fraction of the total particulate volume than the smaller diameter ones. This may be undesirable as the effect of a parcel on the simulation might be more in proportion with its volume than with the number of particles it represents. It might be preferable to create a greater proportion of large diameter parcels so that their more significant effect is represented by a finer Lagrangian discretisation. This can be achieved by setting 'uniformParcelSize volume;'. A setting of 'uniformParcelSize surfaceArea;' might be appropriate if the limiting effect of a Lagrangian element scales with its surface area; interfacial evaporation, for example. Previously, this control was provided by 'parcelBasisType'. However, this control also effectively specified the size exponent of the supplied distribution. This interdependence was not documented and was problematic in that it coupled physical and numerical controls. 'parcelBasisType' has been removed, and the size exponent of the distribution is now specified independently of the new 'uniformParcelSize' control along with the rest of the distribution coefficients or data. See the previous commit for details. It is still possible to specify a fixed number of particles per parcel using the 'nParticle' control. The presence of this control is used to determine whether or not the number of particles per parcel is fixed, so a 'fixed' basis type is no longer needed. A number of bugs have been fixed with regards to lack of interoperability between the various settings in the injection models. 'uniformParcelSize' can be changed freely and the number of parcels and amount of mass that an injector introduces will not change (this was not true of 'parcelBasisType'). Redundant settings are no longer read by the injection models; e.g., mass is not read if the number of particles per parcel is fixed, duration is not specified for steady tracking, etc... The 'inflationInjection' model has been removed as there are no examples of its usage, its purpose was not clearly documented, and it was not obvious how it should be updated as a result of these changes.
This commit is contained in:
@ -74,19 +74,14 @@ subModels
|
||||
model1
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0;
|
||||
parcelBasisType fixed;
|
||||
nParticle 1;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 0.0025;
|
||||
}
|
||||
type fixedValue;
|
||||
value 0.0025;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -69,19 +69,14 @@ subModels
|
||||
model1
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0;
|
||||
parcelBasisType fixed;
|
||||
nParticle 1;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 0.0025;
|
||||
}
|
||||
type fixedValue;
|
||||
value 0.0025;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,19 +67,14 @@ subModels
|
||||
model1
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0;
|
||||
parcelBasisType fixed;
|
||||
nParticle 750;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 0.0003;
|
||||
}
|
||||
type fixedValue;
|
||||
value 0.0003;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ subModels
|
||||
type patchInjection;
|
||||
massTotal 40;
|
||||
SOI 1;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
patchName inlet;
|
||||
duration 4;
|
||||
parcelsPerSecond 100644;
|
||||
@ -79,14 +79,12 @@ subModels
|
||||
flowRateProfile constant 1;
|
||||
sizeDistribution
|
||||
{
|
||||
type normal;
|
||||
normalDistribution
|
||||
{
|
||||
expectation 100e-6;
|
||||
variance 25e-6;
|
||||
minValue 20e-6;
|
||||
maxValue 180e-6;
|
||||
}
|
||||
type normal;
|
||||
Q 3;
|
||||
min 20e-6;
|
||||
max 180e-6;
|
||||
mu 100e-6;
|
||||
sigma 25e-6;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,66 +63,47 @@ subModels
|
||||
|
||||
injectionModels
|
||||
{
|
||||
/*
|
||||
% matlab/octave calculation of flow rate
|
||||
alpha=0.1
|
||||
U=20
|
||||
A=0.01^2
|
||||
Q=U*A
|
||||
d=650e-6
|
||||
v=(4/3)*pi*(d/2)^3
|
||||
n=1
|
||||
rate=alpha*Q/(v*n)
|
||||
*/
|
||||
|
||||
model1
|
||||
{
|
||||
type patchInjection;
|
||||
parcelBasisType fixed;
|
||||
patchName lowerInlet;
|
||||
U0 (18.7939 6.8404 0);
|
||||
nParticle 1;
|
||||
parcelsPerSecond 1390885;
|
||||
sizeDistribution
|
||||
{
|
||||
type normal;
|
||||
normalDistribution
|
||||
{
|
||||
expectation 650e-6;
|
||||
variance 25e-6;
|
||||
minValue 500e-6;
|
||||
maxValue 800e-6;
|
||||
}
|
||||
type normal;
|
||||
Q 0;
|
||||
min 500e-6;
|
||||
max 800e-6;
|
||||
mu 650e-6;
|
||||
sigma 25e-6;
|
||||
}
|
||||
flowRateProfile constant 1;
|
||||
massTotal 0;
|
||||
SOI 0;
|
||||
duration 60;
|
||||
SOI 0;
|
||||
duration 60;
|
||||
}
|
||||
|
||||
model2
|
||||
{
|
||||
type patchInjection;
|
||||
parcelBasisType fixed;
|
||||
patchName upperInlet;
|
||||
U0 (18.7939 -6.8404 0);
|
||||
nParticle 1;
|
||||
parcelsPerSecond 1390885;
|
||||
sizeDistribution
|
||||
{
|
||||
type normal;
|
||||
normalDistribution
|
||||
{
|
||||
expectation 650e-6;
|
||||
variance 25e-6;
|
||||
minValue 500e-6;
|
||||
maxValue 800e-6;
|
||||
}
|
||||
type normal;
|
||||
Q 0;
|
||||
min 500e-6;
|
||||
max 800e-6;
|
||||
mu 650e-6;
|
||||
sigma 25e-6;
|
||||
}
|
||||
flowRateProfile constant 1;
|
||||
massTotal 0;
|
||||
SOI 0;
|
||||
duration 60;
|
||||
SOI 0;
|
||||
duration 60;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -53,10 +53,8 @@ subModels
|
||||
model1
|
||||
{
|
||||
type patchInjection;
|
||||
massTotal 0;
|
||||
SOI 0;
|
||||
duration 5;
|
||||
parcelBasisType fixed;
|
||||
nParticle 1;
|
||||
parcelsPerSecond 1000;
|
||||
patchName inlet;
|
||||
@ -64,11 +62,8 @@ subModels
|
||||
flowRateProfile constant 1;
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 1e-4;
|
||||
}
|
||||
type fixedValue;
|
||||
value 1e-4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,19 +56,14 @@ subModels
|
||||
model1
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0;
|
||||
parcelBasisType fixed;
|
||||
nParticle 1;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 0.006;
|
||||
}
|
||||
type fixedValue;
|
||||
value 0.006;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,19 +72,14 @@ subModels
|
||||
model1
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0;
|
||||
parcelBasisType fixed;
|
||||
nParticle 1;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type fixedValue;
|
||||
fixedValueDistribution
|
||||
{
|
||||
value 0.0025;
|
||||
}
|
||||
type fixedValue;
|
||||
value 0.0025;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ subModels
|
||||
{
|
||||
type reactingLookupTableInjection;
|
||||
massTotal 0.5;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0;
|
||||
inputFile "parcelInjectionProperties";
|
||||
duration 20.0;
|
||||
|
||||
@ -78,7 +78,7 @@ subModels
|
||||
{
|
||||
type thermoLookupTableInjection;
|
||||
massTotal 100;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0;
|
||||
inputFile "parcelInjectionProperties";
|
||||
duration 20.0;
|
||||
|
||||
@ -78,7 +78,7 @@ subModels
|
||||
{
|
||||
type reactingLookupTableInjection;
|
||||
massTotal 0.1;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0.01;
|
||||
inputFile "parcelInjectionProperties";
|
||||
duration 10.0;
|
||||
|
||||
@ -81,7 +81,7 @@ subModels
|
||||
type coneInjection;
|
||||
SOI 0;
|
||||
massTotal 6.0e-6;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
injectionMethod disc;
|
||||
flowType flowRateAndDischarge;
|
||||
dInner 0;
|
||||
@ -134,15 +134,12 @@ subModels
|
||||
|
||||
sizeDistribution
|
||||
{
|
||||
type RosinRammler;
|
||||
|
||||
RosinRammlerDistribution
|
||||
{
|
||||
minValue 1e-06;
|
||||
maxValue 0.00015;
|
||||
d 0.00015;
|
||||
n 3;
|
||||
}
|
||||
type RosinRammler;
|
||||
Q 3;
|
||||
min 1e-06;
|
||||
max 0.00015;
|
||||
d 0.00015;
|
||||
n 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ subModels
|
||||
{
|
||||
type reactingLookupTableInjection;
|
||||
massTotal 1e-2;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0.5;
|
||||
inputFile "parcelInjectionProperties";
|
||||
duration 1.0;
|
||||
|
||||
@ -84,7 +84,7 @@ subModels
|
||||
|
||||
massTotal 10;
|
||||
parcelsPerSecond 1000;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
flowRateProfile constant 0.1;
|
||||
Umag constant 3.0;
|
||||
thetaInner constant 0;
|
||||
@ -92,14 +92,12 @@ subModels
|
||||
|
||||
sizeDistribution
|
||||
{
|
||||
type RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
{
|
||||
minValue 5e-04;
|
||||
maxValue 0.0012;
|
||||
d 7.5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
type RosinRammler;
|
||||
Q 3;
|
||||
min 5e-04;
|
||||
max 0.0012;
|
||||
d 7.5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -43,13 +43,11 @@ forces
|
||||
distribution
|
||||
{
|
||||
type normal;
|
||||
normalDistribution
|
||||
{
|
||||
minValue 50;
|
||||
maxValue 100;
|
||||
expectation 75;
|
||||
variance 100;
|
||||
}
|
||||
Q 0;
|
||||
min 50;
|
||||
max 100;
|
||||
mu 75;
|
||||
sigma 100;
|
||||
}
|
||||
|
||||
zeroForcePatches ();
|
||||
@ -74,14 +72,12 @@ ejection
|
||||
|
||||
parcelDistribution
|
||||
{
|
||||
type RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
{
|
||||
minValue 5e-04;
|
||||
maxValue 0.0012;
|
||||
d 7.5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
type RosinRammler;
|
||||
Q 0;
|
||||
min 5e-04;
|
||||
max 0.0012;
|
||||
d 7.5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,18 +78,14 @@ subModels
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 5.23599e-10; // 1 droplet of density 1000 kg/m3
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0;
|
||||
positionsFile "cloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type uniform;
|
||||
uniformDistribution
|
||||
{
|
||||
minValue 100e-06;
|
||||
maxValue 100e-06;
|
||||
}
|
||||
type fixedValue;
|
||||
value 100e-06;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,20 +83,18 @@ subModels
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0.0001;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0;
|
||||
positionsFile "coalCloudPositions";
|
||||
U0 (0 -10 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
{
|
||||
minValue 5e-06;
|
||||
maxValue 0.0005;
|
||||
d 5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
type RosinRammler;
|
||||
Q 3;
|
||||
min 5e-06;
|
||||
max 0.0005;
|
||||
d 5e-05;
|
||||
n 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,20 +78,18 @@ subModels
|
||||
{
|
||||
type manualInjection;
|
||||
massTotal 0.0001;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
SOI 0;
|
||||
positionsFile "limestoneCloudPositions";
|
||||
U0 (0 0 0);
|
||||
sizeDistribution
|
||||
{
|
||||
type RosinRammler;
|
||||
RosinRammlerDistribution
|
||||
{
|
||||
minValue 5e-06;
|
||||
maxValue 0.000565;
|
||||
d 4.8e-05;
|
||||
n 0.5;
|
||||
}
|
||||
type RosinRammler;
|
||||
Q 3;
|
||||
min 5e-06;
|
||||
max 0.000565;
|
||||
d 4.8e-05;
|
||||
n 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ subModels
|
||||
type patchInjection;
|
||||
SOI 0.01;
|
||||
massTotal 8;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
patchName inletCentral;
|
||||
duration 10000;
|
||||
parcelsPerSecond 1e5;
|
||||
@ -87,30 +87,28 @@ subModels
|
||||
flowRateProfile constant 1;
|
||||
sizeDistribution
|
||||
{
|
||||
type general;
|
||||
generalDistribution
|
||||
{
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
type tabulatedDensity;
|
||||
Q 3;
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,38 +81,35 @@ subModels
|
||||
{
|
||||
type patchInjection;
|
||||
massFlowRate 0.8e-03;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
patchName inletCentral;
|
||||
parcelsPerSecond 100;
|
||||
duration 1; // NOTE: set to 1 for steady state
|
||||
U0 (0 40 0);
|
||||
flowRateProfile constant 1;
|
||||
sizeDistribution
|
||||
{
|
||||
type general;
|
||||
generalDistribution
|
||||
{
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
type tabulatedDensity;
|
||||
Q 3;
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,38 +81,35 @@ subModels
|
||||
{
|
||||
type patchInjection;
|
||||
massFlowRate 0.8e-03;
|
||||
parcelBasisType mass;
|
||||
uniformParcelSize volume;
|
||||
patchName inletCentral;
|
||||
parcelsPerSecond 100;
|
||||
duration 1; // NOTE: set to 1 for steady state
|
||||
U0 (0 40 0);
|
||||
flowRateProfile constant 1;
|
||||
sizeDistribution
|
||||
{
|
||||
type general;
|
||||
generalDistribution
|
||||
{
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
type tabulatedDensity;
|
||||
Q 3;
|
||||
distribution
|
||||
(
|
||||
(10e-06 0.0025)
|
||||
(15e-06 0.0528)
|
||||
(20e-06 0.2795)
|
||||
(25e-06 1.0918)
|
||||
(30e-06 2.3988)
|
||||
(35e-06 4.4227)
|
||||
(40e-06 6.3888)
|
||||
(45e-06 8.6721)
|
||||
(50e-06 10.3153)
|
||||
(55e-06 11.6259)
|
||||
(60e-06 12.0030)
|
||||
(65e-06 10.4175)
|
||||
(70e-06 10.8427)
|
||||
(75e-06 8.0016)
|
||||
(80e-06 6.1333)
|
||||
(85e-06 3.8827)
|
||||
(90e-06 3.4688)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user