Version 2.0.0
π Summary & highlights
- Complete overhaul of internal datastructure
- Major updates to existing eigenvalue solvers
- Performance gains up to two orders of magnitude, depending on the solvers
- Significant decrease of memory usage, especially for Arnoldi-based solvers
- New solvers: inverse vector iteration and QR-Cholesky
- Support for user-customisable physics functions
- Support for user-defined grid accumulation
- Support for subsystems
- Eigenfunction visualisations in 1D/2D/3D + vtk export capability
- API changes: see the website's documentation on the user submodule for information on how to update
π New features & improvements
Legolas
- Hall by momentum equation substitution by @jordidj in #88
- Alternative Hall implementation and documentation update by @jordidj in #96
- Introduce a dynamic state vector by @n-claes in #93
- New datastructure and Arnoldi optimisations by @n-claes in #97
- Updated regression framework + new tests by @n-claes in #98
- Closes #101
- Solver optimisations by @eprovst and @n-claes in #106
- Added timing functionality by @n-claes in #112
- Performance optimisations in the linear system solvers by @n-claes in #113
- Closes #102
- Major change in behaviour of settings by @n-claes in #114
- Introduce a dedicated logger object by @n-claes in #115
- Support for subsystems by @n-claes in #117
- Support for 1D models + thermal conduction in hydro by @n-claes in #125
- Refactor background equilibrium into dedicated functions by @n-claes in #126
- Refactor physics into dedicated functions by @n-claes in #127
- Refactor grid into dedicated object by @n-claes in #128
- Support for user-defined grid accumulation by @n-claes in #129
- Split heating and cooling terms by @n-claes in #130
- Update RK45 integration routines by @n-claes in #134
- Allow for optional saving of background state by @n-claes in #136
- Addition of new cooling curves by @jordidj in #137
Pylbo
- Make Pylbo a bit easier to install for normal usecases by @eprovst in #87
- Visualisation of eigenfunctions by @n-claes in #107
- Added option to color spectrum based on residuals by @n-claes in #111
- Save selected eigenvalues by @jordidj in #120
- Updated datfile format and new Legolas header by @n-claes in #116
- Support for continuum-eigenfunction resonances by @nicolasbrughmans in #124
π Bugfixes
Legolas
- Ensure proper linking of arpack after upstream changes by @n-claes in #95
- Closes #94
- Ensure user submodule is properly linked by @n-claes in #100
- Closes #99
- Remove raising an error for Hall and Arnoldi combination by @n-claes in #104
- Minor fixes and updates by @n-claes in #123
- Closes #121
- Minor changes and edits related by @n-claes in #132
- Closes #131
- Fix malloc error
Incorrect checksum for freed object
for custom spacing functions by @n-claes in #135 - Ensure unit tests don't fail silently by @n-claes in #138
Pylbo
π Documentation
- Fixed brackets issue in new submodule docs + broken website link by @n-claes in 666a3a0
- Closes #91
- Documentation update for Legolas 2.0 by @n-claes in #133
π£ Deprecations
- Officially dropped support for gcc <= 8
π₯ New Contributors
- @nicolasbrughmans made his first contribution in #124
Full Changelog: v1.2.0...v2.0.0