42 definedPressureSwirlInjector,
57 definedPressureSwirlInjectorDict_(dict.
subDict(typeName +
"Coeffs")),
59 coneAngle_(definedPressureSwirlInjectorDict_.lookup(
"ConeAngle")),
60 coneInterval_(definedPressureSwirlInjectorDict_.lookup(
"ConeInterval")),
61 maxKv_(definedPressureSwirlInjectorDict_.lookup(
"maxKv")),
71 sm.
injectors()[i].properties()->correctProfiles(sm.
fuels(), referencePressure);
93 scalar c = rndGen_.scalar01();
102 scalar Tinj = it.
T(t);
104 scalar temperature = sm_.ambientTemperature();
105 scalar pressure = sm_.ambientPressure();
108 for(label i = 0; i < Nf ; i++)
111 if(fuels.
properties()[i].pv(sm_.ambientPressure(), Tinj) >= 0.999*sm_.ambientPressure())
117 scalar tBoilingSurface = Tinj ;
121 for(label
k=0;
k< Niter ;
k++)
124 scalar pBoil = fuels.
properties()[i].pv(pressure, tBoilingSurface);
128 tBoilingSurface = tBoilingSurface - (Tinj-temperature)/Niter;
137 scalar hl = fuels.
properties()[i].hl(sm_.ambientPressure(), tBoilingSurface);
138 scalar iTp = fuels.
properties()[i].h(sm_.ambientPressure(), Tinj) - sm_.ambientPressure()/fuels.
properties()[i].rho(sm_.ambientPressure(), Tinj);
139 scalar iTb = fuels.
properties()[i].h(sm_.ambientPressure(), tBoilingSurface) - sm_.ambientPressure()/fuels.
properties()[i].rho(sm_.ambientPressure(), tBoilingSurface);
141 chi += it.
X()[i]*(iTp-iTb)/hl;
151 angle_ = angle_ + (144.0 - angle_) *
sqr(chi) + 2.0 * coneInterval * (0.5 - c);
159 scalar cosAngle =
cos(angle_);
161 scalar rhoFuel = sm_.fuels().rho(sm_.ambientPressure(), it.
T(t), it.
X());
162 scalar injectorDiameter = it.
d();
164 scalar deltaPressure = deltaPressureInj(t,n);
166 scalar kV = kv(n, injectedMassFlow, deltaPressure, t);
168 scalar v = kV *
sqrt(2.0*deltaPressure/rhoFuel);
183 scalar angleT = angle_;
184 return (injectorDiameter-
sqrt(
pow(injectorDiameter,2.0)-4.0*A))*
cos(angleT)/2.0;
204 scalar alpha =
sin(angle_);
205 scalar dcorr =
cos(angle_);
218 beta += reduce*sm_.angleOfWedge();
221 sm_.axisOfWedge()*
cos(beta) +
222 sm_.axisOfWedgeNormal()*
sin(beta)
229 injectors_[n].properties()->tan1(hole)*
cos(beta) +
230 injectors_[n].properties()->tan2(hole)*
sin(beta)
235 vector dir = dcorr*injectors_[n].properties()->direction(hole, time) + normal;
257 const injectorType& it = sm_.injectors()[i].properties();
261 scalar injectedMassFlow = it.
mass()/(it.
teoi()-it.
tsoi());
266 scalar rhoFuel = sm_.fuels().rho(sm_.ambientPressure(), Tav, it.
X());
268 scalar kV = kv(i, injectedMassFlow, injectionPressure, 0);
270 return kV*
sqrt(2.0*(injectionPressure-sm_.ambientPressure())/rhoFuel);
275 scalar definedPressureSwirlInjector::kv
278 const scalar massFlow,
279 const scalar dPressure,
290 scalar cosAngle =
cos(coneAngle);
294 scalar injectorDiameter = it.
d();
301 sqrt(rhoFuel/2.0/dPressure)
312 scalar definedPressureSwirlInjector::deltaPressureInj(
const scalar time,
const label inj)
const
317 scalar definedPressureSwirlInjector::averagePressure(
const label inj)
const
320 const injectorType& it =
sm_.
injectors()[inj].properties();
322 scalar dt = it.teoi() - it.tsoi();
323 return it.integrateTable(it.injectionPressureProfile())/dt;