|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
PICurv testing is intentionally layered: Python control-plane validation, PETSc installation checks, focused C unit suites, executable smoke runs, MPI variants, and coverage gates. Choose the narrowest layer that answers your current question.
make test-python (make test alias)make coverage-pythonmake coverage-cmake coveragemake doctor (make install-check alias)make unitmake unit-geometrymake unit-solvermake unit-particlesmake unit-iomake unit-loggingmake unit-postmake unit-gridmake unit-metricmake unit-boundariesmake unit-poisson-rhsmake unit-runtimemake unit-mpimake smokemake smoke-mpimake smoke-mpi-matrixmake checkmake check-mpimake check-mpi-matrixmake check-fulltest_cli_smoke.pypicurvtest_case_maintenance.pyinit origin metadata behavioroverwrite, prune)status-source)test_config_regressions.pytest_repo_consistency.pypicurv validatetest_install_check.c: PETSc environment and basic object viability (doctor)test_geometry.c: interpolation and geometric signed-distance helperstest_solver_kernels.c: LES filter/analytical source helperstest_particle_kernels.c: walking-search helper kernelstest_io.c: I/O path checks, parser helpers, and scaling-ingestion contractstest_logging.c: log-level/allow-list/snapshot-cadence contractstest_postprocessing.c: post-processing kernel contracts (specific-KE, displacement, nodal average, normalization, dimensionalization, Q-criterion)test_vtk_io.c: VTK writer and data-preparation contracts (coordinates, field gather/subsampling, particle prep)test_postprocessor.c: postprocessing orchestration contracts (swarm setup, pipeline dispatch, eulerian/particle output, statistics dispatch)test_statistics.c: statistics kernel contracts (MSD CSV output and empty-swarm behavior)test_grid.c: local/global bounding-box helperstest_metric.c: metric inversion, contravariant velocity, face geometry helperstest_boundaries.c: boundary factory and face-service matrix checkstest_poisson_rhs.c: pressure update, RHS, body-force and diffusivity helperstest_runtime_kernels.c: setup/runloop/particle/wall/LES helper contractstest_mpi_kernels.c: multi-rank particle distribution and bbox collective behaviorSingle-rank smoke (make smoke) verifies:
-help launch viability (simulator, postprocessor)picurv init self-contained case creation and metadatainit + validate + dry-run checks (flat_channel, bent_channel, brownian_motion)load, init)Multi-rank smoke (make smoke-mpi, make smoke-mpi-matrix) additionally verifies:
Useful env knobs:
TEST_MPI_NPROCS for unit-mpiSMOKE_MPI_NPROCS for smoke-mpiSMOKE_MPI_MATRIX_NPROCS for smoke-mpi-matrixKEEP_SMOKE_TMP=1 to preserve smoke temp workspace for debuggingscripts/picurv or YAML contracts:make test-pythonmake unit-<area>make smoke plus MPI variant if rank behavior is involvedmake check (or make check-mpi)make check-fullmake coveragedoctor, unit-*, smoke*, check*, and coverage-c require PETSc/MPI tooling.check-full is the single-command comprehensive gate (check + unit-mpi + smoke-mpi + smoke-mpi-matrix).install-check, ctest-*) still exist, but canonical names are preferred in docs and CI.