Loading .ci_configs/scheduled_tests.yml +3 −3 Original line number Diff line number Diff line Loading @@ -65,14 +65,14 @@ finish-coverage-collection: .create-and-upload-coverage: script: - export PATH=$PATH:/home/gitlab-runner/.local/bin/ - apt install python3-gcovr==6.0 - export PATH="$HOME/.local/bin:$PATH" - python3 -m pip install --user --break-system-packages "gcovr==6.0" # exclude lines that end ($) with & (and potential whitespace(\s)) # or that end with & and a comment consisting of ! and whitespace (\s) or characters (\w) - exclude_line_continuation='--exclude-lines-by-pattern ".*&(\s*$|\s+![\s\w]+$)"' - exclude_files="--gcov-exclude unit.* --gcov-exclude get_compilation_info.F90" - output_handling="-o coverage_$integral_library$flag.coveralls --coveralls" - gcovr --gcov-executable "gcov-11 -f" $exclude_line_continuation $exclude_files $output_handling - python3 -m gcovr --gcov-executable "gcov-13 -f" $exclude_line_continuation $exclude_files $output_handling - curl -sLO https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-linux.tar.gz - curl -sLO https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-checksums.txt - cat coveralls-checksums.txt | grep coveralls-linux.tar.gz | sha256sum --check Loading .gitignore +2 −1 Original line number Diff line number Diff line #Making a gitignore build* build*/ documentation/docs/ *sublime* *.swp Loading @@ -7,6 +7,7 @@ documentation/docs/ .DS_Store* __pycache__ .vscode/ venv/ external/PCMSolver/ external/libxc/ **/generated_* Loading changelog.md +12 −1 Original line number Diff line number Diff line Loading @@ -11,10 +11,21 @@ ### Bugfixes - Add dimensions to declarations and fix some wrong dimensions in eT-program/eT!1583 ### Printing and output - Add print for active space procedures, printing which type of HF orbital is being freezed. eT-program/eT!1581 # eT v2.0.7 ### Bugfixes - Changing installation command for gcovr to fix coverage pipelines (third attempt). eT-program/eT!1604 # eT v2.0.6 ### Bugfixes - Fixing proper citations of LibXC and functionals used in DFT calculations. eT-program/eT!1603 # eT v2.0.5 ### Bugfixes - Changing installation command for gcovr to fix coverage pipelines (second attempt). eT-program/eT!1602 # eT v2.0.4 ### Documentation - Adding PCMSolver version limitation to README. eT-program/eT!1600 Loading src/dft_library/functional_class.F90 +4 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ module functional_class character(len=40) :: family character(len=40) :: kind_ integer :: n_references character(len=1024), dimension(:), allocatable :: reference character(len=1024), dimension(:), allocatable :: reference_doi logical :: is_polarized contains Loading src/dft_library/functional_manager_class.F90 +31 −16 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ module functional_manager_class class(functional), dimension(:), allocatable :: functionals character(len=3) :: functional_type = '' character(len=30) :: library_name_version = '' character(len=200) :: library_reference = '' character(len=200) :: library_reference_doi = '' contains Loading Loading @@ -135,26 +138,28 @@ contains class(functional_manager), intent(in) :: this integer :: i character(len=40) :: kind_ integer :: i, k call output%printf('n', "External DFT Library: (a0)", chars=[trim(this%library_name_version)], fs='(/t6,a)') call output%printf('n', "Reference: (a0)", chars=[trim(this%library_reference)], fs='(t6,a)', ll=100) call output%printf('n', " DOI: (a0)", chars=[trim(this%library_reference_doi)], fs='(t6,a)', ll=100) call output%printf("n", "", fs='(/)') do i=1, this%n_functionals kind_ = this%functionals(i)%kind_ call convert_to_lowercase(kind_) call output%printf('n', 'Functional: (a0)', chars=[trim(this%functionals(i)%name)], fs='(/t6,a)') call output%printf('n', 'Reference(s): ', fs='(t6,a)') call output%printf('n', trim(kind_) & // ' functional: ' // trim(this%functionals(i)%name), fs='(t6,a)') do k = 1, this%functionals(i)%n_references call output%printf('n', ' - (a0). ', chars=[trim(this%functionals(i)%reference(k))], fs='(t6,a)', ll=100, adv=.false.) call output%printf('n', 'DOI: (a0)', chars=[trim(this%functionals(i)%reference_doi(k))], fs='(a)', ll=100) end do end do call output%printf('n','Density threshold: (e8.2)', reals=[this%rho_threshold], & fs='(/t6,a)') call output%printf('n','HF percentage (%): (f6.2)', reals=[this%hf_fraction*100.0E0_dp], & fs='(/t6,a)') call output%printf('n','Density threshold: (e8.2)', reals=[this%rho_threshold], fs='(/t6,a)') call output%printf('n','HF percentage (%): (f8.2)', reals=[this%hf_fraction*100.0E0_dp], fs='(t6,a)') end subroutine print_settings_functional_manager Loading Loading @@ -225,22 +230,30 @@ contains end subroutine calculate_exc_vxc_functional_manager subroutine get_library(selected) subroutine get_library(selected, library_name_version, library_reference, library_reference_doi) !! !! Written by Marco Scavino, 2022 !! Written by Marco Scavino and Tommaso Giovannini, 2022 !! !! Select the available library !! use warning_suppressor, only: do_nothing #ifdef LIBXC_MAJOR use libxc_class, only: libxc use libxc_class, only: libxc, xc_f03_version_string, xc_f03_reference, xc_f03_reference_doi #endif implicit none class(functional), allocatable :: selected character(len=*), intent(inout) :: library_name_version character(len=*), intent(inout) :: library_reference character(len=*), intent(inout) :: library_reference_doi character(len=200) :: version #ifdef LIBXC_MAJOR allocate(libxc::selected) call xc_f03_version_string(version) library_name_version = "LibXC " //trim(version) call xc_f03_reference(library_reference) call xc_f03_reference_doi(library_reference_doi) #else call do_nothing(selected) call output%error_msg("eT has not been compiled with a proper functional library!") Loading @@ -262,7 +275,9 @@ contains integer :: i call this%get_library(selected) call this%get_library(selected, this%library_name_version, & this%library_reference, & this%library_reference_doi) call selected%read_functionals_names(names) this%n_functionals = size(names) Loading Loading
.ci_configs/scheduled_tests.yml +3 −3 Original line number Diff line number Diff line Loading @@ -65,14 +65,14 @@ finish-coverage-collection: .create-and-upload-coverage: script: - export PATH=$PATH:/home/gitlab-runner/.local/bin/ - apt install python3-gcovr==6.0 - export PATH="$HOME/.local/bin:$PATH" - python3 -m pip install --user --break-system-packages "gcovr==6.0" # exclude lines that end ($) with & (and potential whitespace(\s)) # or that end with & and a comment consisting of ! and whitespace (\s) or characters (\w) - exclude_line_continuation='--exclude-lines-by-pattern ".*&(\s*$|\s+![\s\w]+$)"' - exclude_files="--gcov-exclude unit.* --gcov-exclude get_compilation_info.F90" - output_handling="-o coverage_$integral_library$flag.coveralls --coveralls" - gcovr --gcov-executable "gcov-11 -f" $exclude_line_continuation $exclude_files $output_handling - python3 -m gcovr --gcov-executable "gcov-13 -f" $exclude_line_continuation $exclude_files $output_handling - curl -sLO https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-linux.tar.gz - curl -sLO https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-checksums.txt - cat coveralls-checksums.txt | grep coveralls-linux.tar.gz | sha256sum --check Loading
.gitignore +2 −1 Original line number Diff line number Diff line #Making a gitignore build* build*/ documentation/docs/ *sublime* *.swp Loading @@ -7,6 +7,7 @@ documentation/docs/ .DS_Store* __pycache__ .vscode/ venv/ external/PCMSolver/ external/libxc/ **/generated_* Loading
changelog.md +12 −1 Original line number Diff line number Diff line Loading @@ -11,10 +11,21 @@ ### Bugfixes - Add dimensions to declarations and fix some wrong dimensions in eT-program/eT!1583 ### Printing and output - Add print for active space procedures, printing which type of HF orbital is being freezed. eT-program/eT!1581 # eT v2.0.7 ### Bugfixes - Changing installation command for gcovr to fix coverage pipelines (third attempt). eT-program/eT!1604 # eT v2.0.6 ### Bugfixes - Fixing proper citations of LibXC and functionals used in DFT calculations. eT-program/eT!1603 # eT v2.0.5 ### Bugfixes - Changing installation command for gcovr to fix coverage pipelines (second attempt). eT-program/eT!1602 # eT v2.0.4 ### Documentation - Adding PCMSolver version limitation to README. eT-program/eT!1600 Loading
src/dft_library/functional_class.F90 +4 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,10 @@ module functional_class character(len=40) :: family character(len=40) :: kind_ integer :: n_references character(len=1024), dimension(:), allocatable :: reference character(len=1024), dimension(:), allocatable :: reference_doi logical :: is_polarized contains Loading
src/dft_library/functional_manager_class.F90 +31 −16 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ module functional_manager_class class(functional), dimension(:), allocatable :: functionals character(len=3) :: functional_type = '' character(len=30) :: library_name_version = '' character(len=200) :: library_reference = '' character(len=200) :: library_reference_doi = '' contains Loading Loading @@ -135,26 +138,28 @@ contains class(functional_manager), intent(in) :: this integer :: i character(len=40) :: kind_ integer :: i, k call output%printf('n', "External DFT Library: (a0)", chars=[trim(this%library_name_version)], fs='(/t6,a)') call output%printf('n', "Reference: (a0)", chars=[trim(this%library_reference)], fs='(t6,a)', ll=100) call output%printf('n', " DOI: (a0)", chars=[trim(this%library_reference_doi)], fs='(t6,a)', ll=100) call output%printf("n", "", fs='(/)') do i=1, this%n_functionals kind_ = this%functionals(i)%kind_ call convert_to_lowercase(kind_) call output%printf('n', 'Functional: (a0)', chars=[trim(this%functionals(i)%name)], fs='(/t6,a)') call output%printf('n', 'Reference(s): ', fs='(t6,a)') call output%printf('n', trim(kind_) & // ' functional: ' // trim(this%functionals(i)%name), fs='(t6,a)') do k = 1, this%functionals(i)%n_references call output%printf('n', ' - (a0). ', chars=[trim(this%functionals(i)%reference(k))], fs='(t6,a)', ll=100, adv=.false.) call output%printf('n', 'DOI: (a0)', chars=[trim(this%functionals(i)%reference_doi(k))], fs='(a)', ll=100) end do end do call output%printf('n','Density threshold: (e8.2)', reals=[this%rho_threshold], & fs='(/t6,a)') call output%printf('n','HF percentage (%): (f6.2)', reals=[this%hf_fraction*100.0E0_dp], & fs='(/t6,a)') call output%printf('n','Density threshold: (e8.2)', reals=[this%rho_threshold], fs='(/t6,a)') call output%printf('n','HF percentage (%): (f8.2)', reals=[this%hf_fraction*100.0E0_dp], fs='(t6,a)') end subroutine print_settings_functional_manager Loading Loading @@ -225,22 +230,30 @@ contains end subroutine calculate_exc_vxc_functional_manager subroutine get_library(selected) subroutine get_library(selected, library_name_version, library_reference, library_reference_doi) !! !! Written by Marco Scavino, 2022 !! Written by Marco Scavino and Tommaso Giovannini, 2022 !! !! Select the available library !! use warning_suppressor, only: do_nothing #ifdef LIBXC_MAJOR use libxc_class, only: libxc use libxc_class, only: libxc, xc_f03_version_string, xc_f03_reference, xc_f03_reference_doi #endif implicit none class(functional), allocatable :: selected character(len=*), intent(inout) :: library_name_version character(len=*), intent(inout) :: library_reference character(len=*), intent(inout) :: library_reference_doi character(len=200) :: version #ifdef LIBXC_MAJOR allocate(libxc::selected) call xc_f03_version_string(version) library_name_version = "LibXC " //trim(version) call xc_f03_reference(library_reference) call xc_f03_reference_doi(library_reference_doi) #else call do_nothing(selected) call output%error_msg("eT has not been compiled with a proper functional library!") Loading @@ -262,7 +275,9 @@ contains integer :: i call this%get_library(selected) call this%get_library(selected, this%library_name_version, & this%library_reference, & this%library_reference_doi) call selected%read_functionals_names(names) this%n_functionals = size(names) Loading