Skip to content

Reactor

Nuclear reactor — point-kinetics with delayed neutrons, xenon poisoning, thermal feedback, and rate-limited control rods.

Action space Box((1,)), all actions in [-1, 1]
Observation space Box((4,))
Tracked variable(s) neutron power (normalised)
Episode length 864 steps (8640 s at 10 s per step)
Import from target_gym import Reactor, ReactorParams
Cite as reactor-v2

Action space

Actions are normalised to [-1, 1] and mapped onto the plant's real actuator range inside the environment.

# meaning min max
0 rho_ext_norm -1 1

Observation space

4 values. Indices (0,) carry the tracked variable(s) that the reward scores.

Rewards

Flux tracking minus a small rod-motion penalty.

Every environment in this suite scores on one contract: the reward is (tracking terms, multiplied) x (1 - weighted costs), bounded in [0, 1], and reaches 1 only while the target is held exactly. See Reward shaping.

Starting state

reset samples the initial condition and the target; state has 12 fields.

Episode end

Termination. See check_is_terminal.

Truncation. After 864 steps.

Baselines

A tuned PID ships with this environment.

Arguments

parameter default
delta_t 1
max_steps_in_episode 864
Lambda_gen 0.0001
alpha_fuel -3e-05
alpha_coolant -5e-05
T_fuel_ref 900
T_coolant_ref 580
rho_ext_min -0.01
rho_ext_max 0.005
rod_speed_insert 0.0004
rod_speed_withdraw 0.0002
P_thermal_ref 3e+09
C_fuel 3.3e+07
C_coolant 7e+07
22 more, see the params dataclass