- Added port_mass_flows to Component trait and implements for core components. - Added System::check_mass_balance and integrated it into the solver. - Restored connect methods for ExpansionValve, Compressor, and Pipe to fix integration tests. - Updated Python and C bindings for validation errors. - Updated sprint status and story documentation.
Entropyk - Thermodynamic Simulation Framework
Entropyk is a high-performance, type-safe Rust library for simulating thermodynamic cycles and systems. It provides a robust framework for modeling complex HVAC/R systems with multi-circuit support and thermal coupling.
Key Features
- 🛡️ Type-Safe Physics: Unit-safe quantities (Pressure, Temperature, Enthalpy, MassFlow) via NewType wrappers.
- 🧱 Component-Based: Reusable blocks for Compressors (AHRI 540), Heat Exchangers (LMTD, ε-NTU), Valves, Pumps, and Fans.
- 🔄 Multi-Circuit Support: Model complex systems with multiple refrigerant or fluid loops.
- 🔥 Thermal Coupling: Sophisticated API for heat exchange between circuits.
- 🖥️ Visual UI: Interactive web interface for drag-and-drop system modeling.
- 🚀 Performant Solvers: Integrated Newton-Raphson solvers for system convergence.
Quick Start
Prerequisites
- Rust (latest stable)
- (Optional) Node.js (if working on the frontend directly)
Run the Demo
Explore a complete Water Chiller simulation:
cargo run --bin chiller
Launch the Visual UI
Design your system graphically:
cargo run -p entropyk-demo --bin ui-server
Then visit http://localhost:3030 in your browser.
Project Structure
crates/: Core library logic, physical types, and component implementations.demo/: Real-world application examples and system-level simulations.ui/: Web-based interface for visual modeling.docs/: Technical documentation and tutorials.
Documentation
- Tutorial: Step-by-step guide to using the library and UI.
- Examples: Detailed code snippets for each component.
- Full Index: Directory of all project documentation.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Description
Languages
Rust
86.1%
Jupyter Notebook
5.3%
HTML
4.4%
Python
3.1%
C
0.9%
Other
0.1%