navier-cfd 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,17 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ .pytest_cache/
4
+ .ruff_cache/
5
+ .mypy_cache/
6
+ .venv/
7
+ venv/
8
+ build/
9
+ dist/
10
+ *.egg-info/
11
+ wandb/
12
+ mlruns/
13
+ outputs/
14
+ checkpoints/
15
+ data/
16
+ .env
17
+ .DS_Store
@@ -0,0 +1,17 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ Copyright 2026 Somyajit Chakraborty
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
@@ -0,0 +1,253 @@
1
+ Metadata-Version: 2.4
2
+ Name: navier-cfd
3
+ Version: 0.2.0
4
+ Summary: CFD-first neural solver registry, Hugging Face data hub, benchmark toolkit, evidence-aware task recommender, and agentic experiment planner.
5
+ Project-URL: Homepage, https://github.com/Samsomyajit/NAVIER-CFD
6
+ Project-URL: Documentation, https://samsomyajit.github.io/NAVIER-CFD/
7
+ Project-URL: Issues, https://github.com/Samsomyajit/NAVIER-CFD/issues
8
+ Author-email: Somyajit Chakraborty <chksomyajit@sjtu.edu.cn>
9
+ License: Apache-2.0
10
+ License-File: LICENSE
11
+ Keywords: CFD,Hugging Face,PDE,PINN,neural operator,scientific machine learning
12
+ Requires-Python: >=3.10
13
+ Requires-Dist: datasets>=2.20
14
+ Requires-Dist: huggingface-hub>=0.24
15
+ Requires-Dist: numpy>=1.24
16
+ Requires-Dist: rich>=13.7
17
+ Requires-Dist: typer>=0.12
18
+ Provides-Extra: all
19
+ Requires-Dist: mkdocs-material>=9.5; extra == 'all'
20
+ Requires-Dist: mypy>=1.10; extra == 'all'
21
+ Requires-Dist: pytest-cov>=5; extra == 'all'
22
+ Requires-Dist: pytest>=8; extra == 'all'
23
+ Requires-Dist: ruff>=0.5; extra == 'all'
24
+ Requires-Dist: torch>=2.1; extra == 'all'
25
+ Provides-Extra: dev
26
+ Requires-Dist: mypy>=1.10; extra == 'dev'
27
+ Requires-Dist: pytest-cov>=5; extra == 'dev'
28
+ Requires-Dist: pytest>=8; extra == 'dev'
29
+ Requires-Dist: ruff>=0.5; extra == 'dev'
30
+ Provides-Extra: docs
31
+ Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
32
+ Provides-Extra: torch
33
+ Requires-Dist: torch>=2.1; extra == 'torch'
34
+ Description-Content-Type: text/markdown
35
+
36
+ <p align="center">
37
+ <img src="docs/assets/navier-cfd-logo.svg" alt="NAVIER-CFD logo" width="860">
38
+ </p>
39
+
40
+ <h1 align="center">NAVIER-CFD</h1>
41
+
42
+ <p align="center"><strong>Neural and Agentic Verification, Integration, Evaluation, and Recommendation for Computational Fluid Dynamics</strong></p>
43
+
44
+ <p align="center">
45
+ <a href="https://github.com/Samsomyajit/NAVIER-CFD/releases"><img src="https://img.shields.io/badge/version-0.2.0-2f6f9f.svg" alt="Version"></a>
46
+ <a href="https://pypi.org/project/navier-cfd/"><img src="https://img.shields.io/pypi/v/navier-cfd.svg?label=PyPI" alt="PyPI"></a>
47
+ <a href="https://pypi.org/project/navier-cfd/"><img src="https://img.shields.io/pypi/pyversions/navier-cfd.svg" alt="Python"></a>
48
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-4c8c6b.svg" alt="Apache 2.0"></a>
49
+ <a href="https://github.com/Samsomyajit/NAVIER-CFD/actions/workflows/ci.yml"><img src="https://github.com/Samsomyajit/NAVIER-CFD/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
50
+ <a href="https://samsomyajit.github.io/NAVIER-CFD/"><img src="https://img.shields.io/badge/project-website-0d6fdc.svg" alt="Project website"></a>
51
+ <a href="https://samsomyajit.github.io/NAVIER-CFD/recommender/"><img src="https://img.shields.io/badge/tool-recommender-13b7d8.svg" alt="Interactive recommender"></a>
52
+ <img src="https://img.shields.io/badge/models-55-7c6aa6.svg" alt="55 models">
53
+ <img src="https://img.shields.io/badge/datasets-11-5d8f72.svg" alt="11 datasets">
54
+ <img src="https://img.shields.io/badge/scoring-paper--evidence--aware-7057c7.svg" alt="Paper-evidence-aware scoring">
55
+ </p>
56
+
57
+ NAVIER-CFD is a CFD-first Python platform and project website for neural PDE solvers, hybrid numerical acceleration, benchmark datasets, paper-evidence-aware task recommendation, Hugging Face integration, and agentic experiment planning.
58
+
59
+ ## Project website and interactive tool
60
+
61
+ - **Project website:** https://samsomyajit.github.io/NAVIER-CFD/
62
+ - **Interactive model and dataset recommender:** https://samsomyajit.github.io/NAVIER-CFD/recommender/
63
+ - **Technical documentation:** https://samsomyajit.github.io/NAVIER-CFD/docs/
64
+
65
+ The web recommender runs entirely in the browser. It applies hard compatibility filters, explains every score, recommends suitable benchmark datasets, and exports a reproducible run manifest.
66
+
67
+ > A recommendation is a task-specific hypothesis, not proof that one architecture is universally superior. Report the final score together with evidence confidence, metric coverage, matched paper records, and the target benchmark.
68
+
69
+ ## Evidence-aware recommendation
70
+
71
+ Version 0.2 introduces a traceable paper-result layer. Each quantitative claim is stored with the paper, benchmark, metric, baseline, physical regime, dimension, mesh, geometry, temporal mode, fidelity, code/data availability, evidence level, and caveats.
72
+
73
+ The recommender now combines:
74
+
75
+ 1. **Hard compatibility filtering** for dimension, representation, geometry/mesh transfer, numerical role, temporal mode, and hardware.
76
+ 2. **Task-to-paper similarity** across physics, discretization, geometry, temporal regime, role, and fidelity.
77
+ 3. **Metric-aware utility** that prefers same-pipeline baseline comparisons and refuses to compare scale-dependent absolute MSE values across unrelated datasets.
78
+ 4. **Evidence quality weighting** for independent reproduction, peer review, code/data availability, cases, seeds, and baseline quality.
79
+ 5. **Bayesian shrinkage** toward a neutral prior when evidence is sparse.
80
+ 6. **Confidence and coverage reporting** so a high score with one weak paper cannot masquerade as a mature result.
81
+
82
+ Citation counts, venue prestige, author prestige, and coauthorship centrality are deliberately excluded from performance scoring. Bibliometrics are used for paper discovery and provenance, not as a proxy for CFD accuracy.
83
+
84
+ See [Evidence Scoring](docs/EVIDENCE_SCORING.md) and the frozen catalog at `src/navier_cfd/data/paper_evidence.json`.
85
+
86
+ ## Scientific pipeline
87
+
88
+ <p align="center">
89
+ <img src="docs/assets/navier_pipeline.svg" alt="NAVIER-CFD scientific pipeline" width="100%">
90
+ </p>
91
+
92
+ The workflow keeps the learned numerical role explicit—surrogate, closure, corrector, preconditioner, inverse model, controller, or generator—and connects each experiment to versioned data, traceable model cards, CFD-aware metrics, paper evidence, and a reproducible run manifest.
93
+
94
+ ## Why NAVIER-CFD
95
+
96
+ - **55-model taxonomy:** acceleration frameworks, surrogates, general PDE solvers, specialized CFD, geometry and unstructured-mesh models, foundation models, inverse methods, uncertainty, particle and multiphase models, and generative methods.
97
+ - **11 first-class datasets:** PDEBench, CFDBench, RealPDEBench, AirfRANS, DrivAerNet++, DrivAerML, The Well, APEBench, ScalarFlow, ShapeNet-Car, and EAGLE.
98
+ - **Paper-level evidence:** traceable benchmark claims with task context, provenance, quality, confidence, and comparability limits.
99
+ - **Full Hugging Face support:** discovery, inspection, selective downloads, revision pinning, authentication, streaming, caching, and arbitrary CFD dataset identifiers.
100
+ - **Explainable recommendation:** compatibility filtering plus evidence-aware ranking by physics, dimension, mesh, geometry, temporal regime, numerical role, fidelity, memory, conservation, uncertainty, and transfer requirements.
101
+ - **Agentic AI:** deterministic offline planning and provider-neutral interfaces for external LLM agents.
102
+ - **CFD-aware benchmarking:** field, spectral, rollout, conservation, OOD, quantity-of-interest, uncertainty, wall-clock, memory, and break-even metrics.
103
+ - **Safe integration:** external repositories remain metadata-first and are never executed automatically.
104
+
105
+ ## Installation
106
+
107
+ From PyPI:
108
+
109
+ ```bash
110
+ pip install navier-cfd
111
+ ```
112
+
113
+ From source:
114
+
115
+ ```bash
116
+ git clone https://github.com/Samsomyajit/NAVIER-CFD.git
117
+ cd NAVIER-CFD
118
+ pip install -e .
119
+
120
+ # development, tests, and documentation
121
+ pip install -e ".[dev,docs]"
122
+ ```
123
+
124
+ ## Quick start
125
+
126
+ ```bash
127
+ # Explore catalogs
128
+ navier models list
129
+ navier models list --category acceleration
130
+ navier datasets list
131
+
132
+ # Inspect registered paper evidence
133
+ navier evidence list
134
+ navier evidence list --model-id gino
135
+ navier evidence coverage
136
+
137
+ # Search Hugging Face
138
+ navier datasets discover "computational fluid dynamics" --limit 20
139
+
140
+ # Download a CFDBench subset
141
+ navier datasets download cfdbench \
142
+ --local-dir ./data/cfdbench \
143
+ --pattern "cylinder/**"
144
+
145
+ # Evidence-aware recommendation
146
+ navier recommend \
147
+ --problem vehicle_drag \
148
+ --task surrogate \
149
+ --dimension 3 \
150
+ --mesh point_cloud \
151
+ --temporal steady \
152
+ --geometry varying \
153
+ --physics aerodynamics \
154
+ --fidelity rans \
155
+ --memory-gb 80 \
156
+ --top-k 10
157
+
158
+ # Generate an agentic experiment plan
159
+ navier agent plan \
160
+ "Benchmark RealPDEBench cylinder sim-to-real forecasting with 24 GB VRAM, conservation and uncertainty"
161
+ ```
162
+
163
+ ## Python API
164
+
165
+ ```python
166
+ from navier_cfd import Catalog, TaskSpec, recommend_models
167
+
168
+ catalog = Catalog.load_builtin()
169
+ task = TaskSpec(
170
+ problem="3d_vehicle_aerodynamics",
171
+ task_type="surrogate",
172
+ dimension=3,
173
+ mesh_type="point_cloud",
174
+ temporal_mode="steady",
175
+ geometry_mode="varying",
176
+ physics=("aerodynamics",),
177
+ fidelity="rans",
178
+ requires_geometry_transfer=True,
179
+ requires_mesh_transfer=True,
180
+ hardware_memory_gb=80,
181
+ )
182
+
183
+ for result in recommend_models(task, catalog.models, top_k=8):
184
+ print(result.model.name, result.score)
185
+ print("evidence:", result.evidence_score)
186
+ print("confidence:", result.evidence_confidence)
187
+ print("coverage:", result.evidence_coverage)
188
+ print("records:", result.evidence_count)
189
+ print("reasons:", result.reasons)
190
+ print("cautions:", result.cautions)
191
+ ```
192
+
193
+ ## Registered model families
194
+
195
+ - **Physics-informed:** PINN, NSFnets, PINNsFormer, PINO, PI-MFM, and RiemannONet.
196
+ - **Operator learning:** DeepONet, MIONet, Fourier-DeepONet, Fourier-MIONet, FNO, F-FNO, U-FNO, U-NO, LSM, MWT, Laplace NO, and state-space NO.
197
+ - **Geometry and transformer solvers:** Geo-FNO, GINO, GNOT, Transolver, UPT, MeshGraphNets, DoMINO, and ReViT.
198
+ - **CFD-specialized:** PIBERT, FourierFlow, P3D, AeroTransformer, NeuralDEM, DeepM&Mnet, and Energy Transformer.
199
+ - **Foundation and generative:** DPOT, Poseidon, PROSE-FD, BCAT, PDEformer-1, Tadpole, PDE-Refiner, FunDiff, and Flow Matching for PDEs.
200
+ - **Acceleration:** Solver-in-the-Loop, INC, PICT, diffSPH, NeuroSEM, neural-operator preconditioned Newton, and geometry-aware neural preconditioning.
201
+ - **Uncertainty and adaptation:** Conformalized-DeepONet and TANTE.
202
+
203
+ “Included” means represented through a uniform model card and recommendation interface. Official implementations remain external so upstream licenses and revisions are respected.
204
+
205
+ ## Repository map
206
+
207
+ ```text
208
+ src/navier_cfd/
209
+ agents/ deterministic and LLM-ready planning
210
+ benchmarks/ CFD metrics and benchmark plans
211
+ datasets/ Hugging Face discovery, download, streaming
212
+ models/ safe adapter protocol
213
+ data/ frozen paper-evidence catalog
214
+ catalogs.py model and dataset registries
215
+ evidence.py task similarity, quality, utility, shrinkage
216
+ recommender.py compatibility prior + evidence ranking
217
+
218
+ website/
219
+ index.html standalone project website
220
+ recommender/ interactive browser recommender
221
+ data/ static model and dataset catalogs
222
+
223
+ docs/ MkDocs technical documentation
224
+ case_studies/ detailed benchmark study guides
225
+ configs/tasks/ reusable task specifications
226
+ ```
227
+
228
+ ## Recommender validation
229
+
230
+ The Python recommender is covered by `pytest`; the browser engine is covered by Node's built-in test runner.
231
+
232
+ ```bash
233
+ pytest tests/test_recommender.py tests/test_evidence_recommender.py
234
+ node --test website/recommender/recommender-core.test.mjs
235
+ ```
236
+
237
+ Canonical tests verify task-specific evidence transfer, geometry-aware 3D ranking, hybrid acceleration selection, evidence provenance, and neutral treatment of incomparable absolute MSE values.
238
+
239
+ ## Packaging and deployment
240
+
241
+ - Package: `navier-cfd`
242
+ - Import namespace: `navier_cfd`
243
+ - Current version: `0.2.0`
244
+ - Evidence algorithm: `0.2.0-evidence`
245
+ - Build backend: Hatchling
246
+ - Website source: `website/`
247
+ - Documentation source: `docs/`
248
+ - Branch publisher: `.github/workflows/pages-branch.yml`
249
+ - PyPI Trusted Publishing workflow: `.github/workflows/publish-pypi.yml`
250
+
251
+ ## License
252
+
253
+ Licensed under the [Apache License 2.0](LICENSE). Cite NAVIER-CFD and the original model, dataset, upstream implementation, benchmark, and numerical-solver references used in every experiment.
@@ -0,0 +1,218 @@
1
+ <p align="center">
2
+ <img src="docs/assets/navier-cfd-logo.svg" alt="NAVIER-CFD logo" width="860">
3
+ </p>
4
+
5
+ <h1 align="center">NAVIER-CFD</h1>
6
+
7
+ <p align="center"><strong>Neural and Agentic Verification, Integration, Evaluation, and Recommendation for Computational Fluid Dynamics</strong></p>
8
+
9
+ <p align="center">
10
+ <a href="https://github.com/Samsomyajit/NAVIER-CFD/releases"><img src="https://img.shields.io/badge/version-0.2.0-2f6f9f.svg" alt="Version"></a>
11
+ <a href="https://pypi.org/project/navier-cfd/"><img src="https://img.shields.io/pypi/v/navier-cfd.svg?label=PyPI" alt="PyPI"></a>
12
+ <a href="https://pypi.org/project/navier-cfd/"><img src="https://img.shields.io/pypi/pyversions/navier-cfd.svg" alt="Python"></a>
13
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-4c8c6b.svg" alt="Apache 2.0"></a>
14
+ <a href="https://github.com/Samsomyajit/NAVIER-CFD/actions/workflows/ci.yml"><img src="https://github.com/Samsomyajit/NAVIER-CFD/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
15
+ <a href="https://samsomyajit.github.io/NAVIER-CFD/"><img src="https://img.shields.io/badge/project-website-0d6fdc.svg" alt="Project website"></a>
16
+ <a href="https://samsomyajit.github.io/NAVIER-CFD/recommender/"><img src="https://img.shields.io/badge/tool-recommender-13b7d8.svg" alt="Interactive recommender"></a>
17
+ <img src="https://img.shields.io/badge/models-55-7c6aa6.svg" alt="55 models">
18
+ <img src="https://img.shields.io/badge/datasets-11-5d8f72.svg" alt="11 datasets">
19
+ <img src="https://img.shields.io/badge/scoring-paper--evidence--aware-7057c7.svg" alt="Paper-evidence-aware scoring">
20
+ </p>
21
+
22
+ NAVIER-CFD is a CFD-first Python platform and project website for neural PDE solvers, hybrid numerical acceleration, benchmark datasets, paper-evidence-aware task recommendation, Hugging Face integration, and agentic experiment planning.
23
+
24
+ ## Project website and interactive tool
25
+
26
+ - **Project website:** https://samsomyajit.github.io/NAVIER-CFD/
27
+ - **Interactive model and dataset recommender:** https://samsomyajit.github.io/NAVIER-CFD/recommender/
28
+ - **Technical documentation:** https://samsomyajit.github.io/NAVIER-CFD/docs/
29
+
30
+ The web recommender runs entirely in the browser. It applies hard compatibility filters, explains every score, recommends suitable benchmark datasets, and exports a reproducible run manifest.
31
+
32
+ > A recommendation is a task-specific hypothesis, not proof that one architecture is universally superior. Report the final score together with evidence confidence, metric coverage, matched paper records, and the target benchmark.
33
+
34
+ ## Evidence-aware recommendation
35
+
36
+ Version 0.2 introduces a traceable paper-result layer. Each quantitative claim is stored with the paper, benchmark, metric, baseline, physical regime, dimension, mesh, geometry, temporal mode, fidelity, code/data availability, evidence level, and caveats.
37
+
38
+ The recommender now combines:
39
+
40
+ 1. **Hard compatibility filtering** for dimension, representation, geometry/mesh transfer, numerical role, temporal mode, and hardware.
41
+ 2. **Task-to-paper similarity** across physics, discretization, geometry, temporal regime, role, and fidelity.
42
+ 3. **Metric-aware utility** that prefers same-pipeline baseline comparisons and refuses to compare scale-dependent absolute MSE values across unrelated datasets.
43
+ 4. **Evidence quality weighting** for independent reproduction, peer review, code/data availability, cases, seeds, and baseline quality.
44
+ 5. **Bayesian shrinkage** toward a neutral prior when evidence is sparse.
45
+ 6. **Confidence and coverage reporting** so a high score with one weak paper cannot masquerade as a mature result.
46
+
47
+ Citation counts, venue prestige, author prestige, and coauthorship centrality are deliberately excluded from performance scoring. Bibliometrics are used for paper discovery and provenance, not as a proxy for CFD accuracy.
48
+
49
+ See [Evidence Scoring](docs/EVIDENCE_SCORING.md) and the frozen catalog at `src/navier_cfd/data/paper_evidence.json`.
50
+
51
+ ## Scientific pipeline
52
+
53
+ <p align="center">
54
+ <img src="docs/assets/navier_pipeline.svg" alt="NAVIER-CFD scientific pipeline" width="100%">
55
+ </p>
56
+
57
+ The workflow keeps the learned numerical role explicit—surrogate, closure, corrector, preconditioner, inverse model, controller, or generator—and connects each experiment to versioned data, traceable model cards, CFD-aware metrics, paper evidence, and a reproducible run manifest.
58
+
59
+ ## Why NAVIER-CFD
60
+
61
+ - **55-model taxonomy:** acceleration frameworks, surrogates, general PDE solvers, specialized CFD, geometry and unstructured-mesh models, foundation models, inverse methods, uncertainty, particle and multiphase models, and generative methods.
62
+ - **11 first-class datasets:** PDEBench, CFDBench, RealPDEBench, AirfRANS, DrivAerNet++, DrivAerML, The Well, APEBench, ScalarFlow, ShapeNet-Car, and EAGLE.
63
+ - **Paper-level evidence:** traceable benchmark claims with task context, provenance, quality, confidence, and comparability limits.
64
+ - **Full Hugging Face support:** discovery, inspection, selective downloads, revision pinning, authentication, streaming, caching, and arbitrary CFD dataset identifiers.
65
+ - **Explainable recommendation:** compatibility filtering plus evidence-aware ranking by physics, dimension, mesh, geometry, temporal regime, numerical role, fidelity, memory, conservation, uncertainty, and transfer requirements.
66
+ - **Agentic AI:** deterministic offline planning and provider-neutral interfaces for external LLM agents.
67
+ - **CFD-aware benchmarking:** field, spectral, rollout, conservation, OOD, quantity-of-interest, uncertainty, wall-clock, memory, and break-even metrics.
68
+ - **Safe integration:** external repositories remain metadata-first and are never executed automatically.
69
+
70
+ ## Installation
71
+
72
+ From PyPI:
73
+
74
+ ```bash
75
+ pip install navier-cfd
76
+ ```
77
+
78
+ From source:
79
+
80
+ ```bash
81
+ git clone https://github.com/Samsomyajit/NAVIER-CFD.git
82
+ cd NAVIER-CFD
83
+ pip install -e .
84
+
85
+ # development, tests, and documentation
86
+ pip install -e ".[dev,docs]"
87
+ ```
88
+
89
+ ## Quick start
90
+
91
+ ```bash
92
+ # Explore catalogs
93
+ navier models list
94
+ navier models list --category acceleration
95
+ navier datasets list
96
+
97
+ # Inspect registered paper evidence
98
+ navier evidence list
99
+ navier evidence list --model-id gino
100
+ navier evidence coverage
101
+
102
+ # Search Hugging Face
103
+ navier datasets discover "computational fluid dynamics" --limit 20
104
+
105
+ # Download a CFDBench subset
106
+ navier datasets download cfdbench \
107
+ --local-dir ./data/cfdbench \
108
+ --pattern "cylinder/**"
109
+
110
+ # Evidence-aware recommendation
111
+ navier recommend \
112
+ --problem vehicle_drag \
113
+ --task surrogate \
114
+ --dimension 3 \
115
+ --mesh point_cloud \
116
+ --temporal steady \
117
+ --geometry varying \
118
+ --physics aerodynamics \
119
+ --fidelity rans \
120
+ --memory-gb 80 \
121
+ --top-k 10
122
+
123
+ # Generate an agentic experiment plan
124
+ navier agent plan \
125
+ "Benchmark RealPDEBench cylinder sim-to-real forecasting with 24 GB VRAM, conservation and uncertainty"
126
+ ```
127
+
128
+ ## Python API
129
+
130
+ ```python
131
+ from navier_cfd import Catalog, TaskSpec, recommend_models
132
+
133
+ catalog = Catalog.load_builtin()
134
+ task = TaskSpec(
135
+ problem="3d_vehicle_aerodynamics",
136
+ task_type="surrogate",
137
+ dimension=3,
138
+ mesh_type="point_cloud",
139
+ temporal_mode="steady",
140
+ geometry_mode="varying",
141
+ physics=("aerodynamics",),
142
+ fidelity="rans",
143
+ requires_geometry_transfer=True,
144
+ requires_mesh_transfer=True,
145
+ hardware_memory_gb=80,
146
+ )
147
+
148
+ for result in recommend_models(task, catalog.models, top_k=8):
149
+ print(result.model.name, result.score)
150
+ print("evidence:", result.evidence_score)
151
+ print("confidence:", result.evidence_confidence)
152
+ print("coverage:", result.evidence_coverage)
153
+ print("records:", result.evidence_count)
154
+ print("reasons:", result.reasons)
155
+ print("cautions:", result.cautions)
156
+ ```
157
+
158
+ ## Registered model families
159
+
160
+ - **Physics-informed:** PINN, NSFnets, PINNsFormer, PINO, PI-MFM, and RiemannONet.
161
+ - **Operator learning:** DeepONet, MIONet, Fourier-DeepONet, Fourier-MIONet, FNO, F-FNO, U-FNO, U-NO, LSM, MWT, Laplace NO, and state-space NO.
162
+ - **Geometry and transformer solvers:** Geo-FNO, GINO, GNOT, Transolver, UPT, MeshGraphNets, DoMINO, and ReViT.
163
+ - **CFD-specialized:** PIBERT, FourierFlow, P3D, AeroTransformer, NeuralDEM, DeepM&Mnet, and Energy Transformer.
164
+ - **Foundation and generative:** DPOT, Poseidon, PROSE-FD, BCAT, PDEformer-1, Tadpole, PDE-Refiner, FunDiff, and Flow Matching for PDEs.
165
+ - **Acceleration:** Solver-in-the-Loop, INC, PICT, diffSPH, NeuroSEM, neural-operator preconditioned Newton, and geometry-aware neural preconditioning.
166
+ - **Uncertainty and adaptation:** Conformalized-DeepONet and TANTE.
167
+
168
+ “Included” means represented through a uniform model card and recommendation interface. Official implementations remain external so upstream licenses and revisions are respected.
169
+
170
+ ## Repository map
171
+
172
+ ```text
173
+ src/navier_cfd/
174
+ agents/ deterministic and LLM-ready planning
175
+ benchmarks/ CFD metrics and benchmark plans
176
+ datasets/ Hugging Face discovery, download, streaming
177
+ models/ safe adapter protocol
178
+ data/ frozen paper-evidence catalog
179
+ catalogs.py model and dataset registries
180
+ evidence.py task similarity, quality, utility, shrinkage
181
+ recommender.py compatibility prior + evidence ranking
182
+
183
+ website/
184
+ index.html standalone project website
185
+ recommender/ interactive browser recommender
186
+ data/ static model and dataset catalogs
187
+
188
+ docs/ MkDocs technical documentation
189
+ case_studies/ detailed benchmark study guides
190
+ configs/tasks/ reusable task specifications
191
+ ```
192
+
193
+ ## Recommender validation
194
+
195
+ The Python recommender is covered by `pytest`; the browser engine is covered by Node's built-in test runner.
196
+
197
+ ```bash
198
+ pytest tests/test_recommender.py tests/test_evidence_recommender.py
199
+ node --test website/recommender/recommender-core.test.mjs
200
+ ```
201
+
202
+ Canonical tests verify task-specific evidence transfer, geometry-aware 3D ranking, hybrid acceleration selection, evidence provenance, and neutral treatment of incomparable absolute MSE values.
203
+
204
+ ## Packaging and deployment
205
+
206
+ - Package: `navier-cfd`
207
+ - Import namespace: `navier_cfd`
208
+ - Current version: `0.2.0`
209
+ - Evidence algorithm: `0.2.0-evidence`
210
+ - Build backend: Hatchling
211
+ - Website source: `website/`
212
+ - Documentation source: `docs/`
213
+ - Branch publisher: `.github/workflows/pages-branch.yml`
214
+ - PyPI Trusted Publishing workflow: `.github/workflows/publish-pypi.yml`
215
+
216
+ ## License
217
+
218
+ Licensed under the [Apache License 2.0](LICENSE). Cite NAVIER-CFD and the original model, dataset, upstream implementation, benchmark, and numerical-solver references used in every experiment.
@@ -0,0 +1,57 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.25"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "navier-cfd"
7
+ version = "0.2.0"
8
+ description = "CFD-first neural solver registry, Hugging Face data hub, benchmark toolkit, evidence-aware task recommender, and agentic experiment planner."
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = {text = "Apache-2.0"}
12
+ authors = [
13
+ {name = "Somyajit Chakraborty", email = "chksomyajit@sjtu.edu.cn"},
14
+ ]
15
+ keywords = ["CFD", "scientific machine learning", "neural operator", "PINN", "PDE", "Hugging Face"]
16
+ dependencies = [
17
+ "numpy>=1.24",
18
+ "typer>=0.12",
19
+ "rich>=13.7",
20
+ "huggingface_hub>=0.24",
21
+ "datasets>=2.20",
22
+ ]
23
+
24
+ [project.optional-dependencies]
25
+ torch = ["torch>=2.1"]
26
+ dev = ["pytest>=8", "pytest-cov>=5", "ruff>=0.5", "mypy>=1.10"]
27
+ docs = ["mkdocs-material>=9.5"]
28
+ all = ["torch>=2.1", "pytest>=8", "pytest-cov>=5", "ruff>=0.5", "mypy>=1.10", "mkdocs-material>=9.5"]
29
+
30
+ [project.scripts]
31
+ navier = "navier_cfd.cli:app"
32
+ cfdns = "navier_cfd.cli:app"
33
+
34
+ [project.urls]
35
+ Homepage = "https://github.com/Samsomyajit/NAVIER-CFD"
36
+ Documentation = "https://samsomyajit.github.io/NAVIER-CFD/"
37
+ Issues = "https://github.com/Samsomyajit/NAVIER-CFD/issues"
38
+
39
+ [tool.hatch.build.targets.wheel]
40
+ packages = ["src/navier_cfd"]
41
+
42
+ [tool.hatch.build]
43
+ include = ["src/navier_cfd/**/*.py", "src/navier_cfd/**/*.json"]
44
+
45
+ [tool.pytest.ini_options]
46
+ pythonpath = ["src"]
47
+ testpaths = ["tests"]
48
+ addopts = "-q"
49
+
50
+ [tool.ruff]
51
+ line-length = 120
52
+ target-version = "py310"
53
+
54
+ [tool.mypy]
55
+ python_version = "3.10"
56
+ warn_return_any = true
57
+ warn_unused_configs = true
@@ -0,0 +1,30 @@
1
+ """NAVIER-CFD public API: neural and agentic workflows for computational fluid dynamics."""
2
+
3
+ from .catalogs import Catalog
4
+ from .evidence import (
5
+ ALGORITHM_VERSION,
6
+ EvidenceMatch,
7
+ EvidenceRecord,
8
+ EvidenceSummary,
9
+ load_builtin_evidence,
10
+ score_model_evidence,
11
+ )
12
+ from .recommender import Recommendation, recommend_models
13
+ from .specs import DatasetSpec, ModelSpec, TaskSpec
14
+
15
+ __all__ = [
16
+ "ALGORITHM_VERSION",
17
+ "Catalog",
18
+ "DatasetSpec",
19
+ "EvidenceMatch",
20
+ "EvidenceRecord",
21
+ "EvidenceSummary",
22
+ "ModelSpec",
23
+ "Recommendation",
24
+ "TaskSpec",
25
+ "load_builtin_evidence",
26
+ "recommend_models",
27
+ "score_model_evidence",
28
+ ]
29
+
30
+ __version__ = "0.2.0"
@@ -0,0 +1,3 @@
1
+ from .cli import app
2
+
3
+ app()
@@ -0,0 +1,3 @@
1
+ from .orchestrator import AgentOrchestrator, AgentPlan
2
+
3
+ __all__ = ["AgentOrchestrator", "AgentPlan"]