cfl
factor has been increased from 0.1 to 0.95. This
is intended to avoid performance regression in 8.2.0 due to fix of
cfl estimate for 2D. Possible that this change will require user
intervention to reproduce old results.No new known issues.
Much more extensive support for pure OpenMP or hybrid
parallelisation. Pass USE_OPENMP=on
to make in order to enable
OpenMP.
New operator splitting approach for nonlinear simulations. Still experimental but see split_nonlinear_terms for more details.
A (very) experimental exponential decay boundary condition and experimental option to put the boundary condition off of the grid.
Ideal ballooning stability calculation now supports theta0 /= 0
.
Ability to display a progress message.
More timer statistics output.
Ability to limit the number of processors used in different data decompositions, such as in g_lo.
Option to split both of the trapped and passing regions into sub-domains to help improve integration errors in some cases.
Ability to turn off potentials in the nonlinear term only.
NetCDF theta grid file input.
Added a kinetic energy transfer diagnostic.
Added a very experimental fields based eigensolver. Set
USE_FIELDS_EIG=on
in addition to USE_EIG=on
when running make.
Around 22k lines removed from the repository without losing used features and being almost warning clean.
The entry points to GS2 when using it as a library have been
refactored, with some deprecated routines having been removed. The
main entry point is still run_gs2
, but this now takes only three
arguments: the program state
, an option to delay finalising the
simulation until finish_gs2
is called and a flag to control
verbosity of some output. The user is expected to take care of
initialising and finalising MPI, and passing the MPI communicator
through state%mp_comm
.
The change to the GS2 entry points means that some interfaces to external codes, such as Trinity, have also been removed. The caller should now handle any customisation to the GS2 setup/teardown.
The "replay" feature to recalculate some diagnostics on a previous run has been removed. This feature only interacted with the "new" diagnostics module, and only a certain subset of diagnostics.
Removed the parameters namelist (all relevant inputs now in
knobs). Removed the init_knobs
namelist.
Remove le_nxilim_fix
, densfac_lin
, kfilter
, opt_init_bc
,
phifac_lin
, qparfac_lin
, qprpfac_lin
, test
, tparfac_lin
,
tprpfac_lin
, uparfac_lin
, wfb_cmr
, bd_exp
, fexpi
,
write_gg
, write_lpoly
, write_nl_flux
, eqzip
, faperp
,
harris
, margin
, secondary
, tertiary
, teti
,
trinity_linear_fluxes
, trinity_ql_fluxes
, gryfx
, nkpolar
,
nterp
, densfac
, qparfac
, qprpfac
, tparfac
, tprpfac
,
uparfac
, nu
, nustar
, rmax
, rmin
, asym
and asympri
inputs.
write_flux_line
defaults to false rather than true.
Moved wfbbc_option
from dist_fn
to le_grids
.
Removed support for FFTW2 entirely.
No new known issues.
ONE_STEP_PP
build option PR #876 | Peter Hillncheck_stop
to control the frequency at which we check for the presence of the flush_output_file
with flush
statement PR #893 | Peter Hillng
variable from volume averages PR #716 | Peter Hillcommand_line
module PR #580 | Peter Hill--
PR #633 | David DickinsonCorrection for collisional treatment with new_trap_int = T
may change results.
Correction for nonadiabatic dfn initial conditions with adiabatic species may prevent reproducibility of previous simulations (but not change the physics of the time advance).
No new known issues.
No new known issues.
From v8.1 onwards, we will be recording breaking changes. GS2 development policy is to minmize disruption to users by only introducing breaking changes into major and minor releases (e.g. v8, v8.1, but not v8.1.1). By "breaking change", we mean anything (that isn't a bug fix!) that will change the physics results or lead to different/unexpected code behaviour without the user changing anything in their input file. This typically means changes to defaults, or improvements to physics/algorithms that change the results but aren't fixing a definite bug.
The breaking changes for v8.1 are:
dt0
) is stored in
the restart file and is restored when delt_option = 'check_restart'
. The
value used can still be overridden by setting dt0
. This breaks backwards
compatibility with pre-8.1 restart files: now if delt_max
is not found in
the restart file then we would fail to set the maximum time step or the time
step history from the restart file, and an error is thrown.opt_redist_init
is no longer an option - we only support the optimal
version of the redistribution initialization routine. Users need to
remove opt_redist_init
from layout_knobs
namelist in input files.rplot
,
zplot
, rprime
and zprime
. This has the potential to break analysis
scripts.write_fluxes
and write_fluxes_by_mode
now
default to true
for nonlinear runs and false
for nonlinear runs.rm -rf tests/benchmarks/init
rm -rf tests/benchmarks/timestep
ncdump
on an in use file is likely
to return a HDF error. To avoid this and allow access during a run
one can set HDF5_USE_FILE_LOCKING=FALSE
in the environment
(e.g. export
this in bash)*.g_lo <-> le_lo
redistribute PR #549 | David Dickinsonwrite_hrate
with write_heating
PR #484 | Peter Hillbig
is initialised prior to use. PR #508 | David Dickinsonfile_safety_check
in new diagnostics PR #452 | Peter Hillis not
with !=
in python helper PR #441 | David Dickinsonsave_glo_info_and_grids/save_velocities
in old diagnostics PR #419 | Peter Hillng2
to be set directly in the input file. PR #399 | David Dickinsoninclude_explicit_source_in_restart
input flag PR #208 | David Dickinsononly
to rules
to determine when to rebuild the website. PR #301 | David Dickinsoninit_antenna
rather than read_parameters
during init. PR #226 | David Dickinsonplotdata
call earlier in eikcoefs to avoid issue with theta being redefined. PR #225 | David Dickinsonopt_redist_init
flag from benchmarking input files PR #191 | Joseph Parkernopass
to a couple of generated config lines PR #187 | David Dickinsonnth
rather than ntgrid
to leqin
PR #372 | David Dickinsoneikcoefs
when using CHEASE equilibrium PR #271 | Stephen Biggs-Foxmod
call with a potential second argument of 0 PR #282 | David Dickinsonwrite_eigenfunc
in new diagnostics PR #281 | Joseph Parkerforce_maxwell_reinit
input file value PR #255 | Stephen Biggs-Foxapar_m
to improve cancellation PR #280 | David DickinsonBLUEGENEARGS
makeflag PR #277 | Joseph Parkerdump_grids
PR #258 | David Dickinson$(BINDIR)
) if it doesn't exist. PR #235 | David Dickinsonmake depend
generating the dependency file twice PR #90 | David Dickinson