Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2af6d40
Move elbow coeffieicnt calc from blanket to pumping
chris-ashe Jun 4, 2026
6b57f87
Add coolant properties to BlanketData class
chris-ashe Jun 4, 2026
77178a6
Add coolant friction loss parameters and output functions for blanket…
chris-ashe Jun 4, 2026
082de4e
Add function to plot blanket coolant channel structure and update mai…
chris-ashe Jun 4, 2026
828392f
Refactor pressure drop assertions in blanket tests for clarity and co…
chris-ashe Jun 5, 2026
da556e4
Add function to plot outboard blanket coolant properties along the po…
chris-ashe Jun 5, 2026
282a7b1
Tidy some variable names to match style guide
chris-ashe Jun 5, 2026
65b2313
Create mass flow required function and implement
chris-ashe Jun 5, 2026
7cb250b
🔄 Rename FW and Blkt heat capacity variables
chris-ashe Jun 5, 2026
b160c60
Add output for outboard blanket piping
chris-ashe Jun 5, 2026
e4a2606
Add output table for outboard blanket
chris-ashe Jun 5, 2026
c22c11b
Refactor coolant friction loss parameters and update related tests
chris-ashe Jun 7, 2026
b1eb1de
Enhance inboard blanket coolant channel output and pressure drop calc…
chris-ashe Jun 7, 2026
60ab609
Move FW number of bends to FW file
chris-ashe Jun 8, 2026
17be38f
Remove pipe plotting
chris-ashe Jun 8, 2026
94f3d9f
Update summary positions of tables
chris-ashe Jun 8, 2026
8254430
Post rebase fixes
chris-ashe Jun 11, 2026
4ab1aa5
Remove unused CoolProp imports and related plotting functions for out…
chris-ashe Jun 23, 2026
fb05dd4
Post merge coflict fixes
chris-ashe Jul 2, 2026
5e7ee55
Move all of the pumping related function from `BlanketLibrary` into t…
chris-ashe Jul 2, 2026
5c82b27
Update some output formatting
chris-ashe Jul 3, 2026
35124aa
Fix some coolant pumping power function imports
chris-ashe Jul 3, 2026
d95db97
Refactor pumping outputs to be specifically for inboard and outboard …
chris-ashe Jul 3, 2026
1a6107d
Add coolant mass flow rate output
chris-ashe Jul 15, 2026
9e4f6f4
Refactor coolant pumping power types to use CALCULATE_PRESSURE_DROP a…
chris-ashe Jul 15, 2026
2297c33
Rename mass flow rate variables for clarity in blanket model
chris-ashe Jul 15, 2026
7e03a94
Add coolant mass flow rate and velocity outputs for single channels i…
chris-ashe Jul 15, 2026
e2430ab
Post rebase fixes
chris-ashe Aug 3, 2026
0182a3c
Only output pumping variables if pressure drop is calculated
chris-ashe Aug 3, 2026
90684e7
Add pumping power calculation option output in first wall pumping det…
chris-ashe Aug 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions documentation/source/development/standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,14 @@ This should be used for units of $\text{kg} \cdot \text{m}^{-2}\text{s}^{-1}$

---------------------

##### Specific Heat Capacities

- Specific heat capacities for materials $[\text{J/kg/K}]$ should start with the `heatcap_` prefix
- Specific heat capacities at constant volume should start with the `heatcap_vol_` pefix
- Specific heat capacities at constant pressure should start with the `heatcap_pres_` pefix

---------------------

##### Pressures

- Pressures should start with the `pres_` prefix
Expand Down
97 changes: 0 additions & 97 deletions documentation/source/eng-models/blanket_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,100 +5,3 @@

--------------------

### Coolant mechanical pumping power | `coolant_pumping_power()`

To calculate the coolant pumping power we use the change in enthalpies of the coolant as it goes through the pump.
**We assume the pump is isentropic so the entropy change of the coolant is 0**.

The mechanical pumping power is defined as:

$$
P = \frac{\frac{\dot{m} \times \left(H_{\text{out}}-H_{\text{in}}\right)}{\eta}}{\left(1-fp\right)}
$$

where $\dot{m}$ is the coolant mass flow rate, $H$ is the coolant enthalpy, $\eta$ is the isentropic efficiency of the pump and $\gamma$ is the adiabatic index of the coolant.

$$
fp = \frac{T_{\text{pump,out}}\left(\frac{P_{\text{pump,out}}}{P_{\text{pump,in}}}\right)^{-\frac{\gamma -1}{\gamma}}}{\eta \left(T_{\text{pump,in}}-T_{\text{pump,out}}\right)}
$$

------------------

### Coolant pressure drop | `coolant_friction_pressure_drop()`

The pressure drop in the coolant is given by the [Darcy-Weisbach Equation](https://en.wikipedia.org/wiki/Darcy%E2%80%93Weisbach_equation)

For a cylindrical pipe of uniform diameter the pressure loss due to viscous effects can be characterized by:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right]
$$

where $L$ is the pipe length, $f_{\text{D}}$ is the [Darcy friction factor](https://en.wikipedia.org/wiki/Darcy_friction_factor_formulae), $\rho$ is the coolant density, $\langle v \rangle$ is the mean flow coolant velocity and $D_{\text{H}}$ is the hydraulic diameter or the pipe diameter in this case.

To find the Darcy friction factor we need to know the Reynolds number given by:

$$
\text{Re} = \frac{\rho v L}{\mu}
$$

here $L$ is the characteristic length which we set to be the pipe diameter and $\mu$ is the coolant dynamic viscosity.

Using the Reynolds number we calculate the Darcy friction factor using the Haaland approximation calculated by [`darcy_friction_haaland()`](../eng-models/generic_methods/pumping.md#pumping-coolant-friction--darcy_friction_haaland).

For the radius of the pipe bend we assume it to be 3 times the radius of the coolant channel.

The elbow coefficients for the 90 and 180 degree bends $\left(f_{\text{90,elbow}}, f_{\text{180,elbow}}\right)$ are calculated via [`elbow_coeff()`](#pipe-bend-elbow-coefficient--elbow_coeff).

The pressure drop for the straights along the entire pipe length is the same as above:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right]
$$

where we define $\frac{f_{\text{D}}L}{D_{\text{H}}}$ as our straight section coefficient.

The pressure drop for the 90 and 180 degree bends are:

$$
\Delta P = N_{\text{90}} \left[f_{\text{90,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

$$
\Delta P = N_{\text{180}} \left[f_{\text{180,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

where $N_{\text{90}}$ and $N_{\text{180}}$ are the number of 90 and 180 degree bends in the system.

The total returned pressure drop is simply:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right] + N_{\text{90}} \left[f_{\text{90,elbow}} \frac{\rho \langle v \rangle^2}{2}\right] + N_{\text{180}} \left[f_{\text{180,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

-------------------

### Pipe bend elbow coefficient | `elbow_coeff()`

This function calculates the elbow bend coefficients for pressure drop calculations.

$$
a = 1.0 \quad \text{if} \ \theta = 90^{\circ} \\
a = 0.9 \times \sin{\left(\frac{\theta \pi}{180^{\circ}}\right)} \quad \text{if} \ \theta < 70^{\circ} \\
a = 0.7 + 0.35 \times \sin{\left(\frac{\theta}{90^{\circ}} \times \frac{\pi}{180^{\circ}}\right)} \quad \text{if} \ \theta > 90^{\circ} \\
$$

where $\theta$ is the angle of the pipe bend.

$$
b = \frac{0.21}{\sqrt{\frac{R_{\text{elbow}}}{D_{\text{pipe}}}}}\quad \text{if} \ \frac{R_{\text{elbow}}}{D_{\text{pipe}}} \ge 1 \\
b = \frac{0.21}{\left(\frac{R_{\text{elbow}}}{D_{\text{pipe}}}\right)^{2.5}}\quad \text{if} \ \frac{R_{\text{elbow}}}{D_{\text{pipe}}} \le 1 \\
\text{else} \quad b =0.21
$$

The elbow coefficient is given by:

$$
ab + \left( f_{\text{D}} \times \frac{R_{\text{elbow}}}{D_{\text{pipe}}}\right) \times \theta \times \left(\frac{\pi}{180^{\circ}}\right)
$$

131 changes: 130 additions & 1 deletion documentation/source/eng-models/generic_methods/pumping.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,80 @@
# Pumping Methods


## Coolant mechanical pumping power | `coolant_pumping_power()`

To calculate the coolant pumping power we use the change in enthalpies of the coolant as it goes through the pump.
**We assume the pump is isentropic so the entropy change of the coolant is 0**.

The mechanical pumping power is defined as:

$$
P = \frac{\frac{\dot{m} \times \left(H_{\text{out}}-H_{\text{in}}\right)}{\eta}}{\left(1-fp\right)}
$$

where $\dot{m}$ is the coolant mass flow rate, $H$ is the coolant enthalpy, $\eta$ is the isentropic efficiency of the pump and $\gamma$ is the adiabatic index of the coolant.

$$
fp = \frac{T_{\text{pump,out}}\left(\frac{P_{\text{pump,out}}}{P_{\text{pump,in}}}\right)^{-\frac{\gamma -1}{\gamma}}}{\eta \left(T_{\text{pump,in}}-T_{\text{pump,out}}\right)}
$$

------------------

## Coolant pressure drop | `coolant_friction_pressure_drop()`

The pressure drop in the coolant is given by the [Darcy-Weisbach Equation](https://en.wikipedia.org/wiki/Darcy%E2%80%93Weisbach_equation)

For a cylindrical pipe of uniform diameter the pressure loss due to viscous effects can be characterized by:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right]
$$

where $L$ is the pipe length, $f_{\text{D}}$ is the [Darcy friction factor](https://en.wikipedia.org/wiki/Darcy_friction_factor_formulae), $\rho$ is the coolant density, $\langle v \rangle$ is the mean flow coolant velocity and $D_{\text{H}}$ is the hydraulic diameter or the pipe diameter in this case.

To find the Darcy friction factor we need to know the Reynolds number given by:

$$
\text{Re} = \frac{\rho v L}{\mu}
$$

here $L$ is the characteristic length which we set to be the pipe diameter and $\mu$ is the coolant dynamic viscosity.

Using the Reynolds number we calculate the Darcy friction factor using the Haaland approximation calculated by [`darcy_friction_haaland()`](../eng-models/generic_methods/pumping.md#pumping-coolant-friction--darcy_friction_haaland).

For the radius of the pipe bend we assume it to be 3 times the radius of the coolant channel.

The elbow coefficients for the 90 and 180 degree bends $\left(f_{\text{90,elbow}}, f_{\text{180,elbow}}\right)$ are calculated via [`elbow_coeff()`](#pipe-bend-elbow-coefficient--elbow_coeff).

The pressure drop for the straights along the entire pipe length is the same as above:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right]
$$

where we define $\frac{f_{\text{D}}L}{D_{\text{H}}}$ as our straight section coefficient.

The pressure drop for the 90 and 180 degree bends are:

$$
\Delta P = N_{\text{90}} \left[f_{\text{90,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

$$
\Delta P = N_{\text{180}} \left[f_{\text{180,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

where $N_{\text{90}}$ and $N_{\text{180}}$ are the number of 90 and 180 degree bends in the system.

The total returned pressure drop is simply:

$$
\Delta P = L\left[f_{\text{D}}\frac{\rho}{2}\frac{\langle v \rangle^2}{D_{\text{H}}}\right] + N_{\text{90}} \left[f_{\text{90,elbow}} \frac{\rho \langle v \rangle^2}{2}\right] + N_{\text{180}} \left[f_{\text{180,elbow}} \frac{\rho \langle v \rangle^2}{2}\right]
$$

-------------------


## Pumping coolant friction | `darcy_friction_haaland()`

The pressure drop is based on the Darcy friction factor, using the [Haaland equation](https://en.wikipedia.org/wiki/Darcy_friction_factor_formulae#Haaland_equation), an approximation to the implicit Colebrook–White equation.
Expand Down Expand Up @@ -61,4 +136,58 @@ where $\rho$ is the coolant density and $\mu$ is the coolant viscosity.

$$
h = \frac{\mathrm{Nu_D}k}{2r_{\text{channel}}}
$$
$$

-------------------------

## Pipe bend elbow coefficient | `elbow_coeff()`

This function calculates the elbow bend coefficients for pressure drop calculations.

$$
a = 1.0 \quad \text{if} \ \theta = 90^{\circ} \\
a = 0.9 \times \sin{\left(\frac{\theta \pi}{180^{\circ}}\right)} \quad \text{if} \ \theta < 70^{\circ} \\
a = 0.7 + 0.35 \times \sin{\left(\frac{\theta}{90^{\circ}} \times \frac{\pi}{180^{\circ}}\right)} \quad \text{if} \ \theta > 90^{\circ} \\
$$

where $\theta$ is the angle of the pipe bend.

$$
b = \frac{0.21}{\sqrt{\frac{R_{\text{elbow}}}{D_{\text{pipe}}}}}\quad \text{if} \ \frac{R_{\text{elbow}}}{D_{\text{pipe}}} \ge 1 \\
b = \frac{0.21}{\left(\frac{R_{\text{elbow}}}{D_{\text{pipe}}}\right)^{2.5}}\quad \text{if} \ \frac{R_{\text{elbow}}}{D_{\text{pipe}}} \le 1 \\
\text{else} \quad b =0.21
$$

The elbow coefficient is given by:

$$
ab + \left( f_{\text{D}} \times \frac{R_{\text{elbow}}}{D_{\text{pipe}}}\right) \times \theta \times \left(\frac{\pi}{180^{\circ}}\right)
$$

--------------

## Required mass flow rate | `calculate_required_mass_flow_rate()`

The required mass flow rate of a coolant is given simply by the fundamental heat transfer equation:

$$
\dot{m} = \frac{P}{c_{\text{p}}(T)\times \Delta T}
$$

where $\dot{m}$ is the required mass flow rate in, $P$ is the heating power to be removed, $c_{\text{p}}$ is the coolant specific heat capacity for constant pressure and $\Delta T$ is the temperature change in the coolant.

!!! note "Variation specific heat capacity"

The heat capacity itself is a function of temperature. Therefore it is common to use the heat capacity value at the simple average between the initial and final temperature.
This however assumes a linear relationship. Ideally the equation should be solves as:

$$
\dot{m} = \frac{P}{\int_{T_{\text{in}}}^{T_{\text{in}}}c_{\text{p}}(T) dT}
$$


!!! info "Choice of specific heat capacity"

For pumping, the specific heat capacity for constant pressure $(c_{\text{p}})$ is used as cooling loops are open-flow systems where the fluid moves continuously through pipes, heat exchangers, and pumps. As the coolant heats up, it expands freely along the loop. Because it is free to expand, the local pressure remains relatively constant while the volume changes.

You would only use the specific heat capacity for constant volume $(c_{\text{v}})$ if the coolant was completely sealed inside a rigid, unyielding container with zero flow, where heating it would cause the pressure to spike but the volume to stay exactly the same.
Comment on lines +168 to +193

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this bit of doc is new, so probably worth an @ukaea/process-model-review looking at it

110 changes: 99 additions & 11 deletions process/core/io/plot/summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@
PlasmaGeometryModelType,
PlasmaShapeModelType,
)
from process.models.power import PumpingPowerModelTypes
from process.models.superconductors import SuperconductorModel
from process.models.tfcoil.base import (
TFCoilShapeModel,
Expand Down Expand Up @@ -15870,7 +15871,95 @@ def plot_cs_von_mises_2d_contour(
axis.set_xlim(r_cs_inner * 0.9, r_cs_outer * 1.1)
axis.set_ylim((-dz_cs_full / 2) * 1.1, (dz_cs_full / 2) * 1.1)
axis.grid(True, alpha=0.3)
axis.set_title("CS Von Mises Stress Contour at BOP")
axis.set_title("CS Radial Stress at BOP")
axis.legend(loc="best")


def plot_blanket_coolant_properties(fig: plt.Figure, m_file: MFile, scan: int):
"""Combined plot of blanket coolant channel structure and properties."""
# Add info about the Winding Pack
textstr_outboard_blkt = (
f"$\\mathbf{{Outboard \\ blanket:}}$\n \n"
f"Radius of blanket channel: {m_file.get('radius_blkt_channel', scan=scan):.4f} m\n"
f"Channel roughness ($\\epsilon$): {m_file.get('roughness_fw_channel', scan=scan):.4e} m\n\n"
f"Radial coolant channel length: {m_file.get('len_blkt_outboard_coolant_channel_radial', scan=scan):.4f} m\n"
f"Poloidal coolant channel length: {m_file.get('len_blkt_outboard_segment_poloidal', scan=scan):.4f} m\n"
f"Number of radial channels: {m_file.get('n_blkt_outboard_module_coolant_sections_radial', scan=scan)}\n"
f"Number of poloidal channels: {m_file.get('n_blkt_outboard_module_coolant_sections_poloidal', scan=scan)}\n"
f"Total length of coolant channel straight sections: {m_file.get('len_blkt_outboard_channel_total', scan=scan):.4f} m\n\n"
f"Pressure drop for straight sections: {m_file.get('dpres_blkt_outboard_coolant_channel_straight_total', scan=scan):.2e} Pa\n"
f"Pressure drop for 90° bends: {m_file.get('dpres_blkt_outboard_coolant_channel_90_bend', scan=scan):.2e} Pa\n"
f"Total pressure drop for 90° bends: {m_file.get('dpres_blkt_outboard_coolant_channel_90_bends_total', scan=scan):.2e} Pa\n"
f"Pressure drop for 180° bends: {m_file.get('dpres_blkt_outboard_coolant_channel_180_bend', scan=scan):.2e} Pa\n"
f"Total pressure drop for 180° bends: {m_file.get('dpres_blkt_outboard_coolant_channel_180_bends_total', scan=scan):.2e} Pa\n"
f"Total pressure drop for all bends: {m_file.get('dpres_blkt_outboard_bends_total', scan=scan):.2e} Pa\n\n"
f"Reynolds number ($Re$): {m_file.get('reynolds_blkt_outboard_coolant', scan=scan):.4f}\n"
f"Darcy Friction factor ($f$): {m_file.get('darcy_frict_blkt_outboard_coolant', scan=scan):.4f}\n\n"
f"Friction drop coefficient for straight sections: {m_file.get('f_straight_blkt_outboard_coolant', scan=scan):.4f}\n"
f"Friction drop coefficient for 90° bends: {m_file.get('f_elbow_blkt_outboard_90_bend', scan=scan):.4f}\n"
f"Friction drop coefficient for 180° bends: {m_file.get('f_elbow_blkt_outboard_180_bend', scan=scan):.4f}\n\n"
f"Total coolant mass flow rate: {m_file.get('mflow_blkt_outboard_coolant', scan=scan):.4f} kg/s\n"
f"Coolant mass flow rate in single channel: {m_file.get('mflow_blkt_outboard_coolant_channel', scan=scan):.4f} kg/s\n"
f"Coolant velocity in single channel: {m_file.get('vel_blkt_outboard_coolant', scan=scan):.4f} m/s"
)

fig.text(
0.5,
0.5,
textstr_outboard_blkt,
fontsize=9,
verticalalignment="top",
horizontalalignment="left",
transform=fig.transFigure,
bbox={
"boxstyle": "round",
"facecolor": "wheat",
"alpha": 1.0,
"linewidth": 2,
},
)

# Add info about the Winding Pack
textstr_inboard_blkt = (
f"$\\mathbf{{Inboard \\ blanket:}}$\n \n"
f"Radius of blanket channel: {m_file.get('radius_blkt_channel', scan=scan):.4f} m\n"
f"Channel roughness ($\\epsilon$): {m_file.get('roughness_fw_channel', scan=scan):.4e} m\n\n"
f"Radial coolant channel length: {m_file.get('len_blkt_inboard_coolant_channel_radial', scan=scan):.4f} m\n"
f"Poloidal coolant channel length: {m_file.get('len_blkt_inboard_segment_poloidal', scan=scan):.4f} m\n"
f"Number of radial channels: {m_file.get('n_blkt_inboard_module_coolant_sections_radial', scan=scan)}\n"
f"Number of poloidal channels: {m_file.get('n_blkt_inboard_module_coolant_sections_poloidal', scan=scan)}\n"
f"Total length of coolant channel straight sections: {m_file.get('len_blkt_inboard_channel_total', scan=scan):.4f} m\n\n"
f"Pressure drop for straight sections: {m_file.get('dpres_blkt_inboard_coolant_channel_straight_total', scan=scan):.2e} Pa\n"
f"Pressure drop for 90° bends: {m_file.get('dpres_blkt_inboard_coolant_channel_90_bend', scan=scan):.2e} Pa\n"
f"Total pressure drop for 90° bends: {m_file.get('dpres_blkt_inboard_coolant_channel_90_bends_total', scan=scan):.2e} Pa\n"
f"Pressure drop for 180° bends: {m_file.get('dpres_blkt_inboard_coolant_channel_180_bend', scan=scan):.2e} Pa\n"
f"Total pressure drop for 180° bends: {m_file.get('dpres_blkt_inboard_coolant_channel_180_bends_total', scan=scan):.2e} Pa\n"
f"Total pressure drop for all bends: {m_file.get('dpres_blkt_inboard_bends_total', scan=scan):.2e} Pa\n\n"
f"Reynolds number ($Re$): {m_file.get('reynolds_blkt_inboard_coolant', scan=scan):.4f}\n"
f"Darcy Friction factor ($f$): {m_file.get('darcy_frict_blkt_inboard_coolant', scan=scan):.4f}\n\n"
f"Friction drop coefficient for straight sections: {m_file.get('f_straight_blkt_inboard_coolant', scan=scan):.4f}\n"
f"Friction drop coefficient for 90° bends: {m_file.get('f_elbow_blkt_inboard_90_bend', scan=scan):.4f}\n"
f"Friction drop coefficient for 180° bends: {m_file.get('f_elbow_blkt_inboard_180_bend', scan=scan):.4f}\n\n"
f"Total coolant mass flow rate: {m_file.get('mflow_blkt_inboard_coolant', scan=scan):.4f} kg/s\n"
f"Coolant mass flow rate in single channel: {m_file.get('mflow_blkt_inboard_coolant_channel', scan=scan):.4f} kg/s\n"
f"Velocity of inboard blanket coolant in single channel: {m_file.get('vel_blkt_inboard_coolant', scan=scan):.4f} m/s"
)

fig.text(
0.1,
0.5,
textstr_inboard_blkt,
fontsize=9,
verticalalignment="top",
horizontalalignment="left",
transform=fig.transFigure,
bbox={
"boxstyle": "round",
"facecolor": "wheat",
"alpha": 1.0,
"linewidth": 2,
},
)


def main_plot(
Expand Down Expand Up @@ -16453,17 +16542,18 @@ def _add_page(name: str | None = None):
)
plot_fw_90_deg_pipe_bend(pages["fw_td_cross_section"].add_subplot(337), m_file, scan)

plot_blkt_pipe_bends(_add_page("blkt_pipe_bends"), m_file, scan)
ax_blanket = pages["blkt_pipe_bends"].add_subplot(122, aspect="equal")
ax_blanket = _add_page("blkt_structure").add_subplot(122, aspect="equal")
plot_blkt_structure(
ax_blanket,
pages["blkt_pipe_bends"],
m_file,
scan,
radial_build,
colour_scheme,
ax_blanket, pages["blkt_structure"], m_file, scan, radial_build, colour_scheme
)

plot_blkt_pipe_bends(_add_page("blkt_cooling"), m_file, scan)
if (
m_file.get("i_p_coolant_pumping", scan=scan)
== PumpingPowerModelTypes.CALCULATE_PRESSURE_DROP
Comment thread
timothy-nunn marked this conversation as resolved.
):
plot_blanket_coolant_properties(pages["blkt_cooling"], m_file, scan)

plot_main_power_flow(
_add_page("main_power_flow").add_subplot(111, aspect="equal"),
m_file,
Expand Down Expand Up @@ -16581,8 +16671,6 @@ def add_page_footer(
color="dimgray",
)

# create main plot
# Increase range when adding new page
# run main_plot
mfile_obj = MFile(mfile) if mfile else MFile("MFILE.DAT")
run_label = f"{mfile_obj.get('fileprefix', scan=-1)} | scan {scan or -1} | {mfile_obj.get('date', scan=-1)} {mfile_obj.get('time', scan=-1)} | {mfile_obj.get('tagno', scan=-1)} | Branch: {mfile_obj.get('branch_name', scan=-1)} "
Expand Down
Loading