Litmus is an automated molecular integrals generator.
New to the codebase? Start with ONBOARDING.md for an architecture map, conventions, and pitfalls.
Litmus uses CMake (>= 3.16) and a C++17 compiler. To build:
cmake -S . -B build # configure (defaults to a Release build)
cmake --build build -j # compile, produces build/litmus.xTo make a debug build instead, configure with
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug.
A run is described by a config file (a minimal TOML subset) and launched with
the run subcommand:
./build/litmus.x run examples/t2c_geom.tomlThe config selects the integral family (type), the maximum angular momentum
(lmax), the operator label (integral), the geometric-derivative orders
(geom), and a few family-specific keys. See litmus.x --help for the full
schema and the ready-to-run samples under examples/. A minimal
config looks like:
type = "t2c_geom_cpu" # run-type family
lmax = 2 # maximum angular momentum
integral = "none" # operator label
geom = [0, 2, 0] # geometric-derivative ordersGenerated integral source files are written to the current working directory.
Unit tests use GoogleTest, fetched automatically at configure time (requires network access on the first configure). After building, run the suite with CTest:
ctest --test-dir build --output-on-failureTests live under tests/. Pass -DLITMUS_BUILD_TESTS=OFF at configure time to
skip building them (e.g. for offline or packaging builds).