Math & Numbers
Calcula el intercambiador por el método ε-NTU: C*=C_min/C_max (0–1), NTU=U·A/C_min, q_max=C_min·(T_h,in-T_c,in), ε=q_actual/q_max. Cuatro configuraciones: flujo en paralelo ε=[1-exp(-NTU(1+C*))]/(1+C*); contracorriente ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], si C*=1 se toma NTU/(1+NTU); tubo y coraza 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))]; flujo cruzado (ambos sin mezclar) ε=1-exp{(NTU^0,22/C*)·[exp(-C*·NTU^0,78)-1]}. Si C*=0 (cambio de fase, caldera/condensador) se toma ε=1-exp(-NTU). Opcionalmente, con T_h,in y T_c,in, se obtienen q=ε·q_max y las temperaturas de salida. Las temperaturas solo importan como diferencias: Δ°C=ΔK, Δ°F×5/9=ΔK.
Llama a esta herramienta desde tu código en tres lenguajes.
curl -X POST 'https://api.elysiatools.com/es/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}'Envía una petición POST con tus entradas en JSON. Los parámetros de tipo archivo requieren una subida previa.
POST https://api.elysiatools.com/es/api/tools/heat-exchanger-ntu| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| 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 | Sí | Hot-side heat-capacity rate C_h = ṁ_h·c_p,h in W/K. |
| coldCapacityRate | number | Sí | Cold-side heat-capacity rate C_c = ṁ_c·c_p,c in W/K. |
| overallU | number | Sí | Overall heat transfer coefficient U in W/(m²·K). |
| area |
Añade esta herramienta a tu servidor Model Context Protocol para que los agentes de IA puedan listarla y llamarla.
Añade este bloque a la configuración de tu cliente MCP:
{
"mcpServers": {
"elysiatools-heat-exchanger-ntu": {
"name": "heat-exchanger-ntu",
"description": "Calcula el intercambiador por el método ε-NTU: C*=C_min/C_max (0–1), NTU=U·A/C_min, q_max=C_min·(T_h,in-T_c,in), ε=q_actual/q_max. Cuatro configuraciones: flujo en paralelo ε=[1-exp(-NTU(1+C*))]/(1+C*); contracorriente ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], si C*=1 se toma NTU/(1+NTU); tubo y coraza 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))]; flujo cruzado (ambos sin mezclar) ε=1-exp{(NTU^0,22/C*)·[exp(-C*·NTU^0,78)-1]}. Si C*=0 (cambio de fase, caldera/condensador) se toma ε=1-exp(-NTU). Opcionalmente, con T_h,in y T_c,in, se obtienen q=ε·q_max y las temperaturas de salida. Las temperaturas solo importan como diferencias: Δ°C=ΔK, Δ°F×5/9=ΔK.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=heat-exchanger-ntu",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Tras conectar al endpoint SSE, lista las herramientas expuestas:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoca la herramienta por su id; los argumentos se construyen a partir de sus parámetros:
{
"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
}
}
}| number |
| Sí |
| 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 | — |
Resultado JSON
{
"key": {...},
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}¿Dudas o problemas? Contacta con [email protected]