# Pump

Config type: `"Pump"`  
Source: `crates/components/src/pump.rs`

---

## EN

### Purpose & model

Liquid pump with **head/power curves** vs volume flow and speed. Typestate connect pattern like Fan.

```
ΔP = ρ · g · H(Q, N)
Ẇ  = f_power(Q, N)
```

### Residuals & `n_equations()`

Head residual + energy/power residual as implemented; see source `n_equations()`.

### Ports

`inlet` / `outlet` on liquid (brine/water) branch.

### DoF warning

Do **not** impose `m_flow_kg_s` on a BrineSource **and** a pump curve on the same branch without freeing one — over-constrained loop.

### Calibration

Curve scale factors when exposed (default 1.0).

### JSON (main)

| Key | Meaning | Default |
|-----|---------|---------|
| curves / preset | H–Q map | required |
| speed | operating speed | – |

---

## FR

### But & modèle

**Pompe** liquide sur courbes H–Q.

### Attention DoF

Ne pas imposer ṁ Source **et** courbe pompe sur la même branche.

### Ports / JSON

Voir EN.
