Math & Numbers
Compute the effectiveness (ε) of a heat exchanger by the ε-NTU method. C*=C_min/C_max (0..1), NTU=U·A/C_min, q_max=C_min·(T_h,in-T_c,in), and ε=q_actual/q_max. Supports four arrangements: Parallel flow ε=[1-exp(-NTU(1+C*))]/(1+C*); Counter flow ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], or NTU/(1+NTU) when C*=1; Shell-and-tube 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))]; Crossflow (both unmixed) ε=1-exp{(NTU^0.22/C*)·[exp(-C*·NTU^0.78)-1]}. When C*=0 (phase change on one side, boiler/condenser) every arrangement gives ε=1-exp(-NTU). Optionally supply T_h,in and T_c,in to recover the actual heat-transfer rate q=ε·q_max and both outlet temperatures. Temperatures are used only as differences: Δ°C=ΔK and Δ°F×5/9=ΔK.
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/heat-exchanger-ntu' \
-H 'Content-Type: application/json' \
-d '{"exchangerType":"counter","hotCapacityRate":1000,"coldCapacityRate":1500,"overallU":500,"area":10,"hotInletTemp":0,"coldInletTemp":0,"tempUnit":"°C","decimalPlaces":4}'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/heat-exchanger-ntu| Name | Type | Required | Description |
|---|---|---|---|
| exchangerType | select | No | Exchanger arrangement: Parallel Flow, Counter Flow, Shell-and-Tube (1 shell pass / 2 tube passes), or Crossflow (single pass, both fluids unmixed). |
| hotCapacityRate | number | Yes | Hot-side heat-capacity rate C_h = ṁ_h·c_p,h in W/K. |
| coldCapacityRate | number | Yes | Cold-side heat-capacity rate C_c = ṁ_c·c_p,c in W/K. |
| overallU | number | Yes | Overall heat transfer coefficient U in W/(m²·K). |
| area | number |
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-heat-exchanger-ntu": {
"name": "heat-exchanger-ntu",
"description": "Compute the effectiveness (ε) of a heat exchanger by the ε-NTU method. C*=C_min/C_max (0..1), NTU=U·A/C_min, q_max=C_min·(T_h,in-T_c,in), and ε=q_actual/q_max. Supports four arrangements: Parallel flow ε=[1-exp(-NTU(1+C*))]/(1+C*); Counter flow ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], or NTU/(1+NTU) when C*=1; Shell-and-tube 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))]; Crossflow (both unmixed) ε=1-exp{(NTU^0.22/C*)·[exp(-C*·NTU^0.78)-1]}. When C*=0 (phase change on one side, boiler/condenser) every arrangement gives ε=1-exp(-NTU). Optionally supply T_h,in and T_c,in to recover the actual heat-transfer rate q=ε·q_max and both outlet temperatures. Temperatures are used only as differences: Δ°C=ΔK and Δ°F×5/9=ΔK.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=heat-exchanger-ntu",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "heat-exchanger-ntu",
"arguments": {
"exchangerType": "counter",
"hotCapacityRate": 1000,
"coldCapacityRate": 1500,
"overallU": 500,
"area": 10,
"hotInletTemp": 0,
"coldInletTemp": 0,
"tempUnit": "°C",
"decimalPlaces": 4
}
}
}| Yes |
| Heat transfer area A in m². |
| hotInletTemp | number | No | Hot-side inlet temperature T_h,in, in the selected Temperature Unit. Optional; when supplied together with T_c,in the actual heat-transfer rate and both outlet temperatures are returned. |
| coldInletTemp | number | No | Cold-side inlet temperature T_c,in, in the selected Temperature Unit. Optional; when supplied together with T_h,in the actual heat-transfer rate and both outlet temperatures are returned. |
| tempUnit | select | No | Unit of the inlet temperatures. Only differences matter: Δ°C = ΔK and Δ°F ×5/9 = ΔK. |
| decimalPlaces | number | No | — |
JSON result
{
"key": {...},
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}Questions or issues? Contact [email protected]