Files
Entropyk/crates/cli
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 CLI

Command-line interface for batch thermodynamic simulations.

Installation

cargo build --release -p entropyk-cli

Usage

# Single simulation
./target/release/entropyk-cli run config.json -o result.json

# Batch processing
./target/release/entropyk-cli batch ./scenarios/ --parallel 4

# Validate configuration
./target/release/entropyk-cli validate config.json

# Help
./target/release/entropyk-cli --help

Configuration Format

Complete Chiller Example (R410A + Water)

{
  "name": "Chiller eau glacée R410A",
  "fluid": "R410A",
  
  "circuits": [
    {
      "id": 0,
      "components": [
        {
          "type": "Compressor",
          "name": "comp",
          "fluid": "R410A",
          "speed_rpm": 2900,
          "displacement_m3": 0.000030,
          "efficiency": 0.85,
          "m1": 0.85, "m2": 2.5,
          "m3": 500, "m4": 1500, "m5": -2.5, "m6": 1.8
        },
        {
          "type": "HeatExchanger",
          "name": "condenser",
          "ua": 5000,
          "hot_fluid": "R410A",
          "hot_t_inlet_c": 45,
          "hot_pressure_bar": 24,
          "hot_mass_flow_kg_s": 0.05,
          "cold_fluid": "Water",
          "cold_t_inlet_c": 30,
          "cold_pressure_bar": 1,
          "cold_mass_flow_kg_s": 0.4
        },
        {
          "type": "ExpansionValve",
          "name": "exv",
          "fluid": "R410A",
          "opening": 1.0
        },
        {
          "type": "Evaporator",
          "name": "evaporator",
          "ua": 6000,
          "t_sat_k": 275.15,
          "superheat_k": 5
        }
      ],
      "edges": [
        { "from": "comp:outlet", "to": "condenser:inlet" },
        { "from": "condenser:outlet", "to": "exv:inlet" },
        { "from": "exv:outlet", "to": "evaporator:inlet" },
        { "from": "evaporator:outlet", "to": "comp:inlet" }
      ]
    },
    {
      "id": 1,
      "components": [
        { "type": "Pump", "name": "pump" },
        { "type": "Placeholder", "name": "load", "n_equations": 0 }
      ],
      "edges": [
        { "from": "pump:outlet", "to": "load:inlet" },
        { "from": "load:outlet", "to": "pump:inlet" }
      ]
    }
  ],
  
  "thermal_couplings": [
    {
      "hot_circuit": 0,
      "cold_circuit": 1,
      "ua": 6000,
      "efficiency": 0.95
    }
  ],
  
  "solver": {
    "strategy": "fallback",
    "max_iterations": 100,
    "tolerance": 1e-6
  }
}

Component Types

Type Required Parameters Optional Parameters
Compressor fluid, speed_rpm, displacement_m3 efficiency, m1-m10 (AHRI 540)
HeatExchanger ua, hot_fluid, cold_fluid, hot_t_inlet_c, cold_t_inlet_c hot_pressure_bar, cold_pressure_bar, hot_mass_flow_kg_s, cold_mass_flow_kg_s
Condenser ua t_sat_k
CondenserCoil ua t_sat_k
Evaporator ua t_sat_k, superheat_k
EvaporatorCoil ua t_sat_k, superheat_k
ExpansionValve fluid opening
Pump - name
Placeholder name n_equations

Thermal Couplings

Thermal couplings define heat transfer between circuits:

{
  "hot_circuit": 0,
  "cold_circuit": 1,
  "ua": 5000,
  "efficiency": 0.95
}
  • hot_circuit: Circuit ID providing heat
  • cold_circuit: Circuit ID receiving heat
  • ua: Thermal conductance (W/K)
  • efficiency: Heat exchanger efficiency (0.0-1.0)

Solver Strategies

Strategy Description
newton Newton-Raphson solver
picard Sequential substitution (Picard iteration)
fallback Picard → Newton fallback (recommended)

Exit Codes

Code Meaning
0 Success
1 Simulation error
2 Configuration error
3 I/O error

Examples

See crates/cli/examples/ for complete configuration examples:

  • chiller_r410a_full.json - Water chiller with R410A
  • heat_pump_r410a.json - Air-to-water heat pump
  • simple_cycle.json - Simple heat exchanger cycle