scpn_fusion.engineering – Engineering

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

Balance of Plant

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).

calculate_plant_performance(P_fusion_MW, P_aux_absorbed_MW)[source]

Takes Plasma Physics output and computes Electrical Output. P_fusion: Total fusion power (Alpha + Neutrons). P_aux_absorbed: Power absorbed by plasma (heating).

plot_sankey_diagram(metrics)[source]

Simple visualization of power flow (Text-based or simple bar for now).

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

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: