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_<kernel-name>[_q<q>]_m<m>[_f].data
<kernel-name>— e.g.laplace,laplace_grad,stokes_vel,biot_savart,helmholtz;_q<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:
the compile-time default set with
./configure --with-precomp-dir=DIR;the
PVFMM_DIRenvironment variable;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_DIRto a persistent, shared location so every run and every user of a machine reuses the same cache;do not delete the
Precomp_*.datafiles 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/qpopulate several files.
On load, rank 0 of the communicator reads the file and broadcasts its contents to the other ranks.