# simrankine-workbench **Repository Path**: thermalogic/simrankine-workbench ## Basic Information - **Project Name**: simrankine-workbench - **Description**: A visual workbench for Rankine cycle - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: svelet-port - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-15 - **Last Updated**: 2026-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SimRankine Workbench A visual workbench for Rankine cycle design, including the frontend service, graphical configuration interface, and simulation data interaction. ![sim-rankine86](img/sim-rankine86.jpg) ## Project Structure ``` simr-rankine-front/ ├── sim-rankine-front-svelte/ # New frontend (Svelte / SvelteKit) │ ├── src/lib/components/ # Canvas, Device, PropertiesPanel, ResultsPanel... │ ├── src/lib/stores.ts # Global state management │ ├── src/lib/utils.ts # Utilities + simulation API │ ├── static/config/ # Device shape / mapping configs │ └── docs/DESIGN.md # Detailed technical documentation │ ├── sim-rankine-front-service/ # Frontend web service (Rust, port 3000) │ └── src/main.rs # Static file server + health check │ └── sim-rankine-front-native/ # Legacy frontend (plain JS / HTML, testing) ├── index.html ├── js/app.js └── config/ ``` ## Key Features - **Visual device drag-and-drop layout** — Select a device from the sidebar and click the canvas to place it. - **Port connection** — Click ports to create connections; supports bend-point editing (add / delete / drag). - **Device property editing** — Edit device-level parameters in the sidebar. - **Port property editing** — Right-click a port to open an inline editor, keeping the sidebar compact. - **Project save / load** — JSON format, based on the File System Access API. - **Simulation run** — Calls the backend calculation service via HTTP `POST /simulate`. - **Result display** — Real-time port data labels showing computed values. ## Quick Start ### New frontend (Svelte) ```bash cd sim-rankine-front-svelte npm install npm run dev ``` Tauri build and run ```bash npm run tauri dev ``` ```bash npm run tauri build ``` ### Frontend service (Rust) ```bash cd sim-rankine-front-service cargo run --release ``` Service URL: http://127.0.0.1:3000 ## Backend Dependency The backend calculation service (`rust_rankine/rankine_service`) must be running. Default URL: http://127.0.0.1:8080 ## Tech Stack | Module | Technology | |-----------------|--------------------------------------| | New frontend | Svelte 4 + SvelteKit 2 + TypeScript + Vite | | Frontend service| Rust (Axum / Tokio) | | Legacy frontend | Plain JavaScript + HTML | | Backend engine | Rust Rankine simulation library | ## Documentation - [New Frontend Technical Docs](sim-rankine-front-svelte/docs/DESIGN.md) — Detailed architecture, data flow, and component descriptions. - [Legacy Frontend Docs](sim-rankine-front/docs/README.md) — Basic feature introduction. ## Supported Devices | Device Type | Identifier | |-------------------------------|-----------------| | Turbine (no extraction) | `TURBINE-EX0` | | Turbine (single extraction) | `TURBINE-EX1` | | Boiler | `BOILER` | | Condenser | `CONDENSER` | | Pump | `PUMP` | | Open heater (single inlet) | `FWH-OPEN-DW0` | | Open heater (dual inlet) | `FWH-OPEN-DW1` | | Closed heater | `FWH-CLOSE-DW0` | | Reheater | `REHEATER` | | Trap | `TRAP` |