Files
Entropyk/crates/entropyk
Sepehr ab5dc7e568 chore: remove BMAD framework files and IDE configuration artifacts
Clean up unused BMAD workflow, agent, and command files across all IDE
configurations (.agent, .clinerules, .cursor, .gemini, .github, .kilocode,
.opencode) and internal module files (_bmad/bmb, _bmad/bmm).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-25 15:01:09 +02:00
..

Entropyk

A thermodynamic cycle simulation library with type-safe APIs and idiomatic Rust design.

Features

  • Type-safe physical quantities: Never mix up units with NewType wrappers for Pressure, Temperature, Enthalpy, and MassFlow
  • Component-based modeling: Build complex systems from reusable blocks (Compressor, Condenser, Evaporator, etc.)
  • Multiple solver strategies: Newton-Raphson with automatic fallback to Sequential Substitution
  • Multi-fluid support: CoolProp integration, tabular interpolation, incompressible fluids
  • Zero-panic policy: All errors return Result<T, ThermoError>

Quick Start

Add to your Cargo.toml:

[dependencies]
entropyk = "0.1"

Example

use entropyk::{
    System, Solver, NewtonConfig,
    Compressor, Condenser, Evaporator, ExpansionValve,
    Ahri540Coefficients, ThermalConductance,
};

// Build a simple refrigeration cycle
let mut system = System::new();

// Define component parameters (see API docs for details)
let coeffs = Ahri540Coefficients { /* ... */ };
let ua = ThermalConductance::new(5000.0);

// Add components
let comp = system.add_component(Box::new(Compressor::new(coeffs)));
let cond = system.add_component(Box::new(Condenser::new(ua)));
let evap = system.add_component(Box::new(Evaporator::new(ua)));
let valve = system.add_component(Box::new(ExpansionValve::new()));

// Connect components
system.add_edge(comp, cond)?;
system.add_edge(cond, valve)?;
system.add_edge(valve, evap)?;
system.add_edge(evap, comp)?;

// Finalize and solve
system.finalize()?;

let solver = NewtonConfig::default();
let result = solver.solve(&system)?;

Documentation

See the API documentation for full details.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.