Conversation
dfe5296 to
6921850
Compare
6921850 to
bbe4826
Compare
harrisonlabollita
left a comment
There was a problem hiding this comment.
Hi @Wentzell and @the-hampel,
I've taken a look over everything. Here's a summary:
- Rebased branch onto
unstableto align with the latest changes there and intriqs:modest_updates. - Addressed compiler warnings: fixed unused variable issues. (Not directly related).
- Modernized C++ in the
dos_tetraintegration routines.
Overall, I approve these changes. Let me know what you think the changes that I've made. Will the next steps include removing the Fortran subroutine in the elk case (and removing the corresponding cmake file)?
|
Thank you @harrisonlabollita for the Feedback. I made some small additional changes, making sure that the elk converter changes merged in TRIQS/dft_tools@c4c980d are fully included. I also specified the commit hash of dft_tools used for the port explicitly now. |
|
Hi, Here goes my honest review of the PR. This only includes changes due to merging in the dft_tools repo:
then at least they see and error that Now this leads maybe to a bigger discussion: ff the converters are now moved, how do sync changes in future for users still using dft_tools/sum_k ? I think if the above points are addressed, i.e. LFS automatism, and python integration tests, I think this is okay to merge. Python integration tests may also come later but I think it would be good to cover this here. Best, |
Centralize Git LFS validation at test/ level to avoid redundancy. When Enable_LFS_Tests=ON, CMake now validates: 1. git-lfs executable is installed 2. LFS files have been pulled (not just pointer files) Changes: - Move Enable_LFS_Tests option from test/c++/ to test/ level - Add centralized LFS validation in test/CMakeLists.txt - Check single representative file (if one LFS file is pulled, all are) - Provide FATAL_ERROR messages with step-by-step setup instructions Benefits: - No confusing CMake parse errors when LFS files missing - Clear guidance on exactly what commands to run - Validates prerequisites before attempting to use LFS test data - Single validation point for both C++ and Python LFS tests Default behavior unchanged: Enable_LFS_Tests=OFF by default, so regular users never encounter LFS requirements. Addresses review feedback from PR #4. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Centralize Git LFS validation at test/ level. When Enable_LFS_Tests=ON, CMake validates git-lfs is installed and LFS files have been pulled. Provides FATAL_ERROR with step-by-step instructions if prerequisites are missing. Single validation point for both C++ and Python LFS tests. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
Add Enable_LFS_Tests option to CMake options table and new section explaining LFS test setup with step-by-step instructions for installing git-lfs, pulling test data, and enabling in CMake. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
Add explicit lfs parameter to matrix entries. Enable Git LFS and -DEnable_LFS_Tests=ON for ubuntu+clang build only. Remove macOS+gcc build, keeping only clang on macOS. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
|
Thank you @the-hampel for your Feedback! I have adressed points 1. and 2. in my commits bf83610 d894f3e 4d85994 |
|
Instead of doing |
Centralize Git LFS validation at test/ level. When Enable_LFS_Tests=ON, CMake validates git-lfs is installed and LFS files have been pulled. Provides FATAL_ERROR with step-by-step instructions if prerequisites are missing. Single validation point for both C++ and Python LFS tests. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
Add Enable_LFS_Tests option to CMake options table and new section explaining LFS test setup with step-by-step instructions for installing git-lfs, pulling test data, and enabling in CMake. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
Add explicit lfs parameter to matrix entries. Enable Git LFS and -DEnable_LFS_Tests=ON for ubuntu+clang build only. Remove macOS+gcc build, keeping only clang on macOS. Addresses review feedback from PR #4. Co-Authored-By: Claude <noreply@anthropic.com>
Migrate Wien2k, VASP, Elk, hk, QE, and Wannier90 converters along with C++ VASP analytical tetrahedron method and their test suites from the standalone dft_tools repository. We port all integration tests that test the converter functionality, including their respective ref.h5 and data files. Wannier90 tests require large data files (68MB) tracked with Git LFS. These tests only run when Enable_LFS_Tests=ON is set during CMake configuration. We further - Adjust plovasp/atm module to use clair-cp2py - Fix all import statements to use triqs_modest Co-authored-by: Priyanka Seth <pseth@cpht.polytechnique.fr> Co-authored-by: Manuel Zingl <manuel.zingl@student.tugraz.at> Co-authored-by: Oleg E. Peil <Oleg.Peil@unige.ch> Co-authored-by: Malte Schüler <malte@dwarsloeper.org> Co-authored-by: Alexander Hampel <ahampel@flatironinstitute.org> Co-authored-by: Alyn James <aj12959@bristol.ac.uk> Co-authored-by: Henri Menke <henri@henrimenke.de> Co-authored-by: Oleg Peil <Oleg.Peil@gmail.com> Co-authored-by: Harrison LaBollita <harrisonlabollita@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
Remove SumkDFT/SumkDFTTools usage from 4 tests that validate specific converter methods. These tests now compare only converter-written HDF5 groups instead of post-processed results: - elk_bands_convert.py: Tests convert_bands_input() method - elk_spectralcontours_convert.py: Tests convert_contours_input() with both default and user-specified k-mesh variants - elk_bandcharacter_convert.py: Tests dft_band_characters() method, also re-enabled in CMakeLists.txt - w90_convert_SrVO3_col.py: Tests Wannier and Bloch basis modes, removed SumkDFT effective levels comparison These tests now only depend on modest and verify converter output correctness without requiring external triqs_dft_tools package. Co-Authored-By: Claude <noreply@anthropic.com>
|
Thank you again @the-hampel for all your feedback. As discussed we have now moved the converters into their own Python-Only repository. Please review the setup in https://github.com/triqs/dftkit |
|
Hey, that looks good. Only comment I have is that it seems that the file in https://github.com/TRIQS/dftkit/blob/unstable/python/triqs_dftkit/qe/converter.py is a duplicate of https://github.com/TRIQS/dftkit/blob/unstable/python/triqs_dftkit/wannier90/converter.py ? I think the file should be only in the wannier90 converter no? Or is this a symlink? Best, |
|
Thank you @the-hampel for pointing this out this oversight. I have adjusted this in TRIQS/dftkit@9880943 |
Summary
This PR ports the DFT converter functionality from the triqs/dft_tools repository to ModEST, adding support for multiple DFT codes:
Key Changes
python/triqs_modest/dft_tools/for elk, hk, qe, vasp, wannier90, wien2kc++/triqs_modest/dft_tools/vasp/(argsort, dos_tetra3d)test/python/dft_tools/organized by DFT codefrom triqs_modest.dft_tools.<code> import ConverterSource
Ported from triqs/dft_tools repository at commit
96fd210(unstable branch):Original file authors are preserved as co-authors in the port commit.
Commits
27573a4Port DFT converters from triqs/dft_tools repository4a221a3Convert integration tests to converter-only tests