From 62f09cff2e232bdec0fc511aeeb7f1bfae63164f Mon Sep 17 00:00:00 2001 From: Mathieu Salanne Date: Thu, 22 Oct 2026 19:38:10 +0800 Subject: [PATCH] Add CI job for the LAMMPS-LPC3D coupling --- .github/workflows/ci.yml | 60 + LAMMPS-LPC3D/LAMMPS-LPC3D.py | 4 +- ci-fix.patch | 40 + ci-lammps.patch | 334 ++ .../mathieu/Density_Energy_out_00000001.vti | Bin 0 -> 1000542 bytes .../mathieu/Density_Energy_out_00000002.vti | Bin 0 -> 1000542 bytes examples/mathieu/Diffusion_coeff_x_1.txt | 46 + examples/mathieu/Diffusion_coeff_y_1.txt | 46 + examples/mathieu/Diffusion_coeff_z_1.txt | 46 + examples/mathieu/FT_signal-1-bloc-1.dat | 1001 +++++ .../mathieu/Normalised_spectrum-1-bloc-1.dat | 1001 +++++ examples/mathieu/Signal_smp_1.txt | 1000 +++++ examples/mathieu/density_1.txt | 1000 +++++ examples/mathieu/lattice_gas.inpt | 23 + examples/mathieu/pore_dens_freq_2neg.txt | 3468 +++++++++++++++++ examples/mathieu/psd.txt | 47 + .../time_dep_Diffusion_coeff-D_over_D0_1.txt | 1000 +++++ examples/mathieu/vacf_1.txt | 1000 +++++ examples/mathieu/vacfx_1.txt | 1000 +++++ examples/mathieu/vacfy_1.txt | 1000 +++++ examples/mathieu/vacfz_1.txt | 1000 +++++ lpc3d-ci.zip | Bin 0 -> 3193 bytes tests/ci/coupling/check_coupling.py | 67 + tests/ci/coupling/environment.yml | 21 + tests/ci/coupling/lattice_gas.inpt | 43 + tests/ci/coupling/pore_freq_neg.txt | 2 + tests/ci/coupling/pore_freq_pos.txt | 2 + tests/ci/coupling/prepare.sh | 41 + tests/ci/coupling/psd.txt | 2 + tests/ci/coupling/sites2cm.inpt | 25 + 30 files changed, 13318 insertions(+), 1 deletion(-) create mode 100644 ci-fix.patch create mode 100644 ci-lammps.patch create mode 100644 examples/mathieu/Density_Energy_out_00000001.vti create mode 100644 examples/mathieu/Density_Energy_out_00000002.vti create mode 100644 examples/mathieu/Diffusion_coeff_x_1.txt create mode 100644 examples/mathieu/Diffusion_coeff_y_1.txt create mode 100644 examples/mathieu/Diffusion_coeff_z_1.txt create mode 100644 examples/mathieu/FT_signal-1-bloc-1.dat create mode 100644 examples/mathieu/Normalised_spectrum-1-bloc-1.dat create mode 100644 examples/mathieu/Signal_smp_1.txt create mode 100644 examples/mathieu/density_1.txt create mode 100644 examples/mathieu/lattice_gas.inpt create mode 100644 examples/mathieu/pore_dens_freq_2neg.txt create mode 100644 examples/mathieu/psd.txt create mode 100644 examples/mathieu/time_dep_Diffusion_coeff-D_over_D0_1.txt create mode 100644 examples/mathieu/vacf_1.txt create mode 100644 examples/mathieu/vacfx_1.txt create mode 100644 examples/mathieu/vacfy_1.txt create mode 100644 examples/mathieu/vacfz_1.txt create mode 100644 lpc3d-ci.zip create mode 100644 tests/ci/coupling/check_coupling.py create mode 100644 tests/ci/coupling/environment.yml create mode 100644 tests/ci/coupling/lattice_gas.inpt create mode 100644 tests/ci/coupling/pore_freq_neg.txt create mode 100644 tests/ci/coupling/pore_freq_pos.txt create mode 100644 tests/ci/coupling/prepare.sh create mode 100644 tests/ci/coupling/psd.txt create mode 100644 tests/ci/coupling/sites2cm.inpt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 927349d..6bf46f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,3 +63,63 @@ jobs: path: | run/ pip-freeze.txt + + lammps-lpc3d-cpu: + # Workflow test of the LAMMPS-LPC3D coupling on a reduced system: + # 2 pore sizes, 10% of the molecules, 100 NPT + 200 NVT steps, 4 MPI ranks. + # The densities are not physically meaningful; the test checks that the + # calls (fftool, packmol, LAMMPS, centre of mass, LPC3D) and the MPI + # workflow run end to end. + name: LAMMPS-LPC3D coupling (CPU, MPI) + runs-on: ubuntu-latest + timeout-minutes: 45 + defaults: + run: + shell: bash -el {0} + + steps: + - uses: actions/checkout@v4 + + - name: Set up conda environment (LAMMPS, mpi4py, packmol) + uses: mamba-org/setup-micromamba@v2 + with: + environment-file: tests/ci/coupling/environment.yml + cache-environment: true + + - name: Check LAMMPS installation + run: | + python -c "from lammps import lammps; l = lammps(cmdargs=['-log', 'none']); print('LAMMPS', l.version(), 'MPI:', l.has_mpi_support); missing = {'MOLECULE', 'KSPACE', 'RIGID'} - set(l.installed_packages); assert not missing, f'missing LAMMPS packages: {missing}'" + micromamba env export > conda-env.yml + + - name: Prepare reduced coupled run + run: bash tests/ci/coupling/prepare.sh run + + - name: Run LAMMPS-LPC3D + working-directory: run + env: + OMP_NUM_THREADS: "1" + run: | + set -o pipefail + mpirun --oversubscribe -np 4 python3 LAMMPS-LPC3D.py -i lattice_gas.inpt 2>&1 | tee log.lpc3d + + - name: Check LAMMPS side of the coupling + run: python3 tests/ci/coupling/check_coupling.py run + + - name: Check LPC3D outputs + run: python3 tests/ci/check_outputs.py run 3 + + - name: Upload outputs and environment + if: always() + uses: actions/upload-artifact@v4 + with: + name: lammps-lpc3d-cpu + path: | + run/log.lpc3d + run/all_densities.dat + run/*.txt + run/*.dat + run/simulation_*/log.lammps + run/simulation_*/packmol.log + run/simulation_*/fftool.log* + run/simulation_*/NVT/log.lammps + conda-env.yml diff --git a/LAMMPS-LPC3D/LAMMPS-LPC3D.py b/LAMMPS-LPC3D/LAMMPS-LPC3D.py index 562a0a0..17f0a6c 100644 --- a/LAMMPS-LPC3D/LAMMPS-LPC3D.py +++ b/LAMMPS-LPC3D/LAMMPS-LPC3D.py @@ -478,7 +478,9 @@ def fourier_transform(ReGtotsmp, ImGtotsmp, Nvalues, dwell, larmorfreq, tau, nsa minvalue = np.min(NMR_spec) NMR_spec -= minvalue - save = np.trapz(NMR_spec, NMR_freq) + # np.trapz was renamed np.trapezoid in NumPy 2.0 and later removed + trapezoid = getattr(np, "trapezoid", None) or np.trapz + save = trapezoid(NMR_spec, NMR_freq) name = f"Normalised_spectrum-{nsample}-bloc-{nb}.dat" with open(name, "w") as outFT: diff --git a/ci-fix.patch b/ci-fix.patch new file mode 100644 index 0000000..421325c --- /dev/null +++ b/ci-fix.patch @@ -0,0 +1,40 @@ +diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml +index 79f7dc3..927349d 100644 +--- a/.github/workflows/ci.yml ++++ b/.github/workflows/ci.yml +@@ -29,7 +29,8 @@ jobs: + - name: Install dependencies + run: | + python -m pip install --upgrade pip +- pip install pystencils numba ipython matplotlib pyevtk ++ # LPC3D uses pystencils.session, removed in pystencils 2.x ++ pip install "pystencils<2" numba ipython matplotlib pyevtk + pip freeze > pip-freeze.txt + + - name: Prepare run directory +@@ -45,7 +46,9 @@ jobs: + env: + OMP_NUM_THREADS: "2" + NUMBA_NUM_THREADS: "2" +- run: python3 ../LPC3D.py -i lattice_gas.inpt | tee log.lpc3d ++ run: | ++ set -o pipefail ++ python3 ../LPC3D.py -i lattice_gas.inpt | tee log.lpc3d + + - name: Check outputs + run: | +diff --git a/LPC3D.py b/LPC3D.py +index ac43f4d..e0cc7ab 100644 +--- a/LPC3D.py ++++ b/LPC3D.py +@@ -492,7 +492,9 @@ def main(): + minvalue = np.min(NMR_spec) + NMR_spec -= minvalue + +- save = np.trapz(NMR_spec, NMR_freq) ++ # np.trapz was renamed np.trapezoid in NumPy 2.0 and later removed ++ trapezoid = getattr(np, "trapezoid", None) or np.trapz ++ save = trapezoid(NMR_spec, NMR_freq) + + name = f"Normalised_spectrum-{nsample}-bloc-{nb}.dat" + with open(name, "w") as outFT: diff --git a/ci-lammps.patch b/ci-lammps.patch new file mode 100644 index 0000000..e734291 --- /dev/null +++ b/ci-lammps.patch @@ -0,0 +1,334 @@ +diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml +index 927349d..6bf46f0 100644 +--- a/.github/workflows/ci.yml ++++ b/.github/workflows/ci.yml +@@ -63,3 +63,63 @@ jobs: + path: | + run/ + pip-freeze.txt ++ ++ lammps-lpc3d-cpu: ++ # Workflow test of the LAMMPS-LPC3D coupling on a reduced system: ++ # 2 pore sizes, 10% of the molecules, 100 NPT + 200 NVT steps, 4 MPI ranks. ++ # The densities are not physically meaningful; the test checks that the ++ # calls (fftool, packmol, LAMMPS, centre of mass, LPC3D) and the MPI ++ # workflow run end to end. ++ name: LAMMPS-LPC3D coupling (CPU, MPI) ++ runs-on: ubuntu-latest ++ timeout-minutes: 45 ++ defaults: ++ run: ++ shell: bash -el {0} ++ ++ steps: ++ - uses: actions/checkout@v4 ++ ++ - name: Set up conda environment (LAMMPS, mpi4py, packmol) ++ uses: mamba-org/setup-micromamba@v2 ++ with: ++ environment-file: tests/ci/coupling/environment.yml ++ cache-environment: true ++ ++ - name: Check LAMMPS installation ++ run: | ++ python -c "from lammps import lammps; l = lammps(cmdargs=['-log', 'none']); print('LAMMPS', l.version(), 'MPI:', l.has_mpi_support); missing = {'MOLECULE', 'KSPACE', 'RIGID'} - set(l.installed_packages); assert not missing, f'missing LAMMPS packages: {missing}'" ++ micromamba env export > conda-env.yml ++ ++ - name: Prepare reduced coupled run ++ run: bash tests/ci/coupling/prepare.sh run ++ ++ - name: Run LAMMPS-LPC3D ++ working-directory: run ++ env: ++ OMP_NUM_THREADS: "1" ++ run: | ++ set -o pipefail ++ mpirun --oversubscribe -np 4 python3 LAMMPS-LPC3D.py -i lattice_gas.inpt 2>&1 | tee log.lpc3d ++ ++ - name: Check LAMMPS side of the coupling ++ run: python3 tests/ci/coupling/check_coupling.py run ++ ++ - name: Check LPC3D outputs ++ run: python3 tests/ci/check_outputs.py run 3 ++ ++ - name: Upload outputs and environment ++ if: always() ++ uses: actions/upload-artifact@v4 ++ with: ++ name: lammps-lpc3d-cpu ++ path: | ++ run/log.lpc3d ++ run/all_densities.dat ++ run/*.txt ++ run/*.dat ++ run/simulation_*/log.lammps ++ run/simulation_*/packmol.log ++ run/simulation_*/fftool.log* ++ run/simulation_*/NVT/log.lammps ++ conda-env.yml +diff --git a/LAMMPS-LPC3D/LAMMPS-LPC3D.py b/LAMMPS-LPC3D/LAMMPS-LPC3D.py +index 562a0a0..17f0a6c 100644 +--- a/LAMMPS-LPC3D/LAMMPS-LPC3D.py ++++ b/LAMMPS-LPC3D/LAMMPS-LPC3D.py +@@ -478,7 +478,9 @@ def main(): + minvalue = np.min(NMR_spec) + NMR_spec -= minvalue + +- save = np.trapz(NMR_spec, NMR_freq) ++ # np.trapz was renamed np.trapezoid in NumPy 2.0 and later removed ++ trapezoid = getattr(np, "trapezoid", None) or np.trapz ++ save = trapezoid(NMR_spec, NMR_freq) + + name = f"Normalised_spectrum-{nsample}-bloc-{nb}.dat" + with open(name, "w") as outFT: +diff --git a/tests/ci/coupling/check_coupling.py b/tests/ci/coupling/check_coupling.py +new file mode 100644 +index 0000000..ef45705 +--- /dev/null ++++ b/tests/ci/coupling/check_coupling.py +@@ -0,0 +1,67 @@ ++"""Check the LAMMPS side of a reduced LAMMPS-LPC3D run. ++ ++For every pore size in psd.txt, checks that the LAMMPS simulations ran ++(NPT and NVT logs completed, centre-of-mass file written), and that the ++densities passed back to LPC3D (all_densities.dat) are finite, non-negative ++and not all zero. ++ ++Usage: python3 check_coupling.py ++""" ++import sys ++from pathlib import Path ++ ++import numpy as np ++ ++ ++def main(): ++ run_dir = Path(sys.argv[1]) ++ errors = [] ++ ++ pore_sizes = np.unique(np.loadtxt(run_dir / "psd.txt", usecols=0, ndmin=1)) ++ ++ for p in pore_sizes: ++ sim = run_dir / f"simulation_{p:g}" ++ if not sim.is_dir(): ++ # the folder name follows Python's str() of the pore size ++ sim = run_dir / f"simulation_{float(p)}" ++ if not sim.is_dir(): ++ errors.append(f"missing simulation folder for pore size {p:g}") ++ continue ++ for log in (sim / "log.lammps", sim / "NVT" / "log.lammps"): ++ if not log.is_file() or "Total wall time" not in log.read_text(): ++ errors.append(f"LAMMPS run did not complete: {log.relative_to(run_dir)}") ++ cm = sim / "NVT" / "CM_positions.xyz" ++ if not cm.is_file() or cm.stat().st_size == 0: ++ errors.append(f"missing or empty: {cm.relative_to(run_dir)}") ++ ++ dens_file = run_dir / "all_densities.dat" ++ if not dens_file.is_file(): ++ errors.append("missing: all_densities.dat") ++ else: ++ dens = np.loadtxt(dens_file, ndmin=2) ++ if dens.shape[0] != len(pore_sizes): ++ errors.append( ++ f"all_densities.dat has {dens.shape[0]} rows, expected {len(pore_sizes)}" ++ ) ++ values = dens[:, 1:] ++ if not np.all(np.isfinite(values)): ++ errors.append("NaN or Inf in all_densities.dat") ++ elif np.any(values < 0): ++ errors.append("negative density in all_densities.dat") ++ elif not np.any(values > 0): ++ errors.append("all densities are zero in all_densities.dat") ++ ++ log = run_dir / "log.lpc3d" ++ if log.is_file() and "still not equilibrated" in log.read_text(): ++ errors.append("LPC3D reported that the system is not equilibrated") ++ ++ if errors: ++ print("Coupling check FAILED:") ++ for e in errors: ++ print(" -", e) ++ sys.exit(1) ++ print(f"Coupling check passed for {len(pore_sizes)} pore size(s) in {run_dir}") ++ ++ ++if __name__ == "__main__": ++ main() +diff --git a/tests/ci/coupling/environment.yml b/tests/ci/coupling/environment.yml +new file mode 100644 +index 0000000..1e2a094 +--- /dev/null ++++ b/tests/ci/coupling/environment.yml +@@ -0,0 +1,21 @@ ++# Environment for the LAMMPS-LPC3D CI test (CPU only). ++# LAMMPS, mpi4py and packmol come from conda-forge so that LAMMPS and mpi4py ++# are built against the same MPI library (OpenMPI). ++name: lpc3d-lammps ++channels: ++ - conda-forge ++dependencies: ++ - python=3.12 ++ - lammps=2025.07.22=*openmpi* ++ - openmpi ++ - mpi4py ++ - packmol ++ - numpy ++ - pip ++ - pip: ++ # LPC3D uses pystencils.session, removed in pystencils 2.x ++ - pystencils<2 ++ - numba ++ - ipython ++ - matplotlib ++ - pyevtk +diff --git a/tests/ci/coupling/lattice_gas.inpt b/tests/ci/coupling/lattice_gas.inpt +new file mode 100644 +index 0000000..2e8a465 +--- /dev/null ++++ b/tests/ci/coupling/lattice_gas.inpt +@@ -0,0 +1,43 @@ ++cpu ++10 10 30 ++true true true ++1.0 ++5e-6 ++1 ++298 ++282 ++100 ++0.0 ++0 ++porouscarbon ++psd.txt ++3 ++ ++electrode ++1 ++1 10 ++1 10 ++1 10 ++pore_freq_neg.txt ++ ++bulk ++1 10 ++1 10 ++11 20 ++0.05 ++0.0 ++ ++electrode ++1 ++1 10 ++1 10 ++21 30 ++pore_freq_pos.txt ++ ++H2O.zmat 1000 ++H2O.zmat 1000 ++H2O.zmat 3000 ++1 ++npt_in.lmp ++nvt_in.lmp ++ +diff --git a/tests/ci/coupling/pore_freq_neg.txt b/tests/ci/coupling/pore_freq_neg.txt +new file mode 100644 +index 0000000..dd39885 +--- /dev/null ++++ b/tests/ci/coupling/pore_freq_neg.txt +@@ -0,0 +1,2 @@ ++20.0 0.0 0.0 0.0 ++26.0 0.0 0.0 0.0 +diff --git a/tests/ci/coupling/pore_freq_pos.txt b/tests/ci/coupling/pore_freq_pos.txt +new file mode 100644 +index 0000000..dd39885 +--- /dev/null ++++ b/tests/ci/coupling/pore_freq_pos.txt +@@ -0,0 +1,2 @@ ++20.0 0.0 0.0 0.0 ++26.0 0.0 0.0 0.0 +diff --git a/tests/ci/coupling/prepare.sh b/tests/ci/coupling/prepare.sh +new file mode 100644 +index 0000000..a0de3ec +--- /dev/null ++++ b/tests/ci/coupling/prepare.sh +@@ -0,0 +1,41 @@ ++#!/usr/bin/env bash ++# Prepare a reduced LAMMPS-LPC3D run for CI. ++# Usage: tests/ci/coupling/prepare.sh ++# ++# The code and molecular files are taken from LAMMPS-LPC3D/ so the test always ++# follows the real workflow. Only the size of the problem is reduced: ++# - 2 pore sizes (psd.txt), so 2 LAMMPS simulations ++# - 5000 water molecules instead of 50000 (lattice_gas.inpt, sites2cm.inpt) ++# - 100 NPT steps and 200 NVT steps instead of 10000 and 100000 ++# - 10x10x30 lattice, no equilibration ++set -euo pipefail ++ ++REPO="$(cd "$(dirname "$0")/../../.." && pwd)" ++SRC="$REPO/LAMMPS-LPC3D" ++CI="$REPO/tests/ci/coupling" ++RUN="$1" ++ ++mkdir -p "$RUN" ++ ++for f in LAMMPS-LPC3D.py mpi4py_lammps.py fftool il.ff H2O.zmat CG1.xyz CG2.xyz \ ++ npt_in.lmp nvt_in.lmp; do ++ cp "$SRC/$f" "$RUN/" ++done ++for f in lattice_gas.inpt psd.txt pore_freq_neg.txt pore_freq_pos.txt sites2cm.inpt; do ++ cp "$CI/$f" "$RUN/" ++done ++ ++# The workflow calls ./packmol in each simulation folder ++cp "$(command -v packmol)" "$RUN/packmol" ++chmod +x "$RUN/fftool" "$RUN/packmol" ++ ++# Shorten the MD runs, and fail loudly if the scripts change ++shorten() { ++ local file="$1" old="$2" new="$3" ++ grep -q "^run $old\$" "$RUN/$file" || { echo "Expected 'run $old' in $file" >&2; exit 1; } ++ sed -i "s/^run $old\$/run $new/" "$RUN/$file" ++} ++shorten npt_in.lmp 10000 100 ++shorten nvt_in.lmp 100000 200 ++ ++echo "Reduced coupled test prepared in $RUN" +diff --git a/tests/ci/coupling/psd.txt b/tests/ci/coupling/psd.txt +new file mode 100644 +index 0000000..a587a82 +--- /dev/null ++++ b/tests/ci/coupling/psd.txt +@@ -0,0 +1,2 @@ ++20.0 0.5 ++26.0 0.5 +diff --git a/tests/ci/coupling/sites2cm.inpt b/tests/ci/coupling/sites2cm.inpt +new file mode 100644 +index 0000000..6b65813 +--- /dev/null ++++ b/tests/ci/coupling/sites2cm.inpt +@@ -0,0 +1,25 @@ ++2 ++2 ++5 ++3 ++3 ++1000 ++12.01 ++1.01 ++1.01 ++3 ++1000 ++12.01 ++1.01 ++1.01 ++3 ++3000 ++12.01 ++1.01 ++1.01 ++1 ++776 ++12.01 ++1 ++776 ++12.01 diff --git a/examples/mathieu/Density_Energy_out_00000001.vti b/examples/mathieu/Density_Energy_out_00000001.vti new file mode 100644 index 0000000000000000000000000000000000000000..c8d37c6d56e183661a8b011de815e04dedd75edb GIT binary patch literal 1000542 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