.tmp/
.vscode/
.pixi/
__pycache__/
*.py[cod]
*.egg-info/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.coverage
.coverage.*
coverage.xml
coverage.json
htmlcov/
dist/
build/
site/
.venv/
.ipynb_checkpoints/
.DS_Store
Thumbs.db
benchmark-results/
notebook-results/
*.log
*.out
*.err
*.pid
*.partial
*.prof
/core
/core.[0-9]*
.tox/
.nox/
.native/
/tools/neopz/
/examples/generate_neopz_reference.py
/examples/verify_neopz_darcy.py
/examples/verify_reference_darcy.py
/examples/audit_neopz_quadrature.py
/examples/audit_darcy.py
/examples/audit_flow.py
/examples/reproduce_darcy_2013.py
/examples/reproduce_stokes_2017.py
/tests/test_darcy_independent.py

# Recompute scientific field payloads and rendered figures from a clean checkout.
/examples/results/**/*.npz
/examples/results/**/*.vtu
/examples/results/**/*.npy
/examples/results/**/*.pkl
/examples/results/**/*.h5
/examples/results/**/*.hdf5
/examples/results/**/*.msh
/examples/results/**/*.vtk
/examples/results/**/*.vtp
/examples/results/**/*.vtr
/examples/results/**/*.vts
/examples/results/**/*.vtm
/examples/results/**/*.xdmf
/examples/results/**/*.html
!/examples/results/spe10/layer-1.npz
!/examples/results/spe10/layer-36.npz
!/examples/results/spe10/layer-85.npz
# Keep compact tables/provenance and selected publication figures.
/docs/figures/**
!/docs/figures/**/
!/docs/figures/**/*.json
!/docs/figures/**/*.csv

# Keep the exact figures used by the public documentation; regenerate other assets.
!/docs/figures/core-extensions/cube-p0-fields.png
!/docs/figures/core-extensions/hdiv3d-convergence.png
!/docs/figures/core-extensions/mshho3d-convergence.png
!/docs/figures/core-extensions/prism-p2-k2-fields.png
!/docs/figures/core-extensions/tetra-p0-fields.png
!/docs/figures/core-extensions/tetra-p1-k1-fields.png
!/docs/figures/core-extensions/tetra-p2-k2-fields.png
!/docs/figures/core-extensions/tetra-p3-k1-fields.png
!/docs/figures/darcy-3d-accelerators-20261005/gpu-strong.png
!/docs/figures/darcy-3d-accelerators-20261005/gpu-weak.png
!/docs/figures/darcy-3d-accelerators-20261005/larger-gpu-throughput.png
!/docs/figures/darcy-3d-accelerators-20261005/matched-cost-accuracy.png
!/docs/figures/darcy-3d-accelerators-20261005/pardiso-strong.png
!/docs/figures/darcy-3d-accelerators-20261005/weak-cpu.png
!/docs/figures/darcy-3d-accelerators-20261005/workflow-phases.png
!/docs/figures/darcy-3d-workspace-lu-20261005/solver-comparison.png
!/docs/figures/darcy-3d-workspace-lu-20261005/strong-efficiency.png
!/docs/figures/darcy-3d-workspace-lu-20261005/strong-phases.png
!/docs/figures/darcy-3d-workspace-lu-20261005/strong-speedup.png
!/docs/figures/darcy-3d-workspace-lu-20261005/strong-time.png
!/docs/figures/darcy-3d-workspace-lu-20261005/weak-scaling.png
!/docs/figures/introduction-layers/brinkman-pressure-comparison.png
!/docs/figures/introduction-layers/brinkman-profiles.png
!/docs/figures/introduction-layers/brinkman-reference-convergence.png
!/docs/figures/introduction-layers/brinkman-single-element-ell0-convergence.png
!/docs/figures/introduction-layers/brinkman-single-element-ell1-convergence.png
!/docs/figures/introduction-layers/brinkman-single-element-ell2-convergence.png
!/docs/figures/introduction-layers/brinkman-single-element-fields.png
!/docs/figures/introduction-layers/rad-layer-profiles.png
!/docs/figures/introduction-layers/rad-resolved-convergence.png
!/docs/figures/introduction-layers/rad-resolved-fields.png
!/docs/figures/introduction-layers/rad-resolved-flux-fields.png
!/docs/figures/guides/classical-fields.png
!/docs/figures/guides/heterogeneous-fields.png
!/docs/figures/guides/marked-materials.png
!/docs/figures/marmousi/material.png
!/docs/figures/minimal-convergence/darcy-mixedwell/convergence.png
!/docs/figures/minimal-convergence/darcy-pgmhm/convergence.png
!/docs/figures/minimal-convergence/darcy-quarter-obstacle/convergence.png
!/docs/figures/minimal-convergence/darcy-spe10/convergence.png
!/docs/figures/minimal-convergence/darcy-unfitted/convergence.png
!/docs/figures/minimal-convergence/darcy-unusual/convergence.png
!/docs/figures/minimal-convergence/elasticity-l18-oscillatory/convergence.png
!/docs/figures/minimal-convergence/flow3d/convergence.png
!/docs/figures/minimal-convergence/gals3d/convergence.png
!/docs/figures/minimal-convergence/initial-elasticity2d/convergence.png
!/docs/figures/minimal-convergence/mixed-elasticity3d/convergence.png
!/docs/figures/minimal-convergence/oseen2d-data/convergence.png
!/docs/figures/minimal-convergence/oseen2d-trace/convergence.png
!/docs/figures/minimal-convergence/oseen2d-viscosity/convergence.png
!/docs/figures/minimal-convergence/periodic-local-reference/convergence.png
!/docs/figures/minimal-convergence/primal-elasticity3d/convergence.png
!/docs/figures/minimal-convergence/scalar-mh/convergence.png
!/docs/figures/minimal-convergence/scalar-mh2m/convergence.png
!/docs/figures/minimal-convergence/scalar-polygons/convergence.png
!/docs/figures/minimal-convergence/scalar-rad-layer/convergence.png
!/docs/figures/minimal-convergence/scalar-tensor-rt-k1/convergence.png
!/docs/figures/minimal-convergence/scalar-tensor-rt-k2/convergence.png
!/docs/figures/minimal-convergence/scalar-tensor-rt-k3/convergence.png
!/docs/figures/minimal-convergence/scalar-transport-layer/convergence.png
!/docs/figures/minimal-convergence/stokes2d/convergence.png
!/docs/figures/minimal-convergence/transport-random-temporal/convergence.png
!/docs/figures/minimal-convergence/wave-elastic-wave/convergence.png
!/docs/figures/minimal-convergence/wave-helmholtz/convergence.png
!/docs/figures/minimal-convergence/wave-marmousi/convergence.png
!/docs/figures/minimal-convergence/wave-nanoguide/convergence.png
!/docs/figures/minimal-convergence/wave-three-layer/convergence.png
!/docs/figures/mshho/convergence.png
!/docs/figures/mshho/fields.png
!/docs/figures/nested/convergence.png
!/docs/figures/nested/fields.png
!/docs/figures/performance-numba/complete-workflow.png
!/docs/figures/performance-numba/kernel-speedups.png
!/docs/figures/quarter-five-spot/classical-vs-mhm-components.png
!/docs/figures/quarter-five-spot/obstacle-macro-cut.png
!/docs/figures/quarter-five-spot/point-flux-elevation.png
.rsync-partial/

# Generated retrospective/resume inspections duplicate acquisition records.
/examples/results/checkpoint-validation.json
/examples/results/checkpoint-validation/
/examples/results/mh2m-heterogeneous/**/*-validated-input-*.json
/examples/results/mh2m-heterogeneous/**/*-resume-validation.json
# Incomplete atomic writes do not contain accepted numerical records.
/examples/results/**/*.tmp
/examples/results/**/*.part
/examples/results/**/*.new
/examples/results/**/*.progress.json

# Figures referenced by the rendered result reports.
!/docs/figures/adaptive-darcy/fields.png
!/docs/figures/adaptive-darcy/meshes-ell1.png
!/docs/figures/adaptive-darcy/refinement.png
!/docs/figures/analytic/source-comparison.svg
!/docs/figures/darcy-audit/accuracy-and-conservation.svg
!/docs/figures/darcy-audit/independent-reference.svg
!/docs/figures/darcy-audit/refinement.svg
!/docs/figures/darcy-bdm/convergence-and-trace.svg
!/docs/figures/darcy-bdm/cosine-fields.svg
!/docs/figures/darcy/conservation.svg
!/docs/figures/darcy/cosine-errors.svg
!/docs/figures/darcy/cosine-flux.svg
!/docs/figures/darcy/cosine-pressure.svg
!/docs/figures/darcy/cosine-resolved-errors.svg
!/docs/figures/darcy/cosine-resolved-flux.svg
!/docs/figures/darcy/cosine-resolved-pressure.svg
!/docs/figures/darcy/equilibration-errors.svg
!/docs/figures/darcy/layered-pressure.svg
!/docs/figures/darcy/layered-profile.svg
!/docs/figures/darcy3d/convergence.png
!/docs/figures/darcy3d/convergence.svg
!/docs/figures/darcy3d/fields.png
!/docs/figures/darcy3d/fields.svg
!/docs/figures/elasticity-families/convergence.png
!/docs/figures/elasticity-families/incompressible-sweep.png
!/docs/figures/elasticity-families/oscillatory-convergence.png
!/docs/figures/elasticity-reference/convergence.png
!/docs/figures/elasticity-reference/field-differences.png
!/docs/figures/elasticity-tensor-rt/convergence.png
!/docs/figures/elasticity-tensor-rt/incompressible-sweep.png
!/docs/figures/elasticity-tensor-rt/rt1-enrichment1-fields.png
!/docs/figures/elasticity/fields.png
!/docs/figures/elasticity/material-sweep.png
!/docs/figures/elasticity/refinement.png
!/docs/figures/estimator/components.svg
!/docs/figures/estimator/convergence.svg
!/docs/figures/estimator/local-indicators.svg
!/docs/figures/estimator/potential.svg
!/docs/figures/flow-audit/convergence.png
!/docs/figures/flow-audit/pressure-profiles.png
!/docs/figures/flow-audit/trace-local.png
!/docs/figures/flow/brinkman-diagnostics.png
!/docs/figures/flow/brinkman-pressure.png
!/docs/figures/flow/brinkman-profiles.png
!/docs/figures/flow/brinkman-velocity.png
!/docs/figures/flow/oseen-diagnostics.png
!/docs/figures/flow/oseen-pressure.png
!/docs/figures/flow/oseen-profiles.png
!/docs/figures/flow/oseen-velocity.png
!/docs/figures/flow/stokes-diagnostics.png
!/docs/figures/flow/stokes-pressure.png
!/docs/figures/flow/stokes-profiles.png
!/docs/figures/flow/stokes-velocity.png
!/docs/figures/flow3d/convergence.png
!/docs/figures/flow3d/stokes-th2-fields.png
!/docs/figures/gals3d/lambda.png
!/docs/figures/gals3d/refinement.png
!/docs/figures/helmholtz/article-convergence.png
!/docs/figures/helmholtz/plane-oscillatory-fields.png
!/docs/figures/helmholtz/stability-errors.png
!/docs/figures/hpc4e/material.png
!/docs/figures/hpc4e/recorded-profile-comparison.png
!/docs/figures/mapped-well/convergence.svg
!/docs/figures/mapped-well/profiles.svg
!/docs/figures/mapped-well/reservoir-macro1.svg
!/docs/figures/mapped-well/reservoir-macro8.svg
!/docs/figures/mapped-well/well-macro1.svg
!/docs/figures/mapped-well/well-macro8.svg
!/docs/figures/marmousi/classical-fields-H20.png
!/docs/figures/marmousi/classical-profiles.png
!/docs/figures/marmousi/mhm-H20-ell1-fields.png
!/docs/figures/marmousi/mhm-H20-ell1-profiles.png
!/docs/figures/marmousi/recorded-mhm-comparison.png
!/docs/figures/marmousi/recorded-reference-refinement.png
!/docs/figures/maxwell-nanoguide/components.png
!/docs/figures/maxwell-nanoguide/errors.png
!/docs/figures/maxwell-nanoguide/material.png
!/docs/figures/maxwell-nanoguide/profiles.png
!/docs/figures/maxwell-nanoguide/recorded-component-errors.png
!/docs/figures/maxwell-nanoguide/recorded-refinement-controls.png
!/docs/figures/mixed-elasticity/convergence-and-incompressibility.png
!/docs/figures/mixed-elasticity/oscillatory-fields.png
!/docs/figures/mixed-elasticity/smooth-fields.png
!/docs/figures/mixed-well-geometries/convergence.png
!/docs/figures/mixed-well-geometries/prism-p1-fields.png
!/docs/figures/mixed-well-geometries/tetrahedron-p2-fields.png
!/docs/figures/neopz/darcy-convergence.svg
!/docs/figures/oseen/boundary-nu0.01-l1-adaptive-fields.png
!/docs/figures/oseen/internal-nu0.001-l1-adaptive-history.png
!/docs/figures/oseen/smooth-nu1-l1-uniform-history.png
!/docs/figures/polygons/convergence.png
!/docs/figures/polygons/fields.png
!/docs/figures/polyhedral-rad/convergence.png
!/docs/figures/polyhedral-rad/fields.png
!/docs/figures/polyhedral-rad/geometry.png
!/docs/figures/rad3d/convergence.png
!/docs/figures/rad3d/convergence.svg
!/docs/figures/rad3d/flux.png
!/docs/figures/rad3d/flux.svg
!/docs/figures/rad3d/scalar.png
!/docs/figures/rad3d/scalar.svg
!/docs/figures/reconstruction-moments/convergence-and-conservation.svg
!/docs/figures/reconstruction-moments/divergence-fields.svg
!/docs/figures/reconstruction-moments/flux-fields.svg
!/docs/figures/reconstruction3d/adaptive-components.png
!/docs/figures/reconstruction3d/adaptive-convergence.png
!/docs/figures/reconstruction3d/adaptive-profiles.png
!/docs/figures/reconstruction3d/adaptive-rt2-components.png
!/docs/figures/reference/coarse-cosine-mixed.svg
!/docs/figures/reference/coarse-cosine-primal-errors.svg
!/docs/figures/reference/darcy-convergence.png
!/docs/figures/reproduction/mixed/darcy-2013-comparison.png
!/docs/figures/reproduction/stokes/crisscross-p2/stokes-2017-convergence.png
!/docs/figures/reproduction/stokes/crisscross-p3/stokes-2017-convergence.png
!/docs/figures/spe10-adaptive/diagonal-profile.png
!/docs/figures/spe10-adaptive/refinement.png
!/docs/figures/spe10/brinkman-layer1.png
!/docs/figures/spe10/brinkman-taylor-hood-fields.png
!/docs/figures/spe10/brinkman-taylor-hood-refinement.png
!/docs/figures/spe10/darcy-flux-reference-refinement.png
!/docs/figures/star-polyhedra/convergence.png
!/docs/figures/star-polyhedra/geometry.png
!/docs/figures/stokes-adaptive/cavity-constant-face-nu1-g0-l0-local-longest-edge-mark-maximum-comparison-physical-convergence.png
!/docs/figures/stokes-adaptive/cavity-reference-convergence.png
!/docs/figures/stokes-adaptive/polynomial-face-nu0.01-g0-l1-history.png
!/docs/figures/tetra-pk/fixed-components-rt2.png
!/docs/figures/tetra-pk/fixed-components-rt3.png
!/docs/figures/tetra-pk/fixed-profiles.png
!/docs/figures/tetra-pk/fixed-resolution.png
!/docs/figures/tetra-pk/uniform-convergence.png
!/docs/figures/transport/darcy-transient.png
!/docs/figures/transport/refinement.png
!/docs/figures/unfitted/publication-comparison.png
!/docs/figures/unfitted/trace-h-convergence.png
!/docs/figures/unfitted/trace-p-convergence.png
!/docs/figures/weighted-estimator/convergence.png
