[us-commits] [ehb54/ultrascan3] e0d57b: somo/grpy: add self-contained in-process GRPY modu...
emre brookes
noreply at github.com
Sat Jul 18 22:15:15 MDT 2026
Branch: refs/heads/ehb54-issue-972
Home: https://github.com/ehb54/ultrascan3
Commit: e0d57bc99cd1ff7d35f3b5a0a03c310b4fd4745d
https://github.com/ehb54/ultrascan3/commit/e0d57bc99cd1ff7d35f3b5a0a03c310b4fd4745d
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-07-18 (Sat, 18 Jul 2026)
Changed paths:
A us_somo/develop/grpy/INTEGRATION.md
A us_somo/develop/grpy/README.md
A us_somo/develop/grpy/grpy_api.hpp
A us_somo/develop/grpy/grpy_core.hpp
A us_somo/develop/grpy/grpy_report.hpp
A us_somo/develop/grpy/linalg.hpp
A us_somo/develop/grpy/parallel_qt.hpp
A us_somo/develop/grpy/parallel_std.hpp
A us_somo/develop/grpy/tests/data/1znf.bead_model
A us_somo/develop/grpy/tests/data/1znf_golden.txt
A us_somo/develop/grpy/tests/data/dumbbell_golden.txt
A us_somo/develop/grpy/tests/qt_proof.cpp
A us_somo/develop/grpy/tests/run.sh
A us_somo/develop/grpy/tests/test_api.cpp
A us_somo/develop/grpy/tests/test_assemble.cpp
A us_somo/develop/grpy/tests/test_linalg.cpp
A us_somo/develop/grpy/tests/test_ooc.cpp
A us_somo/develop/grpy/tests/test_threaded.cpp
M us_somo/develop/libus_somo.pro
Log Message:
-----------
somo/grpy: add self-contained in-process GRPY module (Eigen)
Adds us_somo/develop/grpy/: a C++ port of GRPY (generalized Rotne-Prager-Yamakawa
hydrodynamics) callable in-process, to replace the external Fortran binary run via
QProcess with stdout scraping.
The module is self-contained and isolated from the SOMO god classes:
- header-only, own namespace (grpy), dependency-injected threading (la::Parallel;
QtParallel over QThreadPool for SOMO, std::thread for the CLI/tests);
- memory-lean tiled Cholesky (solve M X = T instead of forming the full inverse;
upper-triangle, factored in place) with single-precision and out-of-core (mmap)
options for large systems, and fine-grained in-inversion progress via callback;
- grpy::Solver::run(beads, params, progressCb) returns structured scalars AND the
full report text, so the on-disk results file is preserved as before.
- tests/ validate against the captured GRPY golden (report + scalars) and prove the
Qt in-process path; run standalone via tests/run.sh.
Wires the qmake build (QT += concurrent, INCLUDEPATH += include grpy, HEADERS).
No US_Hydrodyn changes yet; the QProcess call-site swap is a follow-up commit.
Refs ehb54/ultrascan-tickets#972
Co-Authored-By: Claude Opus 4.8 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications
More information about the us-commits
mailing list