32template<
class CloudType>
39template<
class CloudType>
48 Info<<
"Constructing particle injection models" <<
endl;
50 label count =
dict.size();
59 const word& model = dEntry.keyword();
62 Info<<
"Creating injector: " << model <<
endl;
98template<
class CloudType>
110template<
class CloudType>
117template<
class CloudType>
120 scalar minTime = GREAT;
123 minTime =
min(minTime, this->
operator[](i).timeStart());
130template<
class CloudType>
133 scalar maxTime = -GREAT;
136 maxTime =
max(maxTime, this->
operator[](i).timeEnd());
143template<
class CloudType>
153 vol += this->operator[](i).volumeToInject(time0, time1);
160template<
class CloudType>
164 scalar massTotal = 0.0;
167 scalar mt = this->operator[](i).massTotal();
168 mass += mt*this->operator[](i).averageParcelMass();
172 return mass/massTotal;
176template<
class CloudType>
181 this->operator[](i).updateMesh();
186template<
class CloudType>
187template<
class TrackCloudType>
190 TrackCloudType&
cloud,
196 this->operator[](i).inject(
cloud, td);
201template<
class CloudType>
202template<
class TrackCloudType>
205 TrackCloudType&
cloud,
207 const scalar trackTime
212 this->operator[](i).injectSteadyState(
cloud, td, trackTime);
217template<
class CloudType>
222 this->operator[](i).info(
os);
Templated base class for dsmc cloud.
List of injection models.
void inject(TrackCloudType &cloud, typename CloudType::parcelType::trackingData &td)
Main injection loop.
virtual ~InjectionModelList()
Destructor.
scalar volumeToInject(const scalar time0, const scalar time1)
Volume of parcels to introduce relative to SOI.
scalar timeStart() const
Return the minimum start-of-injection time.
scalar averageParcelMass()
Return the average parcel mass.
void injectSteadyState(TrackCloudType &cloud, typename CloudType::parcelType::trackingData &td, const scalar trackTime)
Main injection loop - steady-state.
void updateMesh()
Set injector locations when mesh is updated.
scalar timeEnd() const
Return the maximum end-of-injection time.
Templated injection model class.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const InjectionModel< CloudType > * set(const label i) const
void resize(const label newLen)
Adjust size of PtrList.
A cloud is a registry collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
InfoProxy< ensightCells > info() const
Return info proxy.
A keyword and a list of tokens is an 'entry'.
Class used to pass data into container.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
#define forAll(list, i)
Loop across all elements in list.