You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document config-driven pipeline with customisable parameters in README
Replace the old pipeline section with comprehensive documentation of
the YAML config system, parameter tables, Docker-based SU2 execution,
and system-level dependency notes. Add .gitignore.
Made-with: Cursor
Copy file name to clipboardExpand all lines: README.md
+56-11Lines changed: 56 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,23 +90,68 @@ To install SU2 alongside the MCP server, opt in to the extra dependency group wh
90
90
pip install su2-mcp-server[su2]
91
91
```
92
92
93
-
### TiGL → SU2 pipeline (external agent)
93
+
### TiGL → SU2 → pyCycle pipeline
94
94
95
-
An external agent can chain TiGL MCP, SU2 MCP, and (optionally) Pycycle MCP to design and analyze an aircraft:
95
+
An orchestration script (`pipeline/tigl_to_su2.py`) chains all three MCP servers into a single automated run:
96
96
97
-
1.**TiGL MCP**: Open CPACS, export configuration as STEP (base64).
98
-
2.**SU2 MCP**: `create_su2_session` → `generate_mesh_from_step(session_id, step_base64)` (requires `gmsh` on PATH) → `update_config_entries` to set Euler/freestream and `MARKER_FAR`/`MARKER_EULER` to match the mesh markers (FARFIELD, WALL) → `run_su2_solver` → `list_result_files` / `read_history_csv` / `get_result_file_base64` for results.
99
-
3.**Pycycle MCP**: Use for propulsion/cycle analysis as needed.
For a single Docker environment that has TiGL, Gmsh, and SU2, use the `tigl-mcp` image (which includes SU2 and Gmsh) and run the SU2 MCP server in that same environment so `generate_mesh_from_step` can call `gmsh`.
101
+
1.**TiGL MCP** (port 8000): Open CPACS, export configuration as watertight STEP.
102
+
2.**SU2 MCP / Gmsh**: Volume mesh from STEP (BooleanFragments, FARFIELD/WALL markers), then Euler CFD to get CL/CD.
###Running the server when SU2 is not installed locally
105
+
#### Config-driven runs
104
106
105
-
The server runs `SU2_CFD` when you call `run_su2_solver`. If SU2 is not on your machine, run the SU2 MCP server inside a container that has SU2 (e.g. the [tigl-mcp](https://github.com/cmudrc/tigl-mcp) Docker image). From the host, mount this repo and start the server:
107
+
The pipeline uses a YAML config file (`pipeline_config.yaml`) that controls all ~15 user-relevant parameters. CLI arguments override config values.
106
108
107
109
```bash
108
-
docker run --rm -p 8002:8002 -v /path/to/su2-mcp:/app/su2-mcp tigl-mcp:dev \
Then clients can connect to `http://localhost:8002/mcp`. For a pre-built script that does this, see the parent repo that contains both tigl-mcp and su2-mcp.
120
+
Config file sections: `flight` (mach, aoa, altitude), `aircraft` (ref_area, ref_length), `meshing` (surface_density, farfield_factor, algorithm), `cfd` (iterations, CFL, limiter), `engine` (type, default thrust). A `resolved_config.yaml` is saved alongside outputs for reproducibility.
0 commit comments