{"id":49068849,"url":"https://github.com/zfifteen/orchard-flow","last_synced_at":"2026-04-20T06:14:57.179Z","repository":{"id":344880344,"uuid":"1183504671","full_name":"zfifteen/orchard-flow","owner":"zfifteen","description":"A deterministic production-grade incompressible CFD solver optimized exclusively for Apple Silicon","archived":false,"fork":false,"pushed_at":"2026-03-18T09:53:55.000Z","size":7692,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-19T01:07:43.840Z","etag":null,"topics":["apple-silicon","arm64","cfd","computational-fluid-dynamics","cpp","deterministic","finite-volume-method","fluid-dynamics","incompressible-flow","multigrid","navier-stokes","scientific-computing"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zfifteen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-16T17:12:25.000Z","updated_at":"2026-03-18T09:53:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zfifteen/orchard-flow","commit_stats":null,"previous_names":["zfifteen/solver","zfifteen/orchard-flow"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zfifteen/orchard-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfifteen%2Forchard-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfifteen%2Forchard-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfifteen%2Forchard-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfifteen%2Forchard-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zfifteen","download_url":"https://codeload.github.com/zfifteen/orchard-flow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfifteen%2Forchard-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32035372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-silicon","arm64","cfd","computational-fluid-dynamics","cpp","deterministic","finite-volume-method","fluid-dynamics","incompressible-flow","multigrid","navier-stokes","scientific-computing"],"created_at":"2026-04-20T06:14:56.323Z","updated_at":"2026-04-20T06:14:57.170Z","avatar_url":"https://github.com/zfifteen.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./assets/banner.png\" alt=\"Orchard Flow Banner\" width=\"100%\" /\u003e\n\n# Orchard Flow\n\nOrchard Flow is an incompressible CFD codebase built specifically for Apple Silicon. It is designed to be numerically serious, deterministic in its reference workflow, and transparent enough to validate, restart, benchmark, and profile without turning into a portability-first research grab bag.\n\nThe project is intentionally narrow. Instead of chasing every platform and physics model at once, it focuses on a solver stack that fits Apple hardware, uses a clear numerical contract, and produces evidence you can inspect.\n\n## Why This Project Feels Different\n\n- Apple-native by design, not just portable to macOS after the fact\n- deterministic and benchmark build profiles with an explicit reproducibility story\n- structured-grid incompressible focus instead of a broad but under-validated feature surface\n- validation, restart, and profiling workflows treated as first-class engineering concerns\n- targeted Metal acceleration only where it is already justified by the current benchmark surface\n\n## Supported Scope\n\nCurrent supported surface:\n\n- macOS on Apple Silicon with Apple Clang and CMake\n- incompressible, constant-density flow on structured Cartesian grids\n- CPU-first deterministic validation path\n- lid-driven cavity, Couette, Poiseuille, and Taylor-Green verification cases\n- 2D and 3D periodic Taylor-Green support\n- targeted Metal backend for the 3D periodic Taylor-Green path\n\nIntentionally out of scope for this version:\n\n- x86, Linux, and Windows support\n- unstructured meshes and adaptive mesh refinement\n- compressible flow, turbulence models, and multiphase physics\n- general-purpose GPU portability layers\n\n## Proof Points\n\n- The current validation suite reports `PASS` for operator spatial order, Taylor-Green temporal self-convergence, benchmark thresholds, and mass conservation. See [validation/latest/summary.md](validation/latest/summary.md).\n- The solver has a documented deterministic run procedure plus a restartable cavity path backed by versioned checkpoints and automated continuation coverage. See [docs/DETERMINISTIC_RUNBOOK.md](docs/DETERMINISTIC_RUNBOOK.md).\n- The current Apple M1 Max profiling snapshot recommends the `benchmark` profile with the default unclamped scheduler policy and reports targeted Metal speedups on the supported 3D Taylor-Green slice. See [profiling/latest/summary.md](profiling/latest/summary.md).\n- The repository is in its Milestone 15 release-candidate phase for the currently supported scope. See [docs/PROJECT_STATUS.md](docs/PROJECT_STATUS.md) and [docs/RELEASE_CANDIDATE.md](docs/RELEASE_CANDIDATE.md).\n\n## Quickstart\n\nConfigure and build the deterministic reference profile:\n\n```bash\ncmake --preset deterministic\ncmake --build build/deterministic\n```\n\nRun the core automated test target:\n\n```bash\nctest --test-dir build/deterministic --output-on-failure\n```\n\nRun one representative verification case:\n\n```bash\nbuild/deterministic/tools/solver_taylor_green benchmarks/taylor_green_128.cfg\n```\n\nFor the fuller release-candidate workflows:\n\n- deterministic validation suite: `./validation/run_validation_suite.py --build-dir build/deterministic --output-dir validation/latest`\n- release-candidate wrapper: `tools/run_release_candidate_suite.sh`\n- profiling suite: `./profiling/run_profile_suite.py --build-dir build/benchmark --output-dir profiling/latest`\n- checkpoint and restart procedure: [docs/DETERMINISTIC_RUNBOOK.md](docs/DETERMINISTIC_RUNBOOK.md)\n\n## Read Next\n\nIf you are evaluating the project:\n\n- [docs/PROJECT_STATUS.md](docs/PROJECT_STATUS.md): current phase, implemented capabilities, limitations, and milestone snapshot\n- [docs/RELEASE_CANDIDATE.md](docs/RELEASE_CANDIDATE.md): release-candidate acceptance surface and evidence links\n- [validation/latest/summary.md](validation/latest/summary.md): latest validation gate results\n- [profiling/latest/summary.md](profiling/latest/summary.md): latest performance snapshot\n\nIf you are implementing or extending the solver:\n\n- [docs/TECH-SPEC.md](docs/TECH-SPEC.md): numerical and architectural contract\n- [docs/EXECUTION_ROADMAP_V1.md](docs/EXECUTION_ROADMAP_V1.md): milestone-by-milestone execution plan\n- [docs/DETERMINISTIC_RUNBOOK.md](docs/DETERMINISTIC_RUNBOOK.md): reproducible build, validation, restart, and profiling workflow\n\n## Repository Shape\n\nThe codebase is organized around a few clear subsystems:\n\n- `core/`, `operators/`, `solver/`, and `linsolve/` for the numerical implementation\n- `bc/`, `io/`, and `metal/` for boundary conditions, restart/output, and the targeted GPU slice\n- `tests/`, `validation/`, `profiling/`, and `tools/` for correctness, evidence generation, and measurement\n\n## License\n\nLicensing has not been finalized yet. Until a license file is added to the repository, do not assume one.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfifteen%2Forchard-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzfifteen%2Forchard-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfifteen%2Forchard-flow/lists"}