ukaea / ukaea/PROCESS

Potential improvement: analytical calculation of helium content

Open
#3,838 3 comments 0 reactions 2 assignees View on GitHub

@mkovari is already working on this.

Since Jan 28, 2026.

Impurities Physics
Dominant language
Python
Stars
71
Forks
27
Avg merge
2d 18h
Merged PRs (30d)
33

Description

PROCESS calculates the helium content in the plasma (f_nd_alpha_electron - iteration variable 109) via the constraint for the ratio of apparent helium confinement time to energy confinement time (constraint equation 62), given by:

$$\tau_{He}^{\textrm*}/\tau_{E} > \tau_{He,limit}$$

This should technically be a consistency equation (and set as an equality), as tau_he_limit is effectively an important confinement assumption. During a typical optimisation run, where size is being minimised or, more generally, that higher plasma power density is "good", this constraint will sit on its lower bound (the confinement assumption).

In HELIOS and APOLLO, the equivalent of f_nd_alpha_electron is resolved analytically to satsify $\tau_{He}^{\textrm*}/\tau_{E} = \tau_{He,limit}$ and conservation of charge and mass (PROCESS also conserves these quantities), by means of a quadratic equation. In APOLLO, I have extended the HELIOS approach to account for additional reactions (D-D) and ion source terms (NBI).

I think changing the existing constraint in PROCESS to an equality of the same form will probably worsen convergence in optimisation mode. If we were to replace this constraint (and remove the iteration variable) with the analytical solution, the dimensionality of the problem would be reduced somewhat, and the runtime would probably improve

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.