# Mixing Temperature Calculator

> Computes the equilibrium temperature reached when two or three bodies of known mass, specific heat and initial temperature exchange heat, from energy conservation Σ m·c·(T − T_final) = 0, and the heat that flows from the hotter to the cooler bodies.

- Calculator id: `mixing-temperature` · Category: Physics (`physics`) · Tool name: `calculate_mixing_temperature`
- Canonical page: https://tttkmbb.com/physics/mixing-temperature · This document: https://tttkmbb.com/physics/mixing-temperature.md · JSON definition: https://tttkmbb.com/physics/mixing-temperature.json

## Purpose

Computes the equilibrium temperature reached when two or three bodies of known mass, specific heat and initial temperature exchange heat, from energy conservation Σ m·c·(T − T_final) = 0, and the heat that flows from the hotter to the cooler bodies.

**Use when:** You mix hot and cold water, drop a heated metal into a liquid, or combine up to three substances and need the final common temperature or the heat exchanged (calorimetry without phase change).

**Do not use when:** A substance melts, boils or freezes during the exchange (latent heat is not included), the container or surroundings absorb significant heat, or you only need the heat for a given temperature change of one body (use specific-heat).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `mass_1_kg` | number | kg | required | Mass of the first body in kilograms (1 L of water ≈ 1 kg). (> 0) |
| `specific_heat_1_j_kg_k` | number | J/(kg·K) | optional, default 4186 | Specific heat capacity of body 1: water 4186, ice 2090, aluminium 897, iron 449, copper 385, ethanol 2440. (> 0, max 100000) |
| `temperature_1_c` | number | °C | required | Initial temperature of body 1 in °C. (min -273.15, max 5000) |
| `mass_2_kg` | number | kg | required | Mass of the second body in kilograms. (> 0) |
| `specific_heat_2_j_kg_k` | number | J/(kg·K) | optional, default 4186 | Specific heat capacity of body 2 (default: liquid water, 4186). (> 0, max 100000) |
| `temperature_2_c` | number | °C | required | Initial temperature of body 2 in °C. (min -273.15, max 5000) |
| `mass_3_kg` | number | kg | optional, default 0 | Mass of an optional third body in kilograms; leave at 0 for a two-body mixture. (min 0) |
| `specific_heat_3_j_kg_k` | number | J/(kg·K) | optional, default 4186 | Specific heat capacity of body 3 (default: liquid water, 4186). (> 0, max 100000) |
| `temperature_3_c` | number | °C | optional | Initial temperature of body 3 in °C; required when mass_3_kg is greater than 0. (min -273.15, max 5000) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `final_temperature_c` | number | °C | Common equilibrium temperature T_final = Σ m·c·T / Σ m·c. |
| `final_temperature_f` | number | °F | Equilibrium temperature in degrees Fahrenheit. |
| `final_temperature_k` | number | K | Equilibrium temperature in kelvin. |
| `heat_transferred_j` | number | J | Heat given up by the bodies hotter than T_final (equal to the heat absorbed by the cooler ones); for two bodies m1·c1·\|T1 − T_final\|. |
| `heat_transferred_kj` | number | kJ | Heat transferred in kilojoules. |
| `note` | string |  | Which bodies cool and which warm, and the assumptions (constant specific heats, no phase change, no losses). |

## Formula

`final_temperature_c = (m1·c1·T1 + m2·c2·T2 + m3·c3·T3) / (m1·c1 + m2·c2 + m3·c3); heat_transferred_j = Σ over bodies with T_i > T_final of m_i·c_i·(T_i − T_final) (= m1·c1·|T1 − T_final| for two bodies); °F = °C × 9/5 + 32; K = °C + 273.15`

Energy conservation in an ideal calorimeter: heat lost by the hotter bodies equals heat gained by the cooler ones, with constant specific heats, no phase change and no heat exchange with the container or surroundings.

## Data Sources

- Wikipedia – Calorimetry — https://en.wikipedia.org/wiki/Calorimetry (reference, retrieved 2026-09-24)
- Wikipedia – Specific heat capacity — https://en.wikipedia.org/wiki/Specific_heat_capacity (reference, retrieved 2026-09-24)
- HyperPhysics – Specific heat — http://hyperphysics.phy-astr.gsu.edu/hbase/thermo/spht.html (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/mixing-temperature?mass_1_kg=…&temperature_1_c=…&mass_2_kg=…&temperature_2_c=…`
- `POST https://tttkmbb.com/api/v1/calculate/mixing-temperature` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/mixing-temperature · OpenAPI operationId `calculate_mixing_temperature` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "mixing-temperature", "inputs": {…}}`

## Example

- 1 kg water at 80 °C + 2 kg water at 20 °C: inputs `{"mass_1_kg":1,"temperature_1_c":80,"mass_2_kg":2,"temperature_2_c":20}` → `{"final_temperature_c":40,"final_temperature_f":104,"final_temperature_k":313.15,"heat_transferred_j":167440,"heat_transferred_kj":167.44}`
- 0.5 kg copper (385 J/kg·K) at 100 °C into 1 kg water at 20 °C: inputs `{"mass_1_kg":0.5,"specific_heat_1_j_kg_k":385,"temperature_1_c":100,"mass_2_kg":1,"temperature_2_c":20}` → `{"final_temperature_c":23.52,"heat_transferred_j":14722.94,"heat_transferred_kj":14.7229}`

```
GET https://tttkmbb.com/api/v1/calculate/mixing-temperature?mass_1_kg=1&temperature_1_c=80&mass_2_kg=2&temperature_2_c=20
```

## Limitations

A substance melts, boils or freezes during the exchange (latent heat is not included), the container or surroundings absorb significant heat, or you only need the heat for a given temperature change of one body (use specific-heat). Energy conservation in an ideal calorimeter: heat lost by the hotter bodies equals heat gained by the cooler ones, with constant specific heats, no phase change and no heat exchange with the container or surroundings. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why is the final temperature of copper in water so close to the water temperature?**

Water's specific heat (4186 J/kg·K) is about 11 times copper's (385), so 1 kg of water has far more heat capacity than 0.5 kg of copper and its temperature barely moves.

**Can I mix ice and water with this calculator?**

Only if no ice melts. Melting takes 334 kJ/kg of latent heat that this calculator ignores, so for ice-water mixtures the real final temperature is lower than the result.

**Does the container matter?**

A real container absorbs some heat. Enter it as body 3 (mass × specific heat of the vessel, at the initial temperature of its contents) to include it.

## Related

- [Specific Heat Calculator](https://tttkmbb.com/physics/specific-heat.md) — Heat for a given temperature change of a single body (Q = m·c·ΔT).
- [Temperature Converter](https://tttkmbb.com/conversion/temperature.md) — Convert temperatures between °C, °F and K.
- [Thermal Expansion Calculator](https://tttkmbb.com/physics/thermal-expansion.md) — Size change of a solid caused by the temperature change.
