more writeup updates
This commit is contained in:
parent
f938f50e60
commit
b0f73669b7
1 changed files with 33 additions and 11 deletions
|
|
@ -4,7 +4,21 @@
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"Imports"
|
"# MSRE Pump Transient Benchmark"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"This notebook simulates pump transients for the MSRE at zero power (10W). A dynamical system representing the MSRE is built using the [msrDynamics](https://github.com/LukeLabrie/msrDynamics) tool. The system is run at steady-state until $t = 2500$, where the fuel and coolant pumps are spun down at the rate defined by the ORNL data. After allowing the system to settle to a new equilibrium, at $t = 7500$, the pumps are spun up again. The model includes a reactivity response, `rho_control`, which models the response of the MSRE control rod to maintain constant power. It is modeled as a pure integrator of $\\frac{dn}{dt}$ from the point-kinetics equations with a coefficient of -1.0, i.e. it tries to exactly cancel reactivity changes introduced by flow changes, with the caveat that changes are limited to $\\pm$29 pcm/s, which was the maximum rate achievable by the MSRE control rods. "
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Imports"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -26,7 +40,7 @@
|
||||||
"cell_type": "markdown",
|
"cell_type": "markdown",
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"source": [
|
"source": [
|
||||||
"This notebook simulates pump transients for the MSRE at zero power (10W). A dynamical system representing the MSRE is built using the [msrDynamics](https://github.com/LukeLabrie/msrDynamics) tool. The system is run at steady-state until $t = 2500$, where the fuel and coolant pumps are spun down at the rate defined by the ORNL data. After allowing the system to settle to a new equilibrium, at $t = 7500$, the pumps are spun up again. The model includes a reactivity response, `rho_control`, which models the response of the MSRE control rod to maintain constant power. It is modeled as a pure integrator of $\\frac{dn}{dt}$ from the point-kinetics equations with a coefficient of -1.0, i.e. it tries to exactly cancel reactivity changes introduced by flow changes, with the caveat that changes are limited to $\\pm$29 pcm/s, which was the maximum rate achievable by the MSRE control rods. "
|
"## Plotting Style "
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -52,6 +66,13 @@
|
||||||
" ax.tick_params(axis='y', which='both', left=True, right=False, labelleft=True)"
|
" ax.tick_params(axis='y', which='both', left=True, right=False, labelleft=True)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "markdown",
|
||||||
|
"metadata": {},
|
||||||
|
"source": [
|
||||||
|
"## Sytem Definition using `msrDynamics`"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": null,
|
||||||
|
|
@ -70,6 +91,7 @@
|
||||||
"t_spindown = 2500\n",
|
"t_spindown = 2500\n",
|
||||||
"t_spinup = 7500\n",
|
"t_spinup = 7500\n",
|
||||||
"\n",
|
"\n",
|
||||||
|
"# defining flow events\n",
|
||||||
"def flow_fac(t):\n",
|
"def flow_fac(t):\n",
|
||||||
" if (t <= t_spindown):\n",
|
" if (t <= t_spindown):\n",
|
||||||
" return 1.0\n",
|
" return 1.0\n",
|
||||||
|
|
@ -82,15 +104,8 @@
|
||||||
" else:\n",
|
" else:\n",
|
||||||
" return 1.0\n",
|
" return 1.0\n",
|
||||||
"\n",
|
"\n",
|
||||||
"flow_pct = MSRE.add_input(flow_fac, T, max_anchors = 5000, input_tol = 32)"
|
"flow_pct = MSRE.add_input(flow_fac, T, max_anchors = 5000, input_tol = 32)\n",
|
||||||
]
|
"\n",
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"# define nodes\n",
|
"# define nodes\n",
|
||||||
"\n",
|
"\n",
|
||||||
"# radiator\n",
|
"# radiator\n",
|
||||||
|
|
@ -192,6 +207,13 @@
|
||||||
"rho.set_drdt(sources = [T_cf1.dydt, T_cg.dydt], coeffs = [a_f,a_g])"
|
"rho.set_drdt(sources = [T_cf1.dydt, T_cg.dydt], coeffs = [a_f,a_g])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": null,
|
"execution_count": null,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue