Skip to content
代码片段 群组 项目
该项目从 https://gitlab.com/siesta-project/siesta.git 镜像。 Pull mirroring failed .
由于尝试失败次数过多,仓库镜像已暂停,可以由项目维护者或所有者恢复。
上次成功更新
  1. 5月 16, 2024
  2. 5月 15, 2024
  3. 5月 14, 2024
  4. 5月 13, 2024
  5. 5月 09, 2024
  6. 5月 08, 2024
    • Alberto Garcia's avatar
      Merge branch 'readme_cleanup' into 'master' · 91d4e5cf
      Alberto Garcia 创作于
      Clean up of the README file
      
      See merge request siesta-project/siesta!236
      91d4e5cf
    • Pol Febrer's avatar
      Clean up and update of the README file · 332338ed
      Pol Febrer 创作于
      It now contains badges and direct links to relevant information.
      332338ed
    • Nick R. Papior's avatar
      Merge branch '353-version-headers' into 'master' · 194e2773
      Nick R. Papior 创作于
      fixed version-printout and flags print-out
      
      Closes #353 and #355
      
      See merge request siesta-project/siesta!263
      194e2773
    • Nick Papior's avatar
      fixed version-printout and flags print-out · 6ba44264
      Nick Papior 创作于
      
      The print-out of version, libraries and flags
      has been updated.
      
      The Src/SIESTA_cmake_vgen.sh script has been renamed
      to Tools/version_generate.sh
      
      The SIESTA prefix is superfluous, and the placement
      is now better.
      
      The build for the various version implementations
      are now much simpler, and should not require any
      copying of files (which can be error-prone).
      Utilites who wants to write out a version and
      associated flags/ppflags can now follow
      the quite simple recipe in the TS/TBtrans
      utility.
      
      It boils down to a couple of things:
      
      1. translating the FLAGS into a string
      2. extracting the FPPFLAGS for the executable (not all gathering)
      3. translate the FPPFLAGS into a string
      4. configure_file the Src/version-info-template.inc
         into the current utility's binary-dir
      5. add the binary-dir to the include directories
      
      The above will only use the siesta-used files
      for everything. So no code duplication etc.
      One could argue that it should be done in a library.
      However, the different utilities may use different compile
      definitions, hence different capabilities.
      For now, I think this is the simplest, yet very effective
      way to propagate how its shown to all utilities.
      
      All uncessesary files have been deleted.
      
      The Docs/{release.sh,Makefile} are updated
      to respect this change as well.
      
      As for the building, now Siesta prints out the
      error messages a bit more stricter, with
      some more clear indication of how it interprets
      the versions.
      
      This fixes #353, #355.
      
      Signed-off-by: default avatarNick Papior <nickpapior@gmail.com>
      6ba44264
  7. 5月 03, 2024
  8. 4月 18, 2024
  9. 4月 17, 2024
    • Alberto Garcia's avatar
      Merge branch 'master-empty' into 'master' · 50b5455f
      Alberto Garcia 创作于
      Re-structuring and upgrades to CMake infrastructure (Updated log message)
      
      Closes #318
      
      See merge request siesta-project/siesta!256
      50b5455f
    • Alberto Garcia's avatar
      Re-structuring and upgrades to CMake infrastructure (Updated log message) · 842822c9
      Alberto Garcia 创作于
      (The log message in this empty commit was intended for commit
       f9158b2e, but it was not used due to an error.)
      
      * Bumped minimal version to 3.20 which allows one to DEFER calls
        (post-pone a call until the end of the add_subdirectory step). (3.19
        for DEFER, 3.20 for fixing #318)
      
      * Added:
      
          SIESTA_TESTS
          SIESTA_SHARED_LIBS
          SIESTA_INSTALL
      
        mainly for future-proofing the codebase when being inherited in a
        project.
      
      * Added some more print-build-options at the end of the configure
        step.  The shown options are mainly those that affect only
        siesta. I.e. units-convention, suffix names etc.  It gives a better
        overview.
        
      * Added the CMAKE_MESSAGE_CONTEXT which can be quite handy.
      
      * Changed lots of explicit function names in debug messages to use
        CMAKE_CURRENT_FUNCTION (does not work in macro's for obvious reasons).
      
      * Enabled the flags:
      
          SIESTA_LINKER_FLAGS_PRE
          SIESTA_LINKER_FLAGS_POST
          SIESTA_LINKER_FLAGS
      
        initially for the siesta and libsiesta targets (more will be added
        in a later commit).
        
        The scheme works by creating a wrapper for add_executable|library,
        which defines the target with all its arguments, and then
        immediately calls
      
          target_link_libraries(<target> ${SIESTA_LINKER_FLAGS_PRE})
         
        It then installs a deferred call when the directory is
        done parsing which calls:
      
          target_link_libraries(<target> ${SIESTA_LINKER_FLAGS_POST|})
      
        (We might also consider doing the deferred call only when the
        PROJECT_SOURCE_DIR is done.)
      
        Basically this wraps all of this:
      
          add_executable(target ...)
          target_link_libraries(target SIESTA_LINKER_FLAG_PRE)
          < add more link libraries >
          target_link_libraries(target SIESTA_LINKER_FLAG_POST)
      
        into:
      
          siesta_add_executable(target ...)
          < add more link libraries >
      
        It is not completely clear that this is the best way to do things.
        An alternative could be to create other functions which install the
        PRE and POST flags, but that would require two more function calls at
        determined positions.
      
      * Beautified the printbuildinfo scripts.
      
        When using different modes in the MESSAGE one needs to worry about
        the -- prefix for STATUS and above (i.e. NOTICE won't have these).
        For better formatting now everything is STATUS.  (Once 3.25 is in,
        one can bypass the mode flag and use a custom msg function which
        prints with NOTICE mode but only for DEBUG.)  Also reduced the
        spacing a bit, and just generally made it look prettier.
      
      * The test-suite now used input flags with new names:
      
         SIESTA_TESTS_MPI_MIN|MAX_NUMPROCS (follows MPI naming convention)
         SIESTA_TESTS_MPI_NUMPROCS (actual used number of MPI ranks, defaults to 4)
         SIESTA_TESTS_VERIFY
         
      * A function siesta_test_get_mpi has been added, but it is currently not
        used, pending some feedback.
      
      * The test functions have been shortened to a great extent.
      
      * The `IS_SIMPLE` option has been removed since it got superseeded by
        the `LABELS` (see internal #344).
      
      * Changed the test names to be a bit shorter, and also changed the
        amount of printed information. Much of it can be regarded as debug
        information.
      
      * The SUFFIX handling in Siesta has now a reduced output scope, with
        reduced verbosity.
      842822c9
  10. 4月 16, 2024
    • Alberto Garcia's avatar
      Merge branch '342-cmake-upgrades' into 'master' · b081b937
      Alberto Garcia 创作于
      Re-structuring and upgrades to cmake-infrastructure
      
      Closes #318, #342, and #344
      
      See merge request siesta-project/siesta!247
      b081b937
    • Nick R. Papior's avatar
      Re-structuring and upgrades to cmake-infrastructure · f9158b2e
      Nick R. Papior 创作于
      
      * Bumped minimal version to 3.20 which allows one to DEFER
        qcalls (post-pone a call until the end of the add_subdirectory
        step). (3.19 for DEFER, 3.20 for fixing #318)
      
      * Added:
      
      SIESTA_TESTS
      SIESTA_SHARED_LIBS
      SIESTA_INSTALL
      The above is mainly for future-proofing the codebase against
      being inherited in a project.
      
      After advice from Christian Le, (LecrisUT).
      One should generally define the exposed executables through
      the top-level CMakeLists.txt. I tried moving them up, but
      then the source compilations happen at the directory of definition.
      So I decided not to do it.
      Added some more print-build-options at the end of the configure step.
      The shown options are mainly those that
      affect only siesta. I.e. units-convention, suffix names etc.
      It gives a better overview.
      Added the CMAKE_MESSAGE_CONTEXT which can be quite handy.
      Changed lots of explicit function names in debug messages to use
      CMAKE_CURRENT_FUNCTION (does not work in macro's for obvious
      reasons).
      Enabled these flags:
      
      SIESTA_LINKER_FLAGS_PRE
      SIESTA_LINKER_FLAGS_POST
      SIESTA_LINKER_FLAGS
      
      these will be added to the siesta and libsiesta targets.
      (more will be added in a later commit).
      These flags are the reason we have to bump the cmake dependency
      version.
      The reason is that we now require a new way of adding libraries.
      (I am up for suggestions to streamline this).
      The way this works is by creating a wrapper for add_executable|library.
      This wrapper then defines the executable with all its arguments,
      and then immediately installs a
      target_link_libraries( ${SIESTA_LINKER_FLAGS_PRE})
      It then installs a deferred call when the directory is
      done parsing which calls:
      target_link_libraries( ${SIESTA_LINKER_FLAGS_POST|})
      We might consider doing the deferred call only when the PROJECT_SOURCE_DIR
      is done (can easily be done).
      Basically this wraps all of this:
      add_executable(target ...)
      target_link_libraries(target SIESTA_LINKER_FLAG_PRE)
      < add more link libraries >
      target_link_libraries(target SIESTA_LINKER_FLAG_POST)
      into:
      siesta_add_executable(target ...)
      < add more link libraries >
      Whether or not this is the best way to do things, I don't know.
      We could also create other functions which installs the PRE and POST
      flags, but that would require 2 more function calls at determined
      positions.
      Beautified the printbuildinfo scripts.
      when using different modes in the MESSAGE one needs to
      worry about the -- prefix for STATUS and above (i.e. NOTICE
      won't have these).
      For better formatting now everything is STATUS.
      Once 3.25 is in, one can bypass the mode flag and use
      a custom msg function which prints with NOTICE mode but only
      for DEBUG.
      Reduced the spacing a bit, and just generally made it
      look prettier.
      The test-suite got changed input flags:
      
      SIESTA_TESTS_MPI_MIN|MAX_NUMPROCS (follows MPI naming convention)
      SIESTA_TESTS_MPI_NUMPROCS (actual used number of ranks, defaults to 4)
      SIESTA_TESTS_VERIFY
      A function
      siesta_test_get_mpi has been added. It is currently not used,
      as I would like some feedback on it.
      The test functions were shortened to a great extend due
      to equivalent branches, the IS_SIMPLE option is now also removed
      since it got superseeded by the LABELS (see internal #344).
      
      Changed the test names to be a bit shorter, and also changed
      the amount of printed information. Much of it I would regard
      as debug information.
      Should we simply use prefix SIESTA_TEST_?
      The SUFFIX handling in Siesta got a reduced output scope.
      It generally shouldn't require a big investigation, and hence
      it has reduced its verbosity.
      Signed-off-by: default avatarNick Papior <nickpapior@gmail.com>
      
      Details
      Please detail what this MR introduces
      
      
       Describe in details what this MR does? (link to the issue by writing # here)
      
       Does this MR change the behaviour of any fdf-flags? If so, ensure this is documented in the manual
      
       If new fdf-flags are added, please add thorough descriptions to the manual
      
       add a summary sentence in the ReleaseNotes.md file
      
       if this breaks compatibility, add mentions to the Docs/compatibility.tex
      
       backport to rel-5
      
      Also needs to fix the last details of the SiestaSubroutine utils (which is currently commented out).
      
      Why is it needed
      
      
      Authors
      Closes #318, #342, #344 (and possibly others)
      f9158b2e
    • Alberto Garcia's avatar
      Merge branch 'master-fix-mulliken-overlaps' into 'master' · ccea88c9
      Alberto Garcia 创作于
      Fix supercell-related bug in Mulliken overlaps
      
      See merge request siesta-project/siesta!254
      ccea88c9
    • Alberto Garcia's avatar
      Fix supercell-related bug in Mulliken overlaps · 0cd905ea
      Alberto Garcia 创作于
      When an auxiliary supercell was used, the 'column' in the DM data
      structure was not correctly mapped to the unit cell.
      
      This fix corrects both the 'orbital-based' and the 'atom-based'
      overlaps that are computed when write-mulliken-pop is 2 or 3.
      Diagonal overlap values are now consistent with the corresponding
      populations.
      0cd905ea
  11. 4月 10, 2024