cherab / core

The core source repository for the Cherab project.
https://www.cherab.info
Other
44 stars 24 forks source link

BeamCXPEC should take the total ion density instead of the receiver ion density #441

Closed vsnever closed 1 month ago

vsnever commented 2 months ago

The ADAS manual states that the effective CX emission coefficients depend on the total ion density, referred as NZeff there and not just the receiver ion density as in Cherab. Cherab own documentation for the CXS model also states that. However the docstring for the BeamCXPEC states that the receiver ion density should be used: https://github.com/cherab/core/blob/547e7d3b5ae979ae4bf7403c6ba1893c66b80bd3/cherab/core/atomic/rates.pyx#L156-L165 and the BeamCXLine model passes the receiver ion density to the CX PECs.

From physics point of view it is the total ion density, and not just the density of the receiver ions, that determines the population of the excited states of the receiver in a thermal plasma, which in turn determines the CX emission coefficients.

The classes affected by the issue are: core.atomic.rates.BeamCXPEC, openadas.rates.cx.BeamCXPEC, core.model.beam.charge_exchange.BeamCXLine.

This issue was found by David Becker by benchmarking Cherab against the SoS code during his internship at ITER.

Fixing this issue could result in a twofold difference in CX emissivity for impurities compared to current results.

vsnever commented 1 month ago

Fixed in #444.