---
title: "Analyze a forced-convection fin-array heatsink using established channel-flow correlations (developing laminar Nusselt, fin efficiency tanh(mH)/mH, parallel-plate friction). Computes base-to-air thermal resistance, pressure drop, base and fin-tip temperatures, fin efficiency, and the optimal fin spacing for the given airflow. Use for heatsink selection and first-pass optimization in electronics cooling. Runs instantly in-worker; mesh-level CFD via container backend is planned."
method: POST
path: "/api/heatsink_cfd"
tags: ["homelab"]
---

# Analyze a forced-convection fin-array heatsink using established channel-flow correlations (developing laminar Nusselt, fin efficiency tanh(mH)/mH, parallel-plate friction). Computes base-to-air thermal resistance, pressure drop, base and fin-tip temperatures, fin efficiency, and the optimal fin spacing for the given airflow. Use for heatsink selection and first-pass optimization in electronics cooling. Runs instantly in-worker; mesh-level CFD via container backend is planned.

`POST /api/heatsink_cfd`

## Request

- Base URL: `https://calc.engineer`
- URL: `https://calc.engineer/api/heatsink_cfd`
- Auth: none declared

## Request body

- object
  - `base_length_m` number, required: Heatsink base length in metres
  - `base_width_m` number, required: Heatsink base width in metres
  - `base_height_m` number, required: Base plate thickness in metres
  - `fin_count` number, required: Number of fins
  - `fin_height_m` number, required: Fin height in metres
  - `fin_thickness_m` number, required: Fin thickness in metres
  - `airflow_velocity_ms` number, required: Incoming airflow velocity in m/s
  - `heat_load_w` number, required: Total heat load applied to base in watts
  - `ambient_temp_c` number: Ambient air temperature in Celsius
  - `mesh_density` 'coarse' | 'medium' | 'fine': Mesh density

## Response `200`

Computed result for heatsink_cfd

- object
  - `result` object, required
    - `thermal_resistance_cw` number, required: Thermal resistance from base to air (°C/W)
    - `pressure_drop_pa` number, required: Pressure drop across the heatsink (Pa)
    - `max_base_temp_c` number, required: Maximum base temperature (°C)
    - `avg_base_temp_c` number, required: Average base temperature (°C)
    - `fin_tip_temp_c` number, required: Average fin tip temperature (°C)
    - `optimal_fin_spacing_m` number, required: Suggested optimal fin spacing for this airflow (m)
    - `fin_efficiency` number, required: Fin efficiency (0-1)
    - `mesh_cells` number, required: Mesh cell count
    - `runtime_ms` number, required: Simulation time in ms
    - `warnings` string[], required: Solver warnings
  - `tool` string, required
  - `version` string, required
  - `computed_at` string, date-time, required
  - `chain` object, required
    - `feeds` unknown[]
      - unknown
    - `accepts_from` unknown[]
      - unknown

## Other responses

- `400`: Validation error or invalid JSON
- `404`: Tool not found

---

[API](https://skmtc.dev/calc/apis/calc-engineer-api.md) · [All operations](https://skmtc.dev/calc/apis/calc-engineer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calc/apis/calc-engineer-api/revisions/8830480ec488?raw)
