bloc.reactors.models.pbr100#
PBR 100 — arc-heated plasma source (supplier equipment model).
The PBR 100 is a specific plasma-torch product. Physically it reuses the
instantaneous-heating physics of PlasmaTorchInstantaneousHeating
(instantaneous enthalpy jump followed by adiabatic constant-pressure kinetics
for t_res_s); what this module adds is the nameplate operating envelope
from the datasheet, enforced at build time.
Datasheet#
The power range bounds the node electric_power_kW (generator electrical
input) via PBR100PlasmaTorchSchema; the
throughput ranges are checked in validate_pbr100_throughput() from the
resolved inlet mass flow + composition inside
_post_build_design_volumes().
Specific energy (SEI / SEO, MJ/kg) is not defined here — it is inherited
from the base TorchInstantaneousHeating class (see
bloc.reactors.torch_mixing), which every torch kind gets for free.
Attributes#
Exceptions#
Raised when a PBR 100 is configured outside its nameplate envelope. |
Classes#
PBR 100 — arc-heated plasma source (instantaneous-heating variant). |
Functions#
|
Raise if any present feed species is outside the PBR 100 throughput range. |
Module Contents#
- bloc.reactors.models.pbr100.PBR100_POWER_KW: Tuple[float, float] = (50.0, 100.0)#
- bloc.reactors.models.pbr100.PBR100_CH4_KG_H: Tuple[float, float] = (5.0, 20.0)#
- bloc.reactors.models.pbr100.PBR100_H2_SLM: Tuple[float, float] = (20.0, 100.0)#
- bloc.reactors.models.pbr100.PBR100_N2_SLM: Tuple[float, float] = (100.0, 350.0)#
- exception bloc.reactors.models.pbr100.PBR100EnvelopeError#
Bases:
ValueErrorRaised when a PBR 100 is configured outside its nameplate envelope.
Distinct type so
BlocConvertercan fail-fast on it (Boulder’spost_buildotherwise downgrades hook exceptions to a warning).
- class bloc.reactors.models.pbr100.PBR100PlasmaTorch(gas, *args, **kwargs)#
Bases:
bloc.reactors.torch_mixing.PlasmaTorchInstantaneousHeatingPBR 100 — arc-heated plasma source (instantaneous-heating variant).
STONE kind:
PBR100PlasmaTorch.Same physics as
PlasmaTorchInstantaneousHeating; adds the PBR 100 nameplate operating envelope (50–100 kW; CH4 5–20 kg/h; H2 20–100 slm; N2 100–350 slm), enforced at build time. SEI/SEO specific-energy metrics are inherited from the base torch class.See also
validate_pbr100_throughput()throughput envelope check.
TorchInstantaneousHeatingSEI_MJ_kg/SEO_MJ_kg.
- NETWORK_CLASS#
- property SEI_MJ_kg: float | None#
Specific Energy Input [MJ/kg] from
_meta(electrical input / feed).Available on every torch once
_post_build_design_volumes()has populatedelectric_power_kWandmass_flow_rateon_meta.
- property SEO_MJ_kg: float | None#
Specific Energy Output [MJ/kg] from
_meta(thermal power to gas / feed).
- solve_adiabatic(mdot, power_kW, t_res_s, verbose=True)#
Solve adiabatic kinetics using this reactor’s current inlet state.
Adds torch power as an enthalpy jump and integrates one adiabatic pass for
t_res_susing a freshtype(self)(gas, clone=False)carrier.
- bloc.reactors.models.pbr100.validate_pbr100_throughput(mdot_kg_s, gas, *, node_id)#
Raise if any present feed species is outside the PBR 100 throughput range.
- Parameters:
mdot_kg_s – Total torch feed mass flow rate [kg/s].
gas – A Cantera phase (
ct.Solution/reservoir.thermo) describing the inlet composition. Usesspecies_names,X,Yandmolecular_weights.node_id – STONE node id, for the error message.
Notes
CH4 (process gas) is checked whenever more than a trace is present (mole fraction >
_TRACE_X).H2 / N2 are carrier gases (H2, or alternatively N2). Only the carrier actually fed — the one of {H2, N2} present above
_CARRIER_MIN_X— is checked; the trace N2 (~1 %) in a natural-gas feed is ignored (it is not the alt-carrier). If both are above the threshold, both are checked.
All violations are collected and raised together as one
PBR100EnvelopeError.