Tags give the ability to mark specific points in history as being important
  • v2.5.4 protected   Ti over Te ion flux fix

    Includes fix for spurious Ti/Te multiplication of ion heat fluxes.

    Most affects cases with fast ions, where the (wrong) ion heat flux is then on order of main ion heat flux.

    Together with updates in tag v2.5.3, electrostatic fast ions are now correctly treated in QuaLiKiz

  • v2.5.3 protected   Fast ions

    This release treats fast ions more consistently, see !39.

    As such, QuaLiKiz can now be used in integrated modelling when running with fast ions. Runs using QuaLiKiz versions before this release should be redone!

  • v2.5.2 protected   Compiling for three compilers

    This version is able to be compiled for all three compilers on heimdall as of JETTO-SANCO dd835cd4011717836ac0faf5774d7c249822e13a. The following changes have been made since v2.5.1:

    • Bugfix in the definition of pinch angle in Krook operator
    • Improvement of contour limits for negative temperature and density gradients
    • Added compilation options for Heimdall
    • Fixes for QLK build inside JETTO
    • Input filtering on negative densities and temperatures
  • v2.5.1 protected   integrant refactor

    This release contains a large refactor of the integrants in all NAG integrals. A lot of integrands are combined into a single one, in which the specific integrant can be chosen with a flag. Specifically:

    As of now, MKL is contained in the QuaLiKiz docker 0c3a7ff6, and one small bug was found and fixed in Swap buggy nocol fk/fki lines.

  • v2.5.0 protected   QuaLiKiz CI + reproducibility improvements

    This version is the first release after the full move to GitLab. This enabled the creation of automated regression checks (Continuous Integration, or CI). This in turn allowed for some bugs to be found, greatly increasing the binary-level reproducibility of QuaLiKiz. It should be stressed that these fixes have little physics impact! This release includes numerous improvements of the QuaLiKiz build in JETTO. Other notable changes


    • Added simple MPI scheme with no OpenMP (new option in QLK interface)
    • b898f736 Resolved DAVINT crashes on ifort12 by O2-->O1 optimisation
    • b75db360 Bugfix ETG davint integrations
    • 985065f7 Redefine arrays of ETG davint integration as [0 ETGscale]


    • 206495da Ripped out separated passing FLR calculations. They have been superceded by inclusion directly within passints
    • a15595dc Ripped old _cub integrands from calltrapints
    • 365ac753 Ripped old _cub integrands from callpassints
    • d54ace58 Ripped out FFkerotold from trapints
    • c153a00c Refactored asymmetry with unified ecoefs calculation
    • 3e295e0c Reduced verbosity if verbose = false

    Physics fixes:

    • ce851ff6 Bugfix for exotic parameter regimes for multiple solutions per contour
    • cfafa1db Bugfix Nathanrule (ETG when gamETG/gamITG>sqrt(mi/me) ). Before was not doing anything
    • 37440f07 Bugfix for kperp2 in saturation rule when including rotation
    • 9999a77f Bugfix for contour limits in highly driven cases (e.g. L-mode edge)
  • v2.4.5 protected

    JETTO-submodule-version QuaLiKiz

    Minor aesthetic fixes compared to v2.4.4

    This is the first version merged into JETTO development line as a submodule

  • v2.4.4 protected

    Single QuaLiKiz version reference

    This release merges together the three version of QuaLiKiz, QuaLiKiz-JETTO, QuaLiKiz-CEA and master.

  • 2019-01-07-master-incorrect-merge
  • qlk_jetto_2018

    JETTO 2018 reference version

    This release is part of the effort to converge to a single canonical QuaLiKiz repository. This version gives identical results for the standard JETTO-QuaLiKiz regression test as the production version of QuaLiKiz inside JETTO v170817, v280818 and v121218 .

    This version is included in JETTO as a git sub-module in JETTO feature branch fcasson_qlk_submodule2, commit 0c1d996f427ff0d98b28066ba9d99cc901038b88. (Branched off of JETTO develop commit ed21e4ac0247936103f06ccb3a9a3566e57bbe65 - See also JETTO merge request !119). For more information on the QuaLiKiz-JETTO merge see #29.

  • v2.4.3 protected

    Low density trace ions fix

    Fixed rounding errors for very low ni/ne (<1e-5) as seen below for trace D in the GA-Standard case. For impurities, it’s not as bad due to the Z^2 term, but can still impact e.g. W-transport lower than 1e-6-1e-7 level.

    Detailed change log:

    • Bugfix MPI file I/O; Copies of the same file were being written to the same location on disk
    • Added write_primi flag to suppress output of primitives
    • Extended disk I/O interface to also write 3D arrays
    • Fixed name collision with JETTO in top-level Makefile
    • Bugfix narrow poloidal eigenfunctions in asymmetry
    • Redefined ITG regime kthetarhos<ETGk=2 to kthetarhos<=ETGk=2
    • Various other tiny fixes
  • v2.4.2 protected

    JETTO reference version

    Recap of 2.4:

    • Parallelization of standalone I/O and general saturation rules
    • Modification of variable names for standalone I/O
    • Python I/O tools for standalone mode
    • Possibility to output separated ITG, TEM, and ETG fluxes

    Specifically for 2.4.2:

    • Bugfixes and completion of standalone outputs, following full regression testing
  • v2.4.1 protected

    Open Source QuaLiKiz

    This is the first open source version of QuaLiKiz!

  • QLK-2.3.0-rc.1

    JETTO/CEA reference version

    This version is a carbon copy of the QLK-2.3.0-rc.1 tag from QuaLiKiz repository on the CEA SVN server. It is in sync with the QuaLiKiz version on the JETTO repository. In the near future, this will be merged with the master branch here, with both the Python + MATLAB I/O tools as submodules. The QuaLiKiz version JETTO will be a mirror of here, and thus we will converge to a single QuaLiKiz repo

  • v2.4.0 protected

    Qualikiz big database

    In this release QuaLiKiz got a lot of Quality of Life changes to prepare it for big runs to facilitate the generation of big multi-dimensional databases. QuaLiKiz has been sped up by 30% to 50% by using elliptical integral solvers published by Fukushima in commit c7ee82c0. These integrals converge 30 to 50 times faster while the results agree within machine precision. All unnecessary output has been removed from the standalone version, for example, all SI outputs have been replaced by their Gyro-Bohm scaled equivalents. Thus, the output from this version takes less space on disk, and the run itself uses less RAM. This is the version used to generate the database for QLKNN-10D

    The QuaLiKiz (python)tools have been moved to a separate repository, and have been added as sub-module of this repository.

    Some other changes include:

    • Input binaries now have sane names, for example Ati.bin instead of p39.bin
    • Zeff and Nustar are now written to the debug output
    • Bugfixes for fdsol.dat and Gyro-Bohm scaled writeout
  • v2.3.2 protected

    Massively Parallel QuaLiKiz

    QuaLiKiz has been further parallelized in this update. Runtime for many cores (<512) is greatly decreased, preparing QuaLiKiz for the generation of big datasets (10e5 points or more). The input binaries of this version (and thus all related scripts) are incompatible with version v2.3.1. A short list of further changes:

    • Re-ordering of input binaries; R0 is now p14, and thus all further p# are shifted by one
    • Added flag for separating fluxes per mode. Added input binary separateflux at p8, shifting all further p# by one more.
    • Added extra profiling information to STDOUT
    • 1D arrays are now a column instead of row
    • Fixed hard fail on soft NAG error
  • v2.3.1 protected

    Regression test with physical MATLAB files against version v2.3.0 worked:

    from input import *
    scan_names = ['iAt', 'eAt', 'eAn']
    xpoints = 3
    scan_ranges = [np.linspace(2, 12, xpoints),
                   np.linspace(2, 12, xpoints),
                   np.linspace(1, 4, xpoints)]
    elec = Electron(T=9., n=5., At=9., An=3., type=1, anis=1., danisdr=0.)
    D = Ion(name='main_D', Ai=2., Zi=1., n=0.8, T=9., At=6., An=0., type=1, anis=1., danisdr=0.)
    Be = Ion(name='Be', Ai=9., Zi=4., n=0.1, T=9., At=6., An=0, type=1, anis=1., danisdr=0.)
    W = Ion(name='W+42', Ai=184., Zi=42., n=0.0, T=9., At=6., An=0, type=3, anis=1., danisdr=0.)
    ions = IonList(D, Be, W)
    npoints = 8
    kthetarhos = np.append(np.linspace(0.1, 0.8, npoints),
                           np.linspace(6, 48, npoints))
    dict_ = {
        'R_0':     3,
        'x':        .5,
        'rho':      .5,
        'Ro':      3.,
        'Rmin':    1.,
        'Bo':      3.,
        'R0':      3.,
        'qx':      2.,
        'smag':    1.,
        'alphax':  0.,
        'Machtor': 0.,
        'Autor':   0.,
        'ninorm1': True,
        'Ani1':    True,
        'QN_grad': True
    sim = QuaLiKizRun(scan_names, scan_ranges, kthetarhos, elec, ions, **dict_)
    hypercube = sim.setup_hyperedge()
  • v2.3.0 protected   Version pulled from SVN repo
    ff2749ca · Initial commit ·