From 21c8fd5019d85ca3181d895e3bc209cb8bba55bb Mon Sep 17 00:00:00 2001 From: Anton Kozhevnikov Date: Wed, 21 Aug 2024 14:13:06 +0200 Subject: [PATCH] [release] SIRIUS v7.6.0 (#1012) Summary of changes: - update main licence to BSD 3-clause and simplify licence boilerplate in the sources - list of authors and contributors - generate header file with API functions for Julia bindings - direct reading of XML UPF-v2 files using pugixml library - cleanup of tests and unit tests - introduce real_occupation_matrix setting to enforce Hubbard matrix to be strictly real - add pseudopotential radial grid cutoff as a parameter instead of a hardcoded 10 a.u. value - add a code to generate smooth initial magnetisation at a slightly higher initialisation cost - 'atom' utility is updated to generate high-accuracy LAPW species - switch to GSL ODE solver for radial equation - 3-rd order radial derivatives for LAPW functions - API to set local and non-local occupancy matrices - API to return major, minor version and revision - issue a warning for non-optimal k-parallelization - remove unused input parameters from the schema and move some input parameters to a more logical location - use strong type for more indices - iterator over split index - save magnetisation in JSON output Fixes: - sirius_add_hubbard_atom_pair() contained a bug - init_atoms_to_grid_idx() is now called only in magnetic case - performance fix for symmetrisation of muffin-tin functions and occupation matrices - bug-fix in IORA o1 radial integrals - sirius_set_nonlocal_occupation_matrix(): count spin index starting from 0 - sirius_get_wave_functions(): handle spin index properly - linear solver for metals now properly handles k and k+q occupancies - compute and print DFT total energy and free energy separately --- CMakeLists.txt | 2 +- doc/doxygen.cfg | 2 +- spack/packages/sirius/package.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 068039369..064280edd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ include(CMakePackageConfigHelpers) project(SIRIUS DESCRIPTION "Domain specific library for electronic structure calculations" HOMEPAGE_URL "https://github.com/electronic-structure/SIRIUS" - VERSION 7.5.3 + VERSION 7.6.0 LANGUAGES CXX C) # for CUDA_ARCHITECTURES diff --git a/doc/doxygen.cfg b/doc/doxygen.cfg index 833483a91..250fca630 100644 --- a/doc/doxygen.cfg +++ b/doc/doxygen.cfg @@ -39,7 +39,7 @@ PROJECT_NAME = "SIRIUS" # control system is used. -PROJECT_NUMBER = "7.5.3" +PROJECT_NUMBER = "7.6.0" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/spack/packages/sirius/package.py b/spack/packages/sirius/package.py index 8259f358c..39cb8b2cf 100644 --- a/spack/packages/sirius/package.py +++ b/spack/packages/sirius/package.py @@ -155,7 +155,8 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): depends_on("spla@1.1.0:") depends_on("spla+cuda", when="+cuda") depends_on("spla+rocm", when="+rocm") - depends_on("spla+openmp", when="+openmp") + # spla removed the openmp option in 1.6.0 + conflicts("^spla@:1.5~openmp", when="+openmp") depends_on("nlcglib", when="+nlcglib") depends_on("nlcglib+rocm", when="+nlcglib+rocm")