elements.catalog.mass_source

elements.catalog.mass_source(
    mdot,
    T,
    composition=None,
    u_inj=0.0,
    basis='mole',
    name='source',
    dynamic_source=None,
    marker=0.0,
)

A 2-port inline mass-injection element (e.g. a fuel injector).

Injects a stream of mass-flow mdot [kg/s], total temperature T [K] and the given composition into the through-flow, conserving mass, momentum and energy with the appropriate source terms:

  • mass: the outflow exceeds the inflow by mdot;
  • momentum: the constant-area balance (rho u^2 + p) carries the injected axial momentum mdot * u_inju_inj = 0 (default) is normal (transverse) injection, which adds mass with no axial momentum;
  • energy / composition: the injected total enthalpy and elemental Z mix in mass-weighted with the through-flow (donor override).

A fuel injector is just this element with a fuel composition. It performs no reaction – ignition is the flame element’s job; the source only sets the mixture the downstream flame then burns.

Parameters

Name Type Description Default
mdot float Injected mass-flow [kg/s] (> 0 adds mass). required
T float Injected stream total temperature [K] (sets its enthalpy datum). required
composition dict or array_like What the source injects; see :func:mass_flow_inlet. A named species mixture in "auto" mode (e.g. {"CH4": 1.0}), or a blend over the declared streams in "declared" mode (e.g. {"H2": 1.0}). None
u_inj float Axial injection velocity [m/s] for the momentum source (default 0: normal injection). 0.0
basis (mole, mass) Units of composition’s amounts. "mole"
name str Element label. 'source'
dynamic_source DynamicSource Forward-compatibility provision for the dynamic S(omega) phase (e.g. a fuel-flow that fluctuates with an upstream u'). Ignored by the mean flow. None
marker float Burnt-marker value of the injected stream (0.0 fresh, default; 1.0 burnt); see :func:mass_flow_inlet. An injector normally feeds fresh fuel, so the default is appropriate; set it only to inject already-burnt gas. 0.0
Back to top