A quasi-optical beam-tracing code for electron cyclotron waves absorption and current drive in tokamaks
Go to file
Michele Guerini Rocco 92b3ad9bd3
src/gray_core.f90: implement adaptive step control
This implements a method to control the integrator step size based on
the integration error and resonance conditions. The main advantages are that:

  - the ray trajectories have a bounded error;
  - the initial step size can be large as to quickly traverse the vacuum;
  - the results no longer depend on the choice of the step size.

The error is estimated from the real part of the dispersion relation
Λ(x̅, N̅), which if solved exactly should be zero.
The error bound is set to a strict value when crossing the plasma
boundary to ensure a correct coupling and is relaxed afterwards.

Finally, when the ray is approaching a resonance the controller ensures
the step size is small compared to the absorption profile.
2024-02-26 14:44:19 +01:00
doc Improve documentation build 2022-11-17 19:31:58 +01:00
input src/gray_core.f90: implement adaptive step control 2024-02-26 14:44:19 +01:00
scripts Add first draft of Python plotting script 2022-11-13 01:57:09 +01:00
src src/gray_core.f90: implement adaptive step control 2024-02-26 14:44:19 +01:00
srcjetto fixed incompatibilities with allocatable arrays (pgf90 compiler, JETTO); fixed input/output scaling (gray/jetto interface); fixed error in read_beams2 for small beam tables 2016-06-01 13:49:35 +00:00
.gitignore add option to set parameters from the command-line 2022-05-11 01:15:07 +02:00
configure add documentation 2021-12-15 02:30:58 +01:00
default.nix default.nix: update to Nixpkgs 21.11 2023-03-29 21:52:21 +02:00
depend depend: fix typo 2023-03-30 11:06:33 +02:00
LICENSE.md Update license 2022-11-18 19:47:50 +01:00
Makefile Fix debug/optimization flags 2023-10-20 13:42:06 +02:00
minpack-LICENSE.txt Add License files 2022-11-17 19:42:44 +01:00