chore: show fission rate in status

This commit is contained in:
Andrii Prokhorov
2025-11-21 17:38:13 +02:00
parent 37fded30e6
commit 2bc45d1594
2 changed files with 10 additions and 8 deletions

View File

@@ -42,7 +42,10 @@ class FuelAssembly:
event = self.simulate_electron_hit()
effective_flux = max(0.0, flux * max(0.0, 1.0 - control_fraction))
atoms = self.mass_kg / self.fissile_atom.atomic_mass_kg
event_rate = effective_flux * constants.ELECTRON_FISSION_CROSS_SECTION * atoms * self.enrichment
event_rate = max(
0.0,
effective_flux * constants.ELECTRON_FISSION_CROSS_SECTION * atoms * self.enrichment,
)
power_watts = event_rate * event.energy_mev * constants.MEV_TO_J
power_mw = power_watts / constants.MEGAWATT
LOGGER.debug(
@@ -53,4 +56,4 @@ class FuelAssembly:
event.products[1].mass_number,
power_mw,
)
return max(0.0, power_mw), event
return max(0.0, power_mw), event_rate, event

View File

@@ -102,7 +102,9 @@ class Reactor:
self.neutronics.step(state.core, rod_fraction, dt)
prompt_power, fission_event = self.fuel.prompt_energy_rate(state.core.neutron_flux, rod_fraction)
prompt_power, fission_rate, fission_event = self.fuel.prompt_energy_rate(
state.core.neutron_flux, rod_fraction
)
decay_power = decay_heat_fraction(state.core.burnup) * state.core.power_output_mw
total_power = prompt_power + decay_power
state.core.power_output_mw = total_power
@@ -147,16 +149,13 @@ class Reactor:
LOGGER.info(
(
"t=%5.1fs rods=%.2f core_power=%.1fMW prompt=%.1fMW :: "
"%s-%d + %s-%d, outlet %.1fK, electrical %.1fMW load %.1f/%.1fMW"
"fissions %.2e/s, outlet %.1fK, electrical %.1fMW load %.1f/%.1fMW"
),
state.time_elapsed,
rod_fraction,
total_power,
prompt_power,
fission_event.products[0].symbol,
fission_event.products[0].mass_number,
fission_event.products[1].symbol,
fission_event.products[1].mass_number,
fission_rate,
state.primary_loop.temperature_out,
state.turbine.electrical_output_mw,
state.turbine.load_supplied_mw,