33 template<
class CloudType>
50 template<
class CloudType>
58 TFilmPatch_(sfm.TFilmPatch_),
59 CpFilmPatch_(sfm.CpFilmPatch_)
65 template<
class CloudType>
73 const label patchi = pp.
index();
75 this->initFilmModels();
77 bool bInteraction(
false);
82 if (this->filmModel_->isRegionPatch(patchi))
86 switch (this->interactionType_)
90 this->bounceInteraction(
p, pp, facei, keepParticle);
94 case KinematicSurfaceFilm<CloudType>::itAbsorb:
96 const scalar m =
p.nParticle()*
p.mass();
98 this->absorbInteraction
99 (*(this->filmModel_),
p, pp, facei, m, keepParticle);
103 case KinematicSurfaceFilm<CloudType>::itSplashBai:
106 const scalar pc = thermo_.thermo().p()[
p.cell()];
107 const liquidProperties& liq = thermo_.liquids().properties()[0];
108 const scalar
sigma = liq.sigma(pc,
p.T());
109 const scalar
mu = liq.mu(pc,
p.T());
111 bool dry = this->deltaFilmPatch_[patchi][facei] < this->deltaWet_;
115 this->drySplashInteraction
116 (*(this->filmModel_),
sigma,
mu,
p, pp, facei, keepParticle);
120 this->wetSplashInteraction
121 (*(this->filmModel_),
sigma,
mu,
p, pp, facei, keepParticle);
129 <<
"Unknown interaction type enumeration"
139 for (areaFilm& film : this->areaFilms_)
141 if (patchi == film.patchID())
145 switch (this->interactionType_)
148 case KinematicSurfaceFilm<CloudType>::itAbsorb:
150 const scalar m =
p.nParticle()*
p.mass();
152 this->absorbInteraction
154 film,
p, pp, facei, m, keepParticle
158 case KinematicSurfaceFilm<CloudType>::itBounce:
160 this->bounceInteraction(
p, pp, facei, keepParticle);
164 case KinematicSurfaceFilm<CloudType>::itSplashBai:
167 const scalar pc = thermo_.thermo().p()[
p.cell()];
168 const liquidProperties& liq = thermo_.liquids().properties()[0];
169 const scalar
sigma = liq.sigma(pc,
p.T());
170 const scalar
mu = liq.mu(pc,
p.T());
172 bool dry = film.h()[facei] < this->deltaWet_;
176 this->drySplashInteraction
177 (film,
sigma,
mu,
p, pp, facei, keepParticle);
181 this->wetSplashInteraction
182 (film,
sigma,
mu,
p, pp, facei, keepParticle);
190 <<
"Unknown interaction type enumeration"
204 template<
class CloudType>
207 const label filmPatchi,
208 const label primaryPatchi,
220 filmModel.
toPrimary(filmPatchi, TFilmPatch_);
223 filmModel.
toPrimary(filmPatchi, CpFilmPatch_);
227 template<
class CloudType>
230 const label filmPatchi,
231 const areaFilm& filmModel
241 TFilmPatch_.setSize(filmModel.Tf().size(),
Zero);
243 CpFilmPatch_.setSize(filmModel.Tf().size(),
Zero);
248 template<
class CloudType>
252 const label filmFacei
258 p.T() = TFilmPatch_[filmFacei];
259 p.Cp() = CpFilmPatch_[filmFacei];
263 template<
class CloudType>