40 LagrangianScalarFieldSource(iIo,
dict),
46 dict.subDict(
"distribution"),
52 numberName_(
dict.lookupOrDefault<
word>(
"number",
"number"))
63 LagrangianScalarFieldSource(field, iIo),
64 distribution_(field.distribution_, false),
66 numberName_(field.numberName_)
88 fieldSourceCast<scalar, uniformSizeNumberLagrangianScalarFieldSource>
105 distribution_->start(timeIndex_ == db().time().
timeIndex());
106 timeIndex_ = db().time().timeIndex();
112 internalField().
name() +
":" + injection.
name(),
114 internalDimensions(),
115 distribution_->sample(subMesh.
size())
127 writeEntry(os,
"distribution", internalDimensions(), distribution_());
128 writeEntryIfDifferent<word>(os,
"number",
"number", numberName_);
138 LagrangianScalarFieldSource,
Macros for easy insertion into run-time selection tables.
static tmp< DimensionedField< Type, GeoMesh, PrimitiveField > > New(const word &name, const Mesh &mesh, const dimensionSet &, const PrimitiveField< Type > &)
Return a temporary field constructed from name, mesh,.
Base class for Lagrangian injections. Minimal wrapper over LagrangianSource. Implements some utility ...
const word & name() const
The source name.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
label size() const
Return size.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
This source condition provides values of diameter randomly sampled from a given distribution.
distributionDiameterLagrangianScalarFieldSource(const regIOobject &, const dictionary &dict)
Construct from internal field and dictionary.
virtual void write(Ostream &) const
Write.
virtual ~distributionDiameterLagrangianScalarFieldSource()
Destructor.
virtual tmp< LagrangianSubScalarField > value(const LagrangianInjection &, const LagrangianSubMesh &) const
Return the value for an instantaneous injection.
Base class for statistical distributions.
static autoPtr< distribution > New(const unitConversion &units, const dictionary &dict, const label sampleQ, randomGenerator &&rndGen, const bool report=true)
Select from dictionary and a random generator.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
A class for managing temporary objects.
A class for handling words, derived from string.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
makeLagrangianTypeFieldSource(LagrangianVectorFieldSource, coneDiskVelocityLagrangianVectorFieldSource)