|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
logs/search_metrics.csv with timestep-level search, traversal, tie-break, boundary-clamp, bbox-guess, pass-depth, per-step loss, run-local cumulative loss, V2 population/outcome counters, and derived search_failure_fraction, search_work_index, and re_search_fraction signals.LOG_SEARCH_METRICS for compact DEBUG-gated console summaries when explicitly allow-listed.examples/search_robustness/ example family with Brownian Cartesian/curvilinear baselines plus deterministic Cartesian/curvilinear UNIFORM_FLOW migration-stress variants, a study starter, and a dedicated metrics-reference docs page.LOG_PROFILE log level from the C logging enum and all code paths.profiling.timestep_output (off, selected, all) and writes timestep rows to a dedicated profiling log file.profiling.final_summary.enabled now controls whether the end-of-run ProfilingSummary_*.log file is written.LOG_LEVEL=PROFILE is no longer a supported runtime setting.profiling.critical_functions compatibility shorthand; monitors must now use profiling.timestep_output.pic.flow to picurv.picsolver to simulator.init now creates config-only case directories; binaries are resolved from bin/ via PATH.init --pin-binaries copies simulator/postprocessor into the case for version-pinning (protects running jobs from concurrent rebuilds).bin/picurv is now a symlink to scripts/picurv (single source of truth).sync-binaries pins specific binary versions into a case directory (optional, equivalent to --pin-binaries after init).--copy-binaries init flag.programmatic_c.im/jm/km are now treated as cell counts as documented.picurv now converts those values to node counts before emitting -im/-jm/-km.grid_gen remains unchanged: grid.gen still accepts cell counts and writes node counts into .picgrid.programmatic_c case with im=32 previously yielded 31 physical cells; it now yields the documented 32 physical cells.strategy.momentum_solver now accepts only Explicit RK4 and Dual Time Picard RK4.PICGRID headers are required for file-based grids in C runtime ingestion.grid.gen legacy1d converter and optional grid.legacy_conversion wrapper in picurv for headerless 1D-axis legacy payload migration.run --num-procs now applies to solver stage sizing.post.sbatch now uses forced single-task resources (nodes=1, ntasks_per_node=1).cluster.yml Slurm contract support to picurv run (--cluster, --scheduler, --no-submit).picurv submit as the delayed-submit counterpart to --no-submit for existing run/study artifacts.picurv cancel so Slurm jobs can be stopped by --run-dir instead of manual job-id lookup.solver.sbatch, post.sbatch, submission.json, manifest.json).picurv sweep for parameter studies using Slurm job arrays with post-stage dependency chaining.picurv sweep --continue --study-dir <path> for resuming partially-completed studies: detects per-case completion status, prepares checkpoint restarts via resolve_restart_source, and submits sparse solver arrays for incomplete cases only.picurv sweep --reaggregate --study-dir <path> for manual metrics re-aggregation on existing study outputs.metrics_aggregate.sbatch, afterany dependency on post array).detect_last_checkpoint_step now falls back to particle checkpoint files (position*.dat) for analytical-mode cases with no eulerian output.metrics_table.csv, results/plots, summary.json).master_cluster.yml, master_study.yml.SIGUSR1, SIGTERM, SIGINT) with launcher-specific Slurm signal guidance.execution.walltime_guard policy and exported batch metadata (PICURV_JOB_START_EPOCH, PICURV_WALLTIME_LIMIT_SECONDS).scripts/audit_function_docs.py as the repository-wide audit gate.picurv summarize for read-only per-step health summaries derived from existing run artifacts.runs/<run_id>/scheduler/ instead of runs/<run_id>/logs/.picurv -> C contract.docs/assets/curv.gif, docs/assets/paraview_flat_channel.png).config/build/.grid.gen profile to config/grids/coarse_square_tube_curved.cfg.sandbox/ into explicit developer-sandbox documentation.guide.md (non-root).docs/assets/.README.md files (single top-level README.md retained).logs/doxygen.warnings.da_processors_* contract with validation.scripts/audit_ingress.pyscripts/audit_ingress_manifest.jsonstubs/ archive from repository after extracting useful documentation content.