Open pablo-oyola opened 21 hours ago
We need to discuss how to handle the various options once we get there. Preferably I'd have as few options as possible in the actual options, and more parameters in the electric field input.
As for the tests, ideally we would have the wave solution for this "ITER-like" circular plasma case which is used in many of the tutorials and in other tests. Something simple, fast and one where the data can be distributed freely, so that we can run it in our testing pipeline. This would also benefit the GC implementation (which @jsjoona tests by comparing the steady-state energy distribution to an analytical model).
I've one question. In the full-orbit model, does the particle have to interact with the electric field on every time-step, or is it sufficient that the interaction is only at the resonance (layer)?
So far the efforts in ASCOT5 have been focused on re-introducing the RFOF module and compare it to the ASCOT4 results. The RFOF module induces a kick into the particle using a diffusion operator, computed for the guiding-center calculation. However, in some cases, whenever the GC approximation does not hold any more, one needs to consider the more-expensive case of the full-orbit. Some of those cases could be:
In that situation, the full-orbit should be used. For the full-orbit the implementation of the RF fields is straightforwards: the resonance effect is naturally captured in the full Lorentz’s equation as the gyromotion is explicitly being solved. This is the approach followed in SPIRAL in Refs. [3] and [4]. In that case, SPIRAL uses the 3D electric field as an input, while the time variation is just modulated following a simple frequency oscillation. SPIRAL can work with two modes for the 3D RF electric field:
SPIRAL and ASCOT5 have already undergone some comparisons, so it SPIRAL-RF to ASCOT5-RF-FO should be comparable as well [5].
The approach to implement the RF in the full-orbit case would be divided in the following tasks.
Numerical developments
src/Efield/
and adding it into the list of possible electric fields insrc/efield.h
andsrc/efield.c
.a5py/ascot5io/efield.py
that allow writing the fields to the HDF5 file and reading from it.libascot
communication to easily communicate and debug what is going on the C-sidePhysical developments
References