Skip to content

4634 add fuel ion equilibrium constraint - #4639

Open
grmtrkngtn wants to merge 3 commits into
mainfrom
4634-add-fuel-ion-equilibrium-constraint
Open

grmtrkngtn wants to merge 3 commits into
mainfrom
4634-add-fuel-ion-equilibrium-constraint

Conversation

@grmtrkngtn

Copy link
Copy Markdown
Collaborator

This makes fuel-ion equilibrium an explicit equality constraint in PROCESS.

Previously, the required plasma fuelling rate was calculated and set internally from the fusion rate and burnup fraction. This hides one of the coupled relationships required for PROCESS to arrive at a self-consistent solution.

The change separates:

molflow_plasma_fuelling, representing the plasma fuelling rate;

molflow_plasma_fuelling_equilibrium, calculated from the plasma state.

Constraint 93 then explicitly enforces fuel-ion equilibrium by requiring:

molflow_plasma_fuelling = molflow_plasma_fuelling_equilibrium

The equilibrium requirement is calculated in the physics model, while the constraint simply compares the two quantities.

Motivation

This is part of the work required to introduce a PROCESS solution mode for uncertainty-quantification evaluations.

For UQ, we want to evaluate PROCESS at sampled inputs without performing a full design optimisation. PROCESS must therefore be able to solve the coupled equations required for a physically self-consistent plant state independently of the optimisation problem.

Making fuel-ion equilibrium an explicit closure equation is one step towards separating:

  • solving the PROCESS model for a self-consistent state, from

  • optimising the design.

This will allow a future solution mode to solve the required internal equilibrium equations for each UQ sample while keeping the sampled/design quantities fixed.

@grmtrkngtn grmtrkngtn self-assigned this Oct 1, 2026
@grmtrkngtn
grmtrkngtn requested a review from a team as a code owner October 1, 2026 15:27
@grmtrkngtn grmtrkngtn added the Convergence Solver or convergence-related problems label Oct 1, 2026
@grmtrkngtn grmtrkngtn linked an issue Oct 1, 2026 that may be closed by this pull request
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 60.00000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.92%. Comparing base (2029202) to head (d7e9340).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
process/models/physics/physics.py 0.00% 3 Missing ⚠️
process/core/io/plot/summary.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4639   +/-   ##
=======================================
  Coverage   49.92%   49.92%           
=======================================
  Files         151      151           
  Lines       30225    30242   +17     
=======================================
+ Hits        15089    15099   +10     
- Misses      15136    15143    +7     

☔ 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 requested a review from a team October 2, 2026 07:36
@timothy-nunn

Copy link
Copy Markdown
Collaborator

@grmtrkngtn could you possibly explain (and justify) why the regression tests have changed results here? Its not immediately obvious why this has happened

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

Labels

Convergence Solver or convergence-related problems

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add fuel-ion equilibrium constraint

4 participants