HPC-Cluster bridge for sim-cli — routes sim commands to a central job scheduler
Project description
sim-plugin-hpc
HPC-Cluster bridge for sim-cli — routes sim commands to a centralized CAE job scheduling platform.
Overview
This plugin allows AI Agents using sim-cli to submit simulation jobs to an HPC-Cluster scheduling platform via REST API, instead of running solvers locally.
AI Agent → sim-cli → sim-plugin-hpc → HTTP → HPC-Cluster API → 20 solvers
Installation
cd C:\HPC-Cluster\extensions\sim-plugin-hpc
pip install -e .
Verify:
uv run sim check hpc
# Connected to HPC-Cluster (20 solvers, 0 running, 0 total jobs)
Configuration
# Default: http://localhost:8000 — override for remote deployments
export HPC_URL=http://192.168.1.100:8000
# JWT token (required when auth.enabled=true)
export HPC_TOKEN=eyJ...
Usage
Batch Jobs (/api/submit)
Submit a solver input file — the system auto-detects the solver from the file extension.
# Auto-detection by suffix
uv run sim run --solver hpc model.bdf # → nastran
uv run sim run --solver hpc panel.inp # → abaqus
uv run sim run --solver hpc mesh.jou # → ansys_fluent
uv run sim run --solver hpc part.adm # → adams
uv run sim run --solver hpc model.mph # → comsol
uv run sim run --solver hpc project.cst # → cst
uv run sim run --solver hpc script.tcl # → hypermesh
uv run sim run --solver hpc study.hst # → hyperstudy
uv run sim run --solver hpc part.geo # → gmsh
uv run sim run --solver hpc mesh.glf # → pointwise
uv run sim run --solver hpc model.prt # → nx_batchmesh
uv run sim run --solver hpc session.meta # → metapost
uv run sim run --solver hpc workflow.zmf # → isight
uv run sim run --solver hpc fatigue.ldf # → fe_safe
uv run sim run --solver hpc optimize.par # → tosca
Ambiguous extensions — must specify --software explicitly:
uv run sim run --solver hpc --software nastran input.dat
uv run sim run --solver hpc --software ansys_mechanical input.dat
uv run sim run --solver hpc --software paraview script.py
uv run sim run --solver hpc --software freecad script.py
uv run sim run --solver hpc --software calculix model.inp
Custom resources and arguments:
# Memory and CPU
uv run sim run --solver hpc --mem 32 --cpu 8 large_model.inp
# Extra solver CLI args
uv run sim run --solver hpc --args "batch=yes parallel=4" model.bdf
# Long-running jobs (default timeout: 10 hours)
uv run sim run --solver hpc --timeout 72000 --mem 64 huge_model.inp
Async submit (fire-and-forget):
uv run sim run --solver hpc --no-wait large_model.bdf
# Returns: Job submitted: nastran_abc123_1717345678 (status: submitted)
Realtime Tasks (/api/tasks)
Lightweight operations with SSE progress streaming. Ideal for meshing, rendering, and quick tasks.
# Gmsh mesh generation (1-30s)
uv run sim run --solver hpc --task-type gmsh_mesh --geo part.geo
# HyperMesh Tcl mesh generation (10-120s)
uv run sim run --solver hpc --task-type hypermesh_mesh --tcl batch_mesh.tcl
# ParaView Python rendering (5-60s)
uv run sim run --solver hpc --task-type paraview_render --script visualize.py
# FreeCAD parametric modeling (30-300s)
uv run sim run --solver hpc --task-type freecad_model --script create_part.py
# Pointwise Glyph CFD mesh (30-300s)
uv run sim run --solver hpc --task-type pointwise_mesh --glf airfoil.glf
All realtime tasks return a stream_url for live SSE progress tracking.
Inspect and Monitor
# List all 20 registered solvers
uv run sim inspect hpc.installed
# Check job status (replace <job_id> with actual value)
curl http://localhost:8000/api/jobs/<job_id>
# View cluster stats
curl http://localhost:8000/api/stats
Supported Solvers (20 total)
| Category | Count | Solvers |
|---|---|---|
| Interactive | 1 | ANSA (490 tools via Direct IAP) |
| FEA | 6 | Abaqus, Nastran, ANSYS Mechanical, ANSYS Fluent, CalculiX, Adams |
| Multiphysics | 2 | COMSOL, CST |
| Pre-processing | 5 | HyperMesh, HyperStudy, Gmsh, Pointwise, NX BatchMesher |
| Post-processing | 4 | ParaView, META Post, FreeCAD, Isight |
| SIMULIA | 2 | fe-safe, Tosca |
Realtime Tasks (P6)
| Task Type | Tool | Duration |
|---|---|---|
gmsh_mesh |
Gmsh mesh generation | 1-30s |
hypermesh_mesh |
HyperMesh Tcl mesh generation | 10-120s |
paraview_render |
ParaView Python rendering | 5-60s |
freecad_model |
FreeCAD parametric modeling | 30-300s |
pointwise_mesh |
Pointwise Glyph mesh generation | 30-300s |
Extension Conflict Guide
| Extension | Conflict | Resolution |
|---|---|---|
.dat |
nastran / ansys_mechanical | Must pass --software |
.py |
paraview / freecad | Must pass --software |
.inp |
abaqus / calculix / fe_safe / tosca | Defaults to abaqus; others need --software |
File Map
extensions/sim-plugin-hpc/
├── pyproject.toml # Package config + sim.drivers / sim.skills entry points
├── README.md # This file
└── src/sim_plugin_hpc/
├── __init__.py # Plugin info + skills_dir()
├── solver_map.py # Extension → solver mapping + labels + realtime task list
├── client.py # HpcClient — REST/SSE HTTP client (httpx)
├── driver.py # HpcDriver — detect/lint/connect/run_file/launch
└── _skills/
└── hpc/
└── SKILL.md # AI Agent usage manual
Key Design Decisions
| Design Point | Decision |
|---|---|
| Extension conflicts | .dat/.py map to None; detect() returns False; lint() prompts --software |
.inp default |
Maps to abaqus (backward compat); lint() notes CalculiX needs explicit |
| Sync wait | run_file() defaults wait=True; polls every 2s + SSE incremental logs |
| Async mode | --no-wait returns job_id immediately; result referenced as hpc://<job_id> artifact |
| Virtual install | detect_installed() returns all 20 solvers, source="hpc-cluster" |
| Authentication | HpcClient supports --token JWT; all requests carry Authorization: Bearer |
| Realtime tasks | launch() maps to POST /api/tasks; 5 P6 task types |
| Remote logs | wait_for_completion() uses SSE for log streaming (works cross-machine); job_logs() reads local FS (same-machine only) |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sim_plugin_hpc-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sim_plugin_hpc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878d0133d315ad6ceb77fe60650f4fbcc3e9dab7f8908e4a28776865a01c1f9f
|
|
| MD5 |
e3a2ee555a6231459097c031e9c1cdd2
|
|
| BLAKE2b-256 |
c0f47d0a6af09dcc53745bd5da6bb4c1e38705aa7f69c793690f9b1365a80da0
|