# Precomputed operator files For each combination of (kernel, multipole order `m`, Chebyshev degree `q`, precision), PVFMM precomputes translation operators (with symmetry compression). This happens automatically the first time such a combination is used and the result is written to a data file that is loaded on subsequent runs: ``` Precomp_[_q]_m[_f].data ``` - `` — e.g. `laplace`, `laplace_grad`, `stokes_vel`, `biot_savart`, `helmholtz`; - `_q` — present for volume-FMM operators (Chebyshev degree); - `_f` — single-precision variant (no suffix = double). ## Search path The directory for these files is resolved in this order: 1. the compile-time default set with `./configure --with-precomp-dir=DIR`; 2. the `PVFMM_DIR` environment variable; 3. the current working directory. ## First-run cost Particle-FMM operator construction takes seconds to minutes. Volume-FMM operators (which include singular near-field quadratures) can take **minutes to hours** and produce files from a few MB up to ~10 GB (e.g. Helmholtz with `q=14`). Plan accordingly: - set `PVFMM_DIR` to a persistent, shared location so every run and every user of a machine reuses the same cache; - do not delete the `Precomp_*.data` files casually — they are expensive to regenerate; - the cache is portable across runs but tied to precision and to the (kernel, m, q) triple, so parameter sweeps over `m`/`q` populate several files. On load, rank 0 of the communicator reads the file and broadcasts its contents to the other ranks.