Releases: wangenau/eminus
Releases · wangenau/eminus
v3.0.0
- New features
- eminus preprint release!
- Full type hint support!
- Rewritten minimizer
- Massive speedup for more k-points
- Fixed some convergence issues
- Add non-iterative SCDM localization
- Use them as the initial guess for Wannier localization
- Use Wannier orbital COMs for FLO generations if no FODs are given
- Add magnetization functions
- Add POSCAR read and write functions
- Add a simple HDF5 file extra
- Allow setting of external functional parameters (internal and in pylibxc)
- Coding style
- Reformat the codebase using Ruff
- Activate more linting rules
- Add SPDX license identifiers
- Modernize CI pipelines
- Add CI release pipelines
- Move tox.ini and setup.py contents to pyproject.toml
- Merge all handle_k decorators into one
- Miscellaneous
- Fix hexagonal grid generation
- Fix gradient convergence check, get_ip, and Efermi in extras/viewer
- Allow plotting densities in viewer functions for all unit cell types
- Add an option to plot both spin channels in band structure plots
- Add DOS calculation and plot functions
- Add an isovalue keyword to the density viewer
- Reduce the default surfaces from 20 to 10 in the density viewer to improve performance
- Add pass-through keyword arguments in the Cell creation
- Add view and write class methods to Atoms, SCF, and KPoints objects
- Set default values for uninitialized SCF attributes to None
- Mark the log attribute as private in Atoms and SCF classes
- Sync GTH files (this changes values for Na-q9)
- Small tests improvements
- Update Docker image to Python 3.12
- Indicate Python 3.13 support
- Use Python 3.13 as the CI base image
- Add an eminus Discord server
- Add citation information
- Breaking
- Cleanup main namespace by only including unified read and write functions
- The rewritten minimizer will change the convergence behavior of some systems!
v2.7.1
- New features
- Stabilized Fermi smearing!
- Updated docs
- Restyle many documentation pages
- Add a citation page
- Add an overview page with a workflow example
- Add a smearing example
- Miscellaneous
- Small performance improvements
- Temperature unit conversion functions
- Tests for the smearing implementation
- Update Ruff rules
- Misc coding style updates
v2.7.0
- New features
- Add k-points!
- Add k-point dependent calculations
- Add a k-points object
- Add a band structure, k-point, and Brillouin zone viewer
- Add minimization functions for fixed Hamiltonians
- Add a symmetry extra to symmetrize k-points
- Add k-points!
- Updated docs
- Add k-point examples
- Increase coverage precision
- Coding style
- Activate several Ruff rules
- Lint check notebooks
- Rewrite operator handling
- Add a lot of new tests
- Miscellaneous
- Add a contour line viewer
- Plot lattice vectors in the view_atoms function
- Add a NixOS CI test
- Add a Nix lock file
- Use Python 3.12 as the CI base image
- Move Matplotlib to dev extras
- Unpin the notebook version
- Small performance improvements, e.g, in Atoms object creation
- Experimental
- Smearing functionalities
- Density of states function
v2.6.1
- New features
- Add a Cell generation function
- Add k-point generation functionalities
- Add support to handle trajectory files
- Updated docs
- Add a FOD optimization and a reduced density gradient example
- Add references to data
- Miscellaneous
- Breaking:
- Rename X to pos in Atoms
- Merge R into a in Atoms
- Indicate Python 3.12 support
- Support viewing multiple files
- Support non-cubic cells in Atoms, io, and viewer functions
- Support viewing multiple files
- Fix Nix flake
- Breaking:
v2.6.0
- New features
- Complete rewrite of the Atoms and SCF classes
- Easily allow systems with different charge or multiplicity
- Document all public properties
- Use properties when parsing input arguments
- Allow direct setting of attributes
- Better input handling
- Use an Occupations object to store electronic states information in Atoms
- Use a GTH object to store GTH data in SCF
- Add some properties to the objects, e.g., the volume element dV in Atoms
- Indicate non-input arguments and non-results as private or read-only
- Breaking:
- Use unrestricted instead of Nspin
- Use spin and charge instead of Nstate and f
- Remove f and s as keyword arguments, can be set after initialization
- Remove cgform as a keyword argument, use the run function to pass it to minimizers
- Rename min keyword to opt
- Merge symmetric with guess
- Add DFT-D3 dispersion correction as an extra
- Complete rewrite of the Atoms and SCF classes
- Updated docs
- Add a theory introduction page
- Add documentation to module data/constants
- Add a list of all packages and their respective licenses
- Re-add documentation of operators to Atoms
- Add a custom functional example
- Improve the geometry optimization example
- Add PNGs to the downloads section
- Sort attributes groupwise
- Fix a lot of typos
- Coding style
- Type check with mypy
- Fix a lot of type warnings from mypy
- Add type hints to scripts in docs and setup.py
- Rename some arguments to not shadow builtins
- Miscellaneous
- Create the eminus-benchmarks repository
- Move the SimpleDFT example to said repository
- Small performance improvements, mostly for meta-GGAs
- Add an error message when attempting to use operators of an unbuilt Atoms object
- Add Matplotlib to the viewer setup to generate images in the examples
- More tests, e.g, for different spin and charge states
- Add a small demo function
- Create the eminus-benchmarks repository
v2.5.0
- New features
- Add meta-GGA functionals!
- Use all meta-GGAs that don't need a Laplacian from Libxc using pylibxc or PySCF
- Improved minimizer
- Add new auto minimizer that functions like pccg but can fallback to sd steps
- Add Dai-Yuan conjugate-gradient form
- Fancier-looking output from the minimizer
- Option to converge the gradient norm
- Print <S^2> after an unrestricted calculation
- Add eigenenergies to the debug output
- Improved file viewer
- Support PDB files
- Allow usage outside of notebooks
- Add meta-GGA functionals!
- Updated docs
- Update the introduction page in the documentation
- Upload the HTML coverage report
- Coding style
- Simplify H function
- Simplify minimizer module
- Reduce McCabe code complexity
- Switch linter from flake8 to Ruff
- Comply with different linting rules, e.g., use triple-quotes in docstrings
- More tests and more coverage
- Miscellaneous
- Performance fix by using precomputed values correctly
- Improve GGA performance
- Do an unpaired calculation automatically if the system is unpaired
- Option to use a symmetric initial guess, i.e., the same guess for both spin channels
- Add trajectory keyword to XYZ and PDB writer to append geometries
- Read the field data from CUBE files
- New functions for the
- Electron localization function (ELF)
- Positive-definite kinetic energy density
- Reduced density gradient
- Expectation value of S^2 and the multiplicity calculated from it
- Option to set a path to directories containing GTH pseudopotential files
- The SCF class now contains the xc_type and is_converged variables
- Support functional parsing using pylibxc
- Allow using custom densities when using the atoms viewer
- Remove Gaussian initial guess
- Remove exc_only keyword from functionals since it was basically unused
- Fix GTH files not being installed when using the PyPI version
- Fix mapping of field entries with the respective real-space coordinate
- Fix GGA SIC evaluation
v2.4.0
- New features
- Add GGA functionals!
- Add internal PBE, PBEsol, and Chachiyo functionals
- Option to use all GGAs from Libxc using pylibxc or PySCF
- Add GGA functionals!
- Miscellaneous
- Add Thomas-Fermi and von Weizsäcker kinetic energy density functions
- Rewrite functionals for better readability
- Fix Torch operators in some edge cases
- Merge configuration files in tox.ini
- Update minimum versions of dependencies
v2.3.0
- New features
- Add Torch powered FFT operators as an extra
- Up to 20% faster calculations
- Add a consolidated configuration class
- Easier configuration and more performance infos
- Add a complete test suite
- Add CI/CD coverage reports
- Nix developer shell support
- Add Torch powered FFT operators as an extra
- Miscellaneous
- Rewritten FODs guess function
- Simplify the FOD interface in io and viewer
- Fix a plethora of small bugs
- Update Docker image to Python 3.11
v2.2.2
- New features
- Improve performance, i.e, in operators, dotprod, and density calculations
- Large and/or spin-polarized systems are much faster!
- Coding style
- Make Energies a dataclass
- Miscellaneous
- Drop Python 3.6 support
- Raise minimum version SciPy from 1.4 to 1.6
- Add repository statistics to the PyPI sidebar