| """Launcher for the EZFlow v3 web app (turbulent-RANS GNN predictor). |
| |
| python ezflow_v3/app/run_app.py -> http://127.0.0.1:8000 |
| |
| Serves the TMLR paper's seed-0 models (HybridFlow / GeoReNet) with a model selector, |
| model-vs-model compare, robust STL meshing, slicing, point probe, and CSV export. |
| This supersedes the old v1 app under app/ (which used the archived ezflow_gnn poc_v4). |
| """ |
| from __future__ import annotations |
| import os, sys, webbrowser |
| from pathlib import Path |
| import uvicorn |
|
|
| os.environ.setdefault("KMP_DUPLICATE_LIB_OK", "TRUE") |
| os.environ.setdefault("OMP_NUM_THREADS", "1") |
| REPO_ROOT = Path(__file__).resolve().parents[2] |
|
|
|
|
| def main(): |
| sys.path.insert(0, str(REPO_ROOT)) |
| os.chdir(str(REPO_ROOT)) |
| url = "http://127.0.0.1:8000" |
| print(f"EZFlow v3 app -> {url} (models: HybridFlow / GeoReNet, seed-0 TMLR checkpoints)", flush=True) |
| try: |
| webbrowser.open(url) |
| except Exception: |
| pass |
| import ezflow_v3.app.serve as serve |
| uvicorn.run(serve.app, host="127.0.0.1", port=8000, log_level="info", reload=False) |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|