Skip to content

Latest commit

 

History

History
2364 lines (2254 loc) · 297 KB

CHANGELOG.md

File metadata and controls

2364 lines (2254 loc) · 297 KB

Changelog

Full Changelog

Full Changelog

Full Changelog

Breaking changes

  • BoutMesh::GlobalNy now counts points from all y-boundaries. Previously it only counted points from the boundaries at the upper and lower edges of the logical grid, even if there was another boundary in the grid. #1829
  • invert_laplace free function removed #1834
  • Most factories and create methods standardised. Run bin/bout-v5-factory-upgrader.py on your physics models to update them #1842 #2087
  • We now use fmt for all our string formatting, instead of the printf-style formatting. This affects calls to Output, BoutException/ParseException, DataFile, OptionsReader, and MsgStack/TRACE. Run bin/bout-v5-format-upgrader.py on your physics models to update them. #1847
  • The option laplacexy:y_bndry_dirichlet has been deprecated. Use laplacexy:y_bndry=dirichlet instead. #1789
  • The variable BOUT_VERSION, and the macros REVISION, BOUT_VERSION_STRING and BOUT_VERSION_DOUBLE have been replaced with constexpr variables in the bout::version namespace. REVISION is found in include/bout/revision.hxx, while the rest are in include/bout/version.hxx. Both files are generated at configure time. Run bin/bout-v5-macro-upgrader.py to update. #1920
  • The MUMPS Laplacian inversion wrapper has been removed. It is still possible to use MUMPS for Laplacian inversions through the PETSc wrapper. #2018
  • The using namespace bout::globals statement has been removed from physics_model.hxx, and PhysicsModel has gained public mesh and dump members. Custom mains, free functions and legacy models will need to be updated to either use bout::globals::mesh or Field::getMesh() in free functions. #2042
  • The LaplaceShoot Laplacian implementation was removed. There are very few cases, if any, where this implementation actually works. #2177
  • PhysicsModel expects the options datadir and dump_format to have been set; this is only a problem if you don't call BoutInitialise. #2062
  • dz is now a Field2D, and Coordinates::zlength() also returns a Field2D. In most cases, wrapping these in a call to getUniform in order to get a BoutReal will do the correct thing. If checks are enabled, getUniform will throw an exception if its argument is not uniform (that is, that all values are identical). #2025
  • The parallel boundaries BNDRY_PAR_FWD and BNDRY_PAR_BKWD have been expanded to distinguish between the inner and outer boundaries in x; the enums have been replaced with BNDRY_PAR_*_XIN, and BNDRY_PAR_*_XOUT for both FWD and BKWD. #2025
  • Support for reading/writing HDF5 files has been removed ahead of completely refactoring the I/O
  • Support for reading/writing HDF5 files has been removed ahead of completely refactoring the I/O systems. #2208
  • Removed the Karniadakis time solver. Other choices for split-operator schemes are: splitrk (built-in), imexbdf2 (requires PETSc), and arkode (requires SUNDIALS) #2241
  • Conversion of Option to bool is now stricter. Previously, only tested (case-insensitively) if first character was 'n', 'f', '0', 'y', 't', or '1'. Now only allow (still case-insensitively but checking full strings) 'n', 'no', 'f', 'false', '0', 'y', 'yes', 't', 'true', or '1'. #2282
  • Having any unused options remaining after the first call to the physics model rhs is now an error. Set input:error_on_unused_options = false for old behaviour #2210
  • Input options are now case sensitive. Run bin/bout-v5-input-file-upgrader.py to automatically fix the most common library options #2210
  • Input options are now required to be either a section or a value, and not both. This requires renaming the restart section to restart_files. bin/bout-v5-input-file-upgrader.py can automatically make this change. #2277
  • Options are now only implicitly-castable to types stored in the internal variant. Other types now require a call to Options::as<T>() #2341
  • The Laplacian inversion solver LaplacePDD ("pdd") has been removed. This implementation had some quite significant drawbacks that made it not terribly useful in practice #3566
  • Datafile and bout::globals::dump have been removed in favour of OptionsNetCDF. Uses of SAVE_ONCE/REPEAT inside PhysicsModel code will still work for the time being; outside of PhysicsModel methods, these macros will need to be manually replaced. See the file IO changes for v5 docs for more details. #2209

v5.0.0 (2023-01-10)

Full Changelog

v4 known bugs

See #2154.

v4.4.2 (2021-12-15)

Full Changelog

Merged pull requests:

v4.4.1 (2021-12-15)

Full Changelog

Merged pull requests:

v4.4.0 (2021-07-30)

Full Changelog

Merged pull requests:

The following were backported from v5.0.0 in #2389:

v4.3.3 (2021-07-28)

Full Changelog

Merged pull requests:

v4.3.2 (2020-10-19)

Full Changelog

Merged pull requests:

v4.3.1 (2020-03-27)

Full Changelog

Merged pull requests:

v4.3.0 (2019-10-24)

Full Changelog

Merged pull requests:

v4.2.3 (2019-10-23)

Full Changelog

Merged pull requests:

v4.2.2 (2019-02-27)

Full Changelog

Merged pull requests:

v4.2.1 (2019-01-23)

Full Changelog

Merged pull requests:

v4.2.0 (2018-10-16)

Full Changelog

Merged pull requests:

v4.1.2 (2017-12-01)

Full Changelog

Fixed bugs:

  • ./configure deadlock #744
  • Typo in unit test makefile? #730
  • Laplacian Serial_tri incorrect operation #727
  • memory leak in pylib/boututils/showdata #231
  • Fix minor typo in unit test makefile #731 (d7919)

Closed issues:

  • Test fci-slab #748
  • BOUT.log is hardcoded #745
  • FFT for DDZ hard coded parameters #647
  • genZMode no longer used? #645
  • Vector applyBoundary #584

Merged pull requests:

v4.1.1 (2017-10-18)

Full Changelog

Fixed bugs:

  • Generalise the "boundaries" section of Delp2 for Field3D #708 (d7919)
  • Cleanup array :: cleanup all at end of sim #706 (d7919)
  • Ensure VarStr entries are initialised in all cases #705 (d7919)
  • Initialise covar for all VarStr instances #704 (d7919)
  • Removing Field3D move constructor #699 (bendudson)
  • Field3D default move constructor leading to segfaults #698
  • Unit test seg fault (Output::cleanup) -- order dependent #693
  • test-fci-slab fix: Don't show plot by default #692 (d7919)

Closed issues:

  • Integrated tests don't all compile and not all used #701
  • PYTHONPATH in tests #695
  • Dynamic casts in ConditionalOutput #691
  • Segfault when increasing verbosity #690
  • v4.1 release candidate #640
  • -DCHECK changes memory layout #594
  • nx and ny constant for different processors #560
  • release notes #504
  • y initial conditions always at CELL_YLOW #484
  • Free boundaries #429
  • Adding TRACE and BoutException to monitors #355
  • indexDDZ (staggered) #335
  • Reducing compiler warnings #322
  • Derivatives: free boundary - Issues if MXG not 2 #250

Merged pull requests:

  • Fix broken links, code blocks and tables in documentation #722 (ZedThree)
  • Small bug fixes for Options/OptionsReader and their tests #718 (ZedThree)
  • Update user manual: --enable-checks is the configure option for checking #717 (JosephThomasParker)
  • Make sure link flags apply correctly to unit tests #715 (ZedThree)
  • throw exception if staggererd deriv in z direction #714 (dschwoerer)
  • Set PYTHONPATH for tests #713 (ZedThree)
  • A few small fixes and tests for Output/ConditionalOutput #712 (ZedThree)
  • Output message if NetCDF4 support is enabled #711 (ZedThree)
  • Make bout_test_main.o depend on source file #710 (ZedThree)
  • Make shiftedmetric use const refs when possible #703 (d7919)
  • Some fixes to the integrated tests #702 (bendudson)
  • Add an option "ddz:fft_filter" to control filtering in DDZ #700 (bendudson)
  • Multigrid solver memory leak bugfix #696 (johnomotani)
  • Bugfix: Checkout googletest if not available #694 (bendudson)

v4.1.0 (2017-09-20)

Full Changelog

Fixed bugs:

  • Boundary non-staggered dirichlet with Field3D #651
  • Ensure doneComms always defined in field\_data #618 (d7919)
  • Consistency of CHECK usage #569
  • Making PhysicsModel's destructor virtual #552 (bendudson)
  • Various test fails #551
  • Error message is not informative when specifying a non existing directory on command line -d #526
  • Communication of vectors gives segfault in BOUT++ 4 #522
  • Getters for BoutMesh nx and ny now return ints #497 (JensMadsen)
  • Rebuild incomplete #453
  • BoutMesh ignores non-available differentiation-options #419
  • Calculating Christoffel symbols crashes if MYG=0 #376
  • D2DX2_C4_stag is only 2nd order #352
  • DataIterator::offset() #278
  • No dmp files when appending #199

Closed issues:

  • v4.0.1 #676
  • Bugfixes available - but not in 4.1.0 #675
  • LaplaceXZcyclic::setCoefs is ambiguous #663
  • Use of floats in Coordinates::gaussj #656
  • Unused source files #653
  • Extra boundary files #646
  • Building Manual #639
  • Options:set() #620
  • get/set?array in Field/Field2D #610
  • BOUT.log files too noisy #608
  • Derivatives - why global mesh? #596
  • Laplacian maxmode limits #589
  • Separating examples and tests #588
  • Trying to avoiding branch misprediction #583
  • ASSERT0 in "per element" functions #580
  • Collect on Marconi-Fusion #579
  • Expanding the capability of TRACE #573
  • python2 compatible? #547
  • FieldGroup adding const fields #540
  • nype is not written to log #539
  • Parallel transforms are not documented #503
  • getters for nx, ny and nz #498
  • MYG and MXG not read from gridfile #493
  • Restart files should include MXSUB such that boutdata.collect can read them #483
  • Should mergeYupYdown check for ydown_field too? #474
  • Increase verbosity of option reader #451
  • User defined flush frequency #449
  • Restart should be moved from the solvers #439
  • RangeIterator created by mesh->iterateBndryLowerY() return wrong indices when nxpe!=0 #435
  • laplacexz should exit when g13 \neq 0 #425
  • Mesh::getXcomm() #416
  • Deprecate functions #405
  • v4.0.0-RC branch takes forever to compile #382
  • Datafile copy constructor #367
  • getName/setName only available for -DTRACK #362
  • Monitors rewrite #346
  • Compilation of BOUT++ on ARCHER and batch jobs #282
  • ShiftInitial compatibility in next #266
  • MXG and MYG saved to the restart files #212
  • Check that the manuals are building #159
  • Testcases #152

Merged pull requests:

v4.0.1 (2017-09-02)

Full Changelog

Fixed bugs:

v4.0.0 (2017-02-03)

Full Changelog

Fixed bugs:

  • applyBoundary on Fields with background set #430
  • Covariant metric tensor is calculated from contravariant metric tensor even if g_ij is given in gridfile #386
  • test-initial ignores boundaries #360
  • Building next with PETSc #356
  • Vector3D DDZ not calculated correctly #123
  • Bug fix for genRand in Mixmode field generator #399 (d7919)

Closed issues:

  • test-invpar has high tolerance #422
  • How to pass BoutReal #402
  • Inital conditions test #400
  • Merge Policy #395
  • Version for BOUT++ 4.0 #383
  • Metric tensor components (g_13) in b0xGrad_dot_Grad #377
  • PVODE fails to build in next #369
  • Enable -DCHECK to get trace doesn't work #353
  • Replace all instances of MsgStackItem with TRACE macro #350
  • Remove PDB file format #349
  • Deprecate FieldXX::{get,set}Data #348
  • FieldPerp doesn't have it's own mesh #347
  • Final call for PRs for BOUT++ 4.0-RC #344
  • double free or corruption #342
  • Boundaries: check sufficient points available #305
  • field::applyBoundary #300
  • test-initial should be rewritten #297
  • Boundary modifiers don't pass on time (master and next) #294
  • vsprintf should be replaced by vsnprintf #286
  • Delete the dirichlet and neuman boundary operators #256
  • test-gyro fails with gcc 6.1 #236
  • commandline options not recognized should halt program execution #233
  • inconsistency in apply{X,Y,Z}diff #170
  • Initial conditions test case #110
  • Memleak in dump.writeVAR() #45
  • output:floats default value #34
  • NetCDF file format support #26

Merged pull requests:

v3.1 (2016-10-28)

Full Changelog

Fixed bugs:

  • Debugging broken after commit 2ba639c99460a9f7272da0959cdcfa948bd65ded #176
  • Segmentation fault since 3a0c34be01c94303beb6c403a93e60581a8e3aeb #138
  • ./configure can no longer find libfftw3.a #103

Closed issues:

  • VDDX_stag broken #324
  • Cannot make install on ubuntu 16.04 #308
  • mask.hxx:73 - missing return statement (next) #299
  • Datafile grow #287
  • Failure to open output file is ignored #285
  • next is broken with -DCHECK=3 #268
  • Error in user_manual. no field twistshift #258
  • OpenMPI does not exit reliably if BOUT crashes #255
  • All:scale not passed to evolved variables in next #242
  • Max/Min returning different values with next compared to master. #241
  • Globalny set in boutmesh defaults to ny + 4 #230
  • Field3D and Vector3D (probably field2D as well) do not allocate memory when variables defined #220
  • BOUT version number #192
  • Evaluation of nonlinear brackets #179
  • Bug in applyYStencil? #155
  • copy of unintialised field fails at run time #145
  • Travis says test is successfull, even if it fails #141
  • zeroComponent(int) and getData(int) #136
  • error on flags: INVERT_AC_IN_GRAD & INVERT_AC_OUT_GRAD #134
  • Repeated references in FieldGroup leads to incorrect behaviour when TwistShift=True #129
  • Tagged releases #122
  • PETSc version #119
  • Remove mesh->zlength #114
  • Grid generation from geqdsk with NaNs #113
  • FieldGenerators error: ‘BoutException’ was not declared in this scope #108
  • FCI generate.py should be generalised #101
  • "Missing MXSUB variable" error for conduction NetCDF file #100
  • Brackets operator [3D,2D] /= -[2D,3D] #94
  • MMS-ing auxiliary variables using RK4 solver #84
  • Arithmetic support for all variables in BOUT.inp #72
  • Clean up __init__.py #68
  • CVODE number of preconditioner calls #61
  • Differing nrhs with changing processor count #48
  • Minor: setLocation twice in spt inversion #41
  • ^ exponentation operator in Field3d not working #33
  • Exit code if boundary assignment is not succesfull #29
  • function evaluation in "global" part of BOUT.inp #28
  • Remove ngz-1 #19
  • complex number class #17
  • Restart file error message #16

Merged pull requests:

v3.0 (2015-09-17)

Full Changelog

Fixed bugs:

  • collect when 'variable not found' broken #77
  • "with" broken in the new datafile.py #76
  • Some options in certain sections cannot be changed from the command #36

Closed issues:

  • libhdf5 link failure on OS X #95
  • Problems with building PETSc as described in user_manual #90
  • configure file present #83
  • Possible bug in call to tridagMatrix in serial_tri and cycl_laplace #71
  • Arithmetic in input file when variable is specified on command line #62
  • Boundaries not properly set when using a function as a boundary argument in BOUT.inp #54
  • Laplacian Flags invert_set, invert_rhs implementation #52
  • ffmpeg_path specified in showdata.py #47
  • Obsolete files? #44
  • Mesh::get fails if field is unallocated #43
  • BoutInitialise failure #39
  • Obsolete communicator in reference.pdf #32
  • HDF5 file support #27
  • Z domain size in input file, and non-FFT 3D fields #22

Merged pull requests:

v2.1 (2014-09-10)

Full Changelog

Merged pull requests:

  • Bad behaviour fix for FieldGroup operator overload #11 (d7919)
  • Adding + and += operators to FieldGroup class to allow FieldGroups to be... #10 (d7919)
  • Introduce the python post processing routines and some scripts for analysis in elm-pb folder #9 (brey)
  • Update import_data_netcdf.m #8 (sanatkrtiwari86)
  • Inner radial bndry #7 (lukeeasy)
  • Python modules for BOUT++ pre-processing #4 (brey)
  • Timestep monitor #3 (bendudson)
  • Improved python showdata routine to allow animation of multiple plots si... #2 (lukeeasy)

v2.0 (2013-09-23)

Full Changelog

v1.0 (2011-08-26)

* This Changelog was automatically generated by github_changelog_generator