scpn_fusion.engineering – Engineering

The engineering subpackage provides balance-of-plant thermal cycle models and CAD raytrace surface-loading estimation.

Balance of Plant

Balance-of-plant performance model for conversion efficiency and parasitic loads.

class scpn_fusion.engineering.balance_of_plant.PlantPowerBreakdown[source]

Bases: TypedDict

Parasitic-load breakdown for balance-of-plant accounting.

Cryo: float
Pumps: float
Heating_Plug: float
Misc: float
class scpn_fusion.engineering.balance_of_plant.PlantPerformance[source]

Bases: TypedDict

Balance-of-plant scalar performance metrics.

P_fusion: float
P_thermal: float
P_gross: float
P_recirc: float
P_net: float
Q_plasma: float
Q_eng: float
breakdown: PlantPowerBreakdown
class scpn_fusion.engineering.balance_of_plant.PowerPlantModel(coolant_type='water')[source]

Bases: object

SCPN Balance of Plant (BOP) Simulator.

Calculates the conversion of Fusion Energy to Grid Electricity. Includes parasitic loads (Magnets, Heating, Pumping).

Parameters:

coolant_type (str)

calculate_plant_performance(P_fusion_MW, P_aux_absorbed_MW)[source]

Convert plasma physics output into electrical output.

P_fusion: Total fusion power (Alpha + Neutrons). P_aux_absorbed: Power absorbed by plasma (heating).

Return type:

PlantPerformance

Parameters:
plot_sankey_diagram(metrics)[source]

Visualise power flow as a text-based or simple bar summary.

Return type:

Any

Parameters:

metrics (PlantPerformance)

CAD Raytrace Surface Loading

Reduced CAD mesh ray-tracing utilities (STEP/STL integration lane).

class scpn_fusion.engineering.cad_raytrace.CADLoadReport(face_loading_w_m2, peak_loading_w_m2, mean_loading_w_m2)[source]

Bases: object

Structured result for reduced CAD heat-load reconstruction.

Parameters:
face_loading_w_m2: ndarray[Any, dtype[float64]]
peak_loading_w_m2: float
mean_loading_w_m2: float
scpn_fusion.engineering.cad_raytrace.load_cad_mesh(path)[source]

Load CAD mesh from STL/STEP using trimesh when available.

Falls back to ASCII STL parser when trimesh is not available.

Return type:

tuple[ndarray[Any, dtype[float64]], ndarray[Any, dtype[int64]]]

Parameters:

path (str | Path)

scpn_fusion.engineering.cad_raytrace.estimate_surface_loading(vertices, faces, source_points_xyz, source_strength_w, *, occlusion_cull=False, occlusion_broadphase=True, occlusion_epsilon=1e-09)[source]

Compute reduced line-of-sight heat loading on CAD triangles.

Return type:

CADLoadReport

Parameters: