Skip to content

Add support for large structures to mstore#19

Merged
lukaswittmann merged 26 commits intogrimme-lab:mainfrom
lukaswittmann:large-structures
Dec 23, 2025
Merged

Add support for large structures to mstore#19
lukaswittmann merged 26 commits intogrimme-lab:mainfrom
lukaswittmann:large-structures

Conversation

@lukaswittmann
Copy link
Member

Added larger structures (up to around 1000 atoms, taken from the LNCI16 and HS13L) for testing timings and robustness with larger calculations.

I tested larger structures and figured it might be helpful to add this to mstore.

Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
@lukaswittmann
Copy link
Member Author

cmake build and ubuntu gcc builds are fixed, the windows build seems to have issues in test-drive, Ill look into this

@lukaswittmann
Copy link
Member Author

lukaswittmann commented Aug 25, 2025

Windows build working.

ubuntu-latest fails due to a segfault in jonquil:unit / lexer, which I cannot reproduce locally. Does anyone have any ideas? What is jonquil used for in mstore? @Albkat @marvinfriede

@marvinfriede
Copy link
Member

marvinfriede commented Aug 25, 2025

Windows build working.

ubuntu-latest fails due to a segfault in jonquil:unit / lexer, which I cannot reproduce locally. Does anyone have any ideas? What is jonquil used for in mstore? @Albkat @marvinfriede

jonquil gets only pulled in as a dependency of mctc-lib. We could globally disable JSON in the build here or disable it through the setup command (meson: -Dmctc-lib:json=disabled).
You could also restrict the tests to exclude subprojects (meson: --suite). However, mstore does not have its own tests. So, only the subprojects are tested anyway.

…ures

Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Copilot AI review requested due to automatic review settings December 23, 2025 10:30
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for large molecular structures (up to ~1000 atoms) from the LNCI16 and HS13L datasets to the mstore library for testing timings and robustness with larger calculations. The PR also includes CI/CD improvements and compiler support enhancements.

Key Changes:

  • Added two new structure collections: amylose and polyalanine chains with various sizes
  • Added Fr_to_Lr structure to the f-block collection (17 atoms from elements Fr to Lr)
  • Updated CI workflows to use Intel ifx compiler and improved GCC fallback handling
  • Added intel-llvm compiler support in meson build configuration

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/mstore/meson.build Added amylose.f90 and polyalanine.f90 source files to meson build
src/mstore/CMakeLists.txt Added large.f90 to CMake build (inconsistent with meson.build)
src/mstore.f90 Imported new modules and registered ALYLOSE and POLYALANINE collections
src/mstore/f_block.f90 Added Fr_to_Lr structure with coordinates for elements 87-103
config/meson.build Added compiler flags support for intel-llvm (ifx) compiler
.github/workflows/build.yml Updated Intel compiler from ifort to ifx, improved GCC fallback logic, and updated action versions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
@lukaswittmann
Copy link
Member Author

lukaswittmann commented Dec 23, 2025

I added two new collections: Curled amylose chains and linear polyalanine chains; this allows for a much more systematic testing of timings.

@lukaswittmann lukaswittmann requested a review from chselz December 23, 2025 10:40
@thfroitzheim
Copy link
Member

Instead of the retiered macos-13 runner you can just switch to macos-15-intel.

Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
sudo apt-get install intel-oneapi-compiler-fortran
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
sudo apt-get install -y intel-oneapi-compiler-fortran
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use the setup-fortran action to take care of all the compiler setup (see here)


- name: Install meson/cmake
run: pip3 install meson==0.56.2 ninja cmake
run: pip3 install meson==1.4.1 ninja cmake
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it doesn't break we can also update to the current meson version (about 1.8.x)

Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
Signed-off-by: lukaswittmann <mail@lukaswittmann.com>
@lukaswittmann lukaswittmann merged commit 10a3437 into grimme-lab:main Dec 23, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants