42 pressureSwirlInjector,
57 pressureSwirlInjectorDict_(dict.
subDict(typeName +
"Coeffs")),
59 coneAngle_(pressureSwirlInjectorDict_.lookup(
"ConeAngle")),
60 coneInterval_(pressureSwirlInjectorDict_.lookup(
"ConeInterval")),
61 maxKv_(pressureSwirlInjectorDict_.lookup(
"maxKv")),
68 FatalError <<
"pressureSwirlInjector::pressureSwirlInjector"
69 <<
"(const dictionary& dict, spray& sm)\n"
70 <<
"Wrong number of entries in innerAngle"
79 sm.
injectors()[i].properties()->correctProfiles(sm.
fuels(), referencePressure);
101 scalar c = rndGen_.scalar01();
102 angle_ = coneAngle_[n] + 2.0 * coneInterval_[n] * (0.5 - c) ;
108 scalar cosAngle =
cos(angle_);
110 scalar rhoFuel = sm_.fuels().rho(sm_.ambientPressure(), it.
T(t), it.
X());
111 scalar injectorDiameter = it.
d();
113 scalar deltaPressure = deltaPressureInj(t,n);
114 scalar kV = kv(n, injectedMassFlow, deltaPressure);
115 scalar v = kV *
sqrt(2.0*deltaPressure/rhoFuel);
121 return (injectorDiameter-
sqrt(
pow(injectorDiameter,2)-4.0*A))/2.0;
133 scalar alpha =
sin(angle_);
134 scalar dcorr =
cos(angle_);
147 beta += reduce*sm_.angleOfWedge();
150 sm_.axisOfWedge()*
cos(beta) +
151 sm_.axisOfWedgeNormal()*
sin(beta)
158 injectors_[n].properties()->tan1(hole)*
cos(beta) +
159 injectors_[n].properties()->tan2(hole)*
sin(beta)
164 vector dir = dcorr*injectors_[n].properties()->direction(hole, time) + normal;
186 const injectorType& it = sm_.injectors()[i].properties();
190 scalar injectedMassFlow = it.
mass()/(it.
teoi()-it.
tsoi());
195 scalar rhoFuel = sm_.fuels().rho(sm_.ambientPressure(), Tav, it.
X());
197 scalar kV = kv(i, injectedMassFlow, injectionPressure);
199 return kV*
sqrt(2.0*(injectionPressure-sm_.ambientPressure())/rhoFuel);
203 scalar pressureSwirlInjector::kv
206 const scalar massFlow,
207 const scalar dPressure
213 scalar coneAngle = coneAngle_[inj];
217 scalar cosAngle =
cos(coneAngle);
221 scalar injectorDiameter = it.
d();
228 sqrt(rhoFuel/2.0/dPressure)
239 scalar pressureSwirlInjector::deltaPressureInj(
const scalar time,
const label inj)
const
244 scalar pressureSwirlInjector::averagePressure(
const label inj)
const
247 const injectorType& it =
sm_.
injectors()[inj].properties();
249 scalar dt = it.teoi() - it.tsoi();
250 return it.integrateTable(it.injectionPressureProfile())/dt;