turbo_moc.coupling module#
turbo_moc.coupling – derive the rotor’s relative-frame inlet conditions (M_rel, beta_rel, P0_rel, T0_rel) from the Phase 1 nozzle/stator’s EXIT state plus a chosen blade speed U, via the absolute -> relative velocity triangle. This is the rotor-side analogue of turbo_moc.geometry.sizing: instead of hand-typing the rotor’s “uniform flow” Mach/P0_rel/T0_rel/ beta_inlet (today’s only option, still available as a manual fallback), derive them from the stage’s own upstream design – no separate loss model needed, since the stator is loss-free in this tool (isentropic MOC solve), so rothalpy (h0_rel = h_static + W^2/2) at the stator’s exit entropy is exactly the rotor’s relative stagnation state.
- turbo_moc.coupling.derive_rotor_inlet_from_stator(nozzle_result, alpha_deg, U)[source]#
Velocity triangle at the rotor inlet, from the stator’s own EXIT static state (wall_final’s LAST point: p, T, rho, M – the converged nozzle wall exit, not the throat) plus the absolute flow angle alpha_deg (from axial – the stator blade’s own metal_angle_out, the angle the MOC design actually targets) and blade speed U [m/s].
Uses DmassT_INPUTS (not PT_INPUTS) for the static-state EOS query – same reasoning as turbo_moc.geometry.sizing.compute_throat_sonic_state: a wall point can sit arbitrarily close to the saturation curve (wet- steam/two-phase designs), where (p, T) alone is degenerate for phase determination, but (rho, T) never is.
- Returns:
- dict
Rotor inlet conditions with the following keys:
p_static,T_static,rho_static: stator exit static state.M_abs,V_abs: absolute Mach number and velocity at stator exit.a: local speed of sound, the same in both frames.W_rel,M_rel,beta_rel_deg: relative velocity, Mach number, and flow angle.P0_rel,T0_rel: relative stagnation state at the stator exit’s entropy and the rothalpy-consistent relative stagnation enthalpy.U: blade speed used.is_supersonic: whetherM_rel > 1. The vortex-flow method requires supersonic relative inflow; otherwise its geometry is undefined.