mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: lagrangian/intermediate - replaced single injector model by injector list
This commit is contained in:
@ -28,8 +28,8 @@ License
|
||||
#include "interpolation.H"
|
||||
#include "subCycleTime.H"
|
||||
|
||||
#include "InjectionModelList.H"
|
||||
#include "DispersionModel.H"
|
||||
#include "InjectionModel.H"
|
||||
#include "PatchInteractionModel.H"
|
||||
#include "SurfaceFilmModel.H"
|
||||
|
||||
@ -47,15 +47,6 @@ void Foam::KinematicCloud<CloudType>::setModels()
|
||||
).ptr()
|
||||
);
|
||||
|
||||
injectionModel_.reset
|
||||
(
|
||||
InjectionModel<KinematicCloud<CloudType> >::New
|
||||
(
|
||||
subModelProperties_,
|
||||
*this
|
||||
).ptr()
|
||||
);
|
||||
|
||||
patchInteractionModel_.reset
|
||||
(
|
||||
PatchInteractionModel<KinematicCloud<CloudType> >::New
|
||||
@ -193,7 +184,8 @@ void Foam::KinematicCloud<CloudType>::evolveCloud(TrackData& td)
|
||||
|
||||
preInjectionSize = this->size();
|
||||
}
|
||||
this->injection().inject(td);
|
||||
|
||||
injectors_.inject(td);
|
||||
|
||||
|
||||
// Assume that motion will update the cellOccupancy as necessary
|
||||
@ -204,7 +196,7 @@ void Foam::KinematicCloud<CloudType>::evolveCloud(TrackData& td)
|
||||
{
|
||||
// this->surfaceFilm().injectSteadyState(td);
|
||||
|
||||
this->injection().injectSteadyState(td, solution_.trackTime());
|
||||
injectors_.injectSteadyState(td, solution_.trackTime());
|
||||
|
||||
td.part() = TrackData::tpLinearTrack;
|
||||
CloudType::move(td, solution_.trackTime());
|
||||
@ -253,8 +245,9 @@ void Foam::KinematicCloud<CloudType>::cloudReset(KinematicCloud<CloudType>& c)
|
||||
|
||||
functions_.transfer(c.functions_);
|
||||
|
||||
injectors_.transfer(c.injectors_);
|
||||
|
||||
dispersionModel_.reset(c.dispersionModel_.ptr());
|
||||
injectionModel_.reset(c.injectionModel_.ptr());
|
||||
patchInteractionModel_.reset(c.patchInteractionModel_.ptr());
|
||||
surfaceFilmModel_.reset(c.surfaceFilmModel_.ptr());
|
||||
|
||||
@ -338,8 +331,12 @@ Foam::KinematicCloud<CloudType>::KinematicCloud
|
||||
particleProperties_.subOrEmptyDict("cloudFunctions"),
|
||||
solution_.active()
|
||||
),
|
||||
injectors_
|
||||
(
|
||||
subModelProperties_.subOrEmptyDict("injectionModels"),
|
||||
*this
|
||||
),
|
||||
dispersionModel_(NULL),
|
||||
injectionModel_(NULL),
|
||||
patchInteractionModel_(NULL),
|
||||
surfaceFilmModel_(NULL),
|
||||
UIntegrator_(NULL),
|
||||
@ -418,8 +415,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud
|
||||
pAmbient_(c.pAmbient_),
|
||||
forces_(c.forces_),
|
||||
functions_(c.functions_),
|
||||
injectors_(c.injectors_),
|
||||
dispersionModel_(c.dispersionModel_->clone()),
|
||||
injectionModel_(c.injectionModel_->clone()),
|
||||
patchInteractionModel_(c.patchInteractionModel_->clone()),
|
||||
surfaceFilmModel_(c.surfaceFilmModel_->clone()),
|
||||
UIntegrator_(c.UIntegrator_->clone()),
|
||||
@ -507,8 +504,8 @@ Foam::KinematicCloud<CloudType>::KinematicCloud
|
||||
pAmbient_(c.pAmbient_),
|
||||
forces_(*this, mesh),
|
||||
functions_(*this),
|
||||
injectors_(*this),
|
||||
dispersionModel_(NULL),
|
||||
injectionModel_(NULL),
|
||||
patchInteractionModel_(NULL),
|
||||
surfaceFilmModel_(NULL),
|
||||
UIntegrator_(NULL),
|
||||
@ -710,7 +707,7 @@ void Foam::KinematicCloud<CloudType>::info()
|
||||
<< " Rotational kinetic energy = "
|
||||
<< rotationalKineticEnergy << nl;
|
||||
|
||||
this->injection().info(Info);
|
||||
injectors_.info(Info);
|
||||
this->surfaceFilm().info(Info);
|
||||
this->patchInteraction().info(Info);
|
||||
}
|
||||
|
||||
@ -73,10 +73,10 @@ namespace Foam
|
||||
// Forward declaration of classes
|
||||
|
||||
template<class CloudType>
|
||||
class DispersionModel;
|
||||
class InjectionModelList;
|
||||
|
||||
template<class CloudType>
|
||||
class InjectionModel;
|
||||
class DispersionModel;
|
||||
|
||||
template<class CloudType>
|
||||
class PatchInteractionModel;
|
||||
@ -192,14 +192,13 @@ protected:
|
||||
|
||||
// References to the cloud sub-models
|
||||
|
||||
//- Injector models
|
||||
InjectionModelList<KinematicCloud<CloudType> > injectors_;
|
||||
|
||||
//- Dispersion model
|
||||
autoPtr<DispersionModel<KinematicCloud<CloudType> > >
|
||||
dispersionModel_;
|
||||
|
||||
//- Injector model
|
||||
autoPtr<InjectionModel<KinematicCloud<CloudType> > >
|
||||
injectionModel_;
|
||||
|
||||
//- Patch interaction model
|
||||
autoPtr<PatchInteractionModel<KinematicCloud<CloudType> > >
|
||||
patchInteractionModel_;
|
||||
@ -393,6 +392,14 @@ public:
|
||||
|
||||
// Sub-models
|
||||
|
||||
//- Return const access to the injection model
|
||||
inline const InjectionModelList<KinematicCloud<CloudType> >&
|
||||
injectors() const;
|
||||
|
||||
//- Return reference to the injection model
|
||||
inline InjectionModelList<KinematicCloud<CloudType> >&
|
||||
injectors();
|
||||
|
||||
//- Return const-access to the dispersion model
|
||||
inline const DispersionModel<KinematicCloud<CloudType> >&
|
||||
dispersion() const;
|
||||
@ -401,14 +408,6 @@ public:
|
||||
inline DispersionModel<KinematicCloud<CloudType> >&
|
||||
dispersion();
|
||||
|
||||
//- Return const access to the injection model
|
||||
inline const InjectionModel<KinematicCloud<CloudType> >&
|
||||
injection() const;
|
||||
|
||||
//- Return reference to the injection model
|
||||
inline InjectionModel<KinematicCloud<CloudType> >&
|
||||
injection();
|
||||
|
||||
//- Return const-access to the patch interaction model
|
||||
inline const PatchInteractionModel<KinematicCloud<CloudType> >&
|
||||
patchInteraction() const;
|
||||
|
||||
@ -155,6 +155,22 @@ Foam::KinematicCloud<CloudType>::functions()
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline const Foam::InjectionModelList<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::injectors() const
|
||||
{
|
||||
return injectors_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline Foam::InjectionModelList<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::injectors()
|
||||
{
|
||||
return injectors_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline const Foam::DispersionModel<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::dispersion() const
|
||||
@ -171,14 +187,6 @@ Foam::KinematicCloud<CloudType>::dispersion()
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline const Foam::InjectionModel<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::injection() const
|
||||
{
|
||||
return injectionModel_;
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline const Foam::PatchInteractionModel<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::patchInteraction() const
|
||||
@ -195,14 +203,6 @@ Foam::KinematicCloud<CloudType>::patchInteraction()
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline Foam::InjectionModel<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::injection()
|
||||
{
|
||||
return injectionModel_();
|
||||
}
|
||||
|
||||
|
||||
template<class CloudType>
|
||||
inline const Foam::SurfaceFilmModel<Foam::KinematicCloud<CloudType> >&
|
||||
Foam::KinematicCloud<CloudType>::surfaceFilm() const
|
||||
|
||||
Reference in New Issue
Block a user