Skip to content

Validation

Validation should cover numerical correctness, physical consistency, and parallel reproducibility. Performance alone is not evidence of correctness.

Standard ΛCDM run

  • Run a small deterministic ΛCDM case with the basic generator.
  • Confirm startup metadata, particle counts, and output schedules.
  • Compare background evolution and power spectra to a trusted reference.
  • Repeat at increased mesh and particle resolution.

Newtonian comparison

Run matched GR and Newtonian simulations with consistent initial conditions. Compare matter spectra on scales where relativistic effects should be negligible, while checking expected large-scale differences.

For external Newtonian-code comparisons, match force resolution, initial conditions, gauges, units, and output redshifts.

Power-spectrum checks

  • Confirm low-\(k\) modes agree across compatible resolution runs with the same random seed.
  • Check convergence below the mesh Nyquist scale.
  • Inspect shot-noise sensitivity for particle species.
  • Confirm CLASS transfer functions cover all required wavenumbers.
  • Check cross-spectra when several species are present.

Conservation and consistency

  • Monitor homogeneous density and expansion quantities.
  • Check scalar, vector, and tensor constraints where applicable.
  • Use CHECK_B to compare alternative vector-sector methods for diagnostics.
  • Reduce time steps and compare results.
  • Verify particle counts across domain exchanges and outputs.

Parallel checks

  • Repeat a small simulation with different valid process-grid shapes.
  • Compare one-rank-per-GPU and one-GPU MPS development runs within expected floating-point reduction differences.
  • Check CUDA-aware and staged MPI paths where the platform permits.

Light-cone checks

  • Verify light-cone geometry, radial coverage, and opening angle.
  • Confirm particle IDs are not duplicated unexpectedly.
  • Check shell coverage and HEALPix resolution transitions.
  • Convert sample maps with lcmap and inspect FITS metadata and sky coverage.

Acceptance criteria for new features

A new feature should include a documented reference case, convergence or comparison test, representative multi-rank test, and a statement of supported compiler configurations.