42 definedHollowConeInjector,
57 definedHollowConeDict_(dict.
subDict(typeName +
"Coeffs")),
62 definedHollowConeDict_.subDict(
"dropletPDF"),
66 innerConeAngle_(definedHollowConeDict_.lookup(
"innerConeAngle")),
67 outerConeAngle_(definedHollowConeDict_.lookup(
"outerConeAngle"))
84 Info <<
"Warning!!!\n"
85 <<
"definedHollowConeInjector::definedHollowConeInjector"
86 <<
"(const dictionary& dict, spray& sm)\n"
87 <<
"Same inner/outer cone angle profiles applied to each injector"
92 if (innerConeAngle_.empty())
94 FatalError <<
"definedHollowConeInjector::definedHollowConeInjector"
95 <<
"(const dictionary& dict, spray& sm)\n"
96 <<
"Number of entries in innerConeAngle must be greater than zero"
101 if (outerConeAngle_.empty())
103 FatalError <<
"definedHollowConeInjector::definedHollowConeInjector"
104 <<
"(const dictionary& dict, spray& sm)\n"
105 <<
"Number of entries in outerConeAngle must be greater than zero"
113 sm.
injectors()[i].properties()->correctProfiles(sm.
fuels(), referencePressure);
135 return dropletPDF_->sample();
155 scalar angle = angleInner + rndGen_.scalar01()*(angleOuter-angleInner);
171 beta += reduce*sm_.angleOfWedge();
174 sm_.axisOfWedge()*
cos(beta) +
175 sm_.axisOfWedgeNormal()*
sin(beta)
182 injectors_[n].properties()->tan1(hole)*
cos(beta) +
183 injectors_[n].properties()->tan2(hole)*
sin(beta)
188 vector dir = dcorr*injectors_[n].properties()->direction(hole, t) + normal;
202 const injectorType& it = sm_.injectors()[i].properties();
209 scalar Pref = sm_.ambientPressure();
211 scalar
rho = sm_.fuels().rho(Pinj, it.
T(time), it.
X());
212 scalar dp =
max(0.0, Pinj - Pref);
213 return sqrt(2.0*dp/rho);
222 const injectorType& it = sm_.injectors()[i].properties();