Skip to content

🎨 Add blkt pipes output#4369

Open
chris-ashe wants to merge 30 commits into
mainfrom
add_blkt_pipes_output
Open

🎨 Add blkt pipes output#4369
chris-ashe wants to merge 30 commits into
mainfrom
add_blkt_pipes_output

Conversation

@chris-ashe

@chris-ashe chris-ashe commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces significant improvements to the documentation, data structure, and output related to blanket coolant channel pumping and pressure drop calculations. The main changes include moving detailed coolant pumping and pressure drop documentation to a more appropriate location, adding new variables for coolant flow and pressure drop tracking, enhancing plotting capabilities for coolant properties, and updating variable names for clarity.

Documentation Improvements:

  • Moved detailed explanations for coolant mechanical pumping power, pressure drop, and elbow coefficient calculations from blanket_overview.md into a new section in generic_methods/pumping.md, making the documentation more modular and easier to maintain. Also added a new section on calculating required mass flow rate and clarified when to use specific heat capacities at constant pressure or volume.

Data Structure and Variable Enhancements:

  • Added new variables to BlanketData for tracking Reynolds numbers, Darcy friction factors, bend loss coefficients, friction coefficients, pressure drops, and mass flow rates for both inboard and outboard blanket coolant channels. Updated variable names for mass flow rates for clarity and consistency.
  • Improved the docstring for roughness_fw_channel in FWBSData for clarity.

Plotting and Output Updates:

  • Added a new plotting function, plot_blanket_coolant_channel_structure_and_properties, to summary.py that provides a comprehensive summary of coolant channel structure and properties for both inboard and outboard blankets. Integrated this new plot into the summary plotting workflow.
  • Updated the output logic to write new inboard and outboard blanket pumping variables when appropriate, ensuring all new data is available for post-processing and analysis.

Naming and Standards:

  • Added new naming conventions for specific heat capacities in the standards documentation, specifying the use of heatcap_, heatcap_vol_, and heatcap_pres_ prefixes.

These changes collectively improve the clarity, maintainability, and usability of the codebase and its documentation for coolant channel analysis and reporting.


image

Checklist

I confirm that I have completed the following checks:

  • My changes follow the PROCESS style guide
  • I have justified any large differences in the regression tests caused by this pull request in the comments.
  • I have added new tests where appropriate for the changes I have made.
  • If I have had to change any existing unit or integration tests, I have justified this change in the pull request comments.
  • If I have made documentation changes, I have checked they render correctly.
  • I have added documentation for my change, if appropriate.

@timothy-nunn

timothy-nunn commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Can you fix the conflicts before I do my first review.

Please also add which variables have been renamed in the PR body

@timothy-nunn timothy-nunn self-assigned this Jun 23, 2026
@chris-ashe
chris-ashe marked this pull request as draft June 23, 2026 13:51
@chris-ashe
chris-ashe force-pushed the add_blkt_pipes_output branch from a175010 to 3b043bb Compare June 23, 2026 15:42
@codecov-commenter

codecov-commenter commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 49.85163% with 169 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.66%. Comparing base (db9c8b1) to head (753dadd).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
process/models/blankets/blanket_library.py 6.45% 145 Missing ⚠️
process/models/blankets/hcpb.py 25.00% 9 Missing ⚠️
process/core/io/plot/summary.py 12.50% 7 Missing ⚠️
process/core/output.py 25.00% 3 Missing ⚠️
process/models/engineering/pumping.py 96.70% 3 Missing ⚠️
process/models/blankets/dcll.py 0.00% 1 Missing ⚠️
process/models/power.py 66.66% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4369      +/-   ##
==========================================
+ Coverage   48.63%   48.66%   +0.03%     
==========================================
  Files         151      151              
  Lines       29670    29851     +181     
==========================================
+ Hits        14429    14526      +97     
- Misses      15241    15325      +84     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@timothy-nunn timothy-nunn removed their assignment Jun 24, 2026
@chris-ashe
chris-ashe force-pushed the add_blkt_pipes_output branch from c3b5841 to 611c3c1 Compare July 2, 2026 14:58
@chris-ashe
chris-ashe force-pushed the add_blkt_pipes_output branch from 611c3c1 to 188a388 Compare July 2, 2026 15:29
@chris-ashe
chris-ashe marked this pull request as ready for review July 15, 2026 08:41
@timothy-nunn timothy-nunn self-assigned this Jul 16, 2026

@timothy-nunn timothy-nunn left a comment

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.

For large tokamak (eval and nof) I am getting 0's for most of the quantities in the summary PDF:

Image

They are being written as 0 to the MFile:

Pressure_drop_for_straight_sections_of_outboard_blanket_(Pa)_____________ (dpres_blkt_outboard_coolant_channel_straight_total)_ 0.00000000000000000e+00 OP 
Pressure_drop_for_90°_bends_of_outboard_blanket_(Pa)_____________________ (dpres_blkt_outboard_coolant_channel_90_bend)_ 0.00000000000000000e+00 OP 
Total_pressure_drop_for_90°_bends_of_outboard_blanket_(Pa)_______________ (dpres_blkt_outboard_coolant_channel_90_bends_total)_ 0.00000000000000000e+00 OP 
Pressure_drop_for_180°_bends_of_outboard_blanket_(Pa)____________________ (dpres_blkt_outboard_coolant_channel_180_bend)_ 0.00000000000000000e+00 OP 
Total_pressure_drop_for_180°_bends_of_outboard_blanket_(Pa)______________ (dpres_blkt_outboard_coolant_channel_180_bends_total)_ 0.00000000000000000e+00 OP 
Total_pressure_drop_for_all_bends_(Pa)___________________________________ (dpres_blkt_outboard_bends_total)_ 0.00000000000000000e+00 OP 
Reynolds_number_of_outboard_blanket_coolant______________________________ (reynolds_blkt_outboard_coolant)_ 0.00000000000000000e+00 OP 
Darcy_friction_factor_of_outboard_blanket_coolant________________________ (darcy_frict_blkt_outboard_coolant)_ 0.00000000000000000e+00 OP 
Pressure_drop_coefficient_for_straight_sections_of_outboard_blanket______ (f_straight_blkt_outboard_coolant)_ 0.00000000000000000e+00 OP 
Total_length_of_straight_sections_of_outboard_blanket_coolant_channels_(m)_ (len_blkt_outboard_coolant_channel_straight_total)_ 0.00000000000000000e+00 OP 
Pressure_drop_coefficient_for_90°_bends_in_outboard_blanket______________ (f_elbow_blkt_outboard_90_bend)_ 0.00000000000000000e+00 OP 
Pressure_drop_coefficient_for_180°_bends_in_outboard_blanket_____________ (f_elbow_blkt_outboard_180_bend)_ 0.00000000000000000e+00 OP 
Mass_flow_rate_of_outboard_blanket_coolant_(kg/s)________________________ (mflow_blkt_outboard_coolant)__ 0.00000000000000000e+00 OP 
Mass_flow_rate_of_outboard_blanket_coolant_in_single_channel_(kg/s)______ (mflow_blkt_outboard_coolant_channel)_ 0.00000000000000000e+00 OP 
Velocity_of_outboard_blanket_coolant_in_single_channel_(m/s)_____________ (vel_blkt_outboard_coolant)____ 0.00000000000000000e+00 OP 

@chris-ashe

chris-ashe commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Can you fix the conflicts before I do my first review.

Please also add which variables have been renamed in the PR body

You will need to specify i_p_coolant_pumping = 2 in the input file. It is currently at 3. In option 3 the pressure drop is input so the calculation for the pumping power is done instantly. For option 2 the pressure drop is calculated based on the piping geometry and fluid properties hence why its all zero currently as its not ran.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants