Severe accident neutronics and thermal hydraulics can be simulated beautifully for simple geometries and well studied materials. (below, INL BISON work.)
\[\sigma(E,\vec{r},\hat{\Omega},T,x,i)\]
\[k=1\]
\[\beta_i, \lambda_{d,i}\]
# External Reactivity
from reactivity_insertion import RampReactivityInsertion
rho_ext = RampReactivityInsertion(timer=ti,
t_start=t_feedback + 10.0*units.seconds,
t_end=t_feedback + 20.0*units.seconds,
rho_init=0.0*units.delta_k,
rho_rise=600.0*units.pcm,
rho_final=600.0*units.pcm)
fuel = th.THComponent(name="fuel",
mat=Fuel,
vol=vol_fuel,
T0=t_fuel,
alpha_temp=alpha_fuel,
timer=ti,
heatgen=True,
power_tot=power_tot/n_pebbles,
sph=True,
ri=r_mod,
ro=r_fuel
)
mod = th.THComponent(name="mod",
mat=Moderator,
vol=vol_mod,
T0=t_mod,
alpha_temp=alpha_mod,
timer=ti,
sph=True,
ri=0.0,
ro=r_mod)
cool = th.THComponent(name="cool",
mat=cool,
vol=vol_cool,
T0=t_cool,
alpha_temp=alpha_cool,
timer=ti)
shell = th.THComponent(name="shell",
mat=Shell,
vol=vol_shell,
T0=t_shell,
alpha_temp=alpha_shell,
timer=ti,
sph=True,
ri=r_fuel,
ro=r_shell)
# The coolant convects to the pebbles
cool.add_convection('pebble', h=h_cool, area=a_pb)
cool.add_advection('cool', m_flow/n_pebbles, t_inlet, cp=cool.cp)
Average fuel pebble peak temperature \[<1100^\circ C\]
Hundreds of discrete facilities mine, mill, convert, fabricate, transmute, recycle, and store nuclear material.
An agent-based simulation is made up of actors and communications between those actors.
A facility might create material.
It might request material.
It might do both.
Even simple fuel cycles have many independent agents.
If a decision problem is in NP-C, then the corresponding optimization problem is NP-hard.