bloc.report_details#

Detail sheet generation for the Calculation Note.

Creates one worksheet per scenario with per-node thermodynamic data, PSR time-series, PFR composition/temperature graphs, and hyperlinks.

Functions#

write_scenario_detail_sheet(wb, scenario_id, ...)

Create a Detail {scenario_id} worksheet.

Module Contents#

bloc.report_details.write_scenario_detail_sheet(wb, scenario_id, scenario_data, diagram_paths, out_dir)#

Create a Detail {scenario_id} worksheet.

The sheet contains five sections:

  1. Diagrams – Network diagram and Sankey diagram at the top of the sheet.

  2. Per-node data – T, P, density, flow, viscosity, mole/mass fractions for every physical node (determined dynamically from the simulation).

  3. PSR time-series – graph (log scale) and table (time, temperature, top-species mole fractions).

  4. PFR profiles – embedded composition and temperature graphs with dual x-axes (time & distance), plus time-series table.

  5. Hyperlinks – interactive Sankey HTML, input YAML, run_concept.py.

Parameters:
  • wb (openpyxl.Workbook) – The workbook to add the sheet to.

  • scenario_id (str) – Scenario identifier (used in the sheet name).

  • scenario_data (dict) – Full scenario data dict (inputs, outputs, metadata, states, node_data, physical_node_names, flow_params, yaml_path, python_path).

  • diagram_paths (dict) – {"sankey": path, "sankey_html": path, "network": path}.

  • out_dir (Path) – Output directory for saving generated images.