Math & Numbers
Calcule l'échangeur par la méthode ε-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. Quatre configurations : co-courant ε=[1-exp(-NTU(1+C*))]/(1+C*) ; contre-courant ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], si C*=1 on prend NTU/(1+NTU) ; tubes et calandre 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))] ; flux croisé (les deux non mélangés) ε=1-exp{(NTU^0,22/C*)·[exp(-C*·NTU^0,78)-1]}. Si C*=0 (changement de phase, chaudière/condenseur) on prend ε=1-exp(-NTU). Avec T_h,in et T_c,in optionnels, on déduit q=ε·q_max et les températures de sortie. Les températures ne servent que comme différences : Δ°C=ΔK, Δ°F×5/9=ΔK.
Appelez cet outil depuis votre code en trois langages.
curl -X POST 'https://api.elysiatools.com/fr/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}'Envoyez une requête POST avec vos entrées en JSON. Les paramètres de type fichier nécessitent un upload préalable.
POST https://api.elysiatools.com/fr/api/tools/heat-exchanger-ntu| Nom | Type | Requis | Description |
|---|---|---|---|
| exchangerType | select | Non | Exchanger arrangement: Parallel Flow, Counter Flow, Shell-and-Tube (1 shell pass / 2 tube passes), or Crossflow (single pass, both fluids unmixed). |
| hotCapacityRate | number | Oui | Hot-side heat-capacity rate C_h = ṁ_h·c_p,h in W/K. |
| coldCapacityRate | number | Oui | Cold-side heat-capacity rate C_c = ṁ_c·c_p,c in W/K. |
| overallU | number | Oui | Overall heat transfer coefficient U in W/(m²·K). |
| area |
Ajoutez cet outil à votre serveur Model Context Protocol pour que les agents IA puissent le lister et l'appeler.
Ajoutez ce bloc à la configuration de votre client MCP :
{
"mcpServers": {
"elysiatools-heat-exchanger-ntu": {
"name": "heat-exchanger-ntu",
"description": "Calcule l'échangeur par la méthode ε-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. Quatre configurations : co-courant ε=[1-exp(-NTU(1+C*))]/(1+C*) ; contre-courant ε=[1-exp(-NTU(1-C*))]/[1-C*·exp(-NTU(1-C*))], si C*=1 on prend NTU/(1+NTU) ; tubes et calandre 1-2 ε=2/[1+C*+√(1+C*²)·(1+exp(-NTU√(1+C*²)))/(1-exp(-NTU√(1+C*²)))] ; flux croisé (les deux non mélangés) ε=1-exp{(NTU^0,22/C*)·[exp(-C*·NTU^0,78)-1]}. Si C*=0 (changement de phase, chaudière/condenseur) on prend ε=1-exp(-NTU). Avec T_h,in et T_c,in optionnels, on déduit q=ε·q_max et les températures de sortie. Les températures ne servent que comme différences : Δ°C=ΔK, Δ°F×5/9=ΔK.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=heat-exchanger-ntu",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}Après connexion au point d'accès SSE, listez les outils exposés :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Appelez l'outil par son id ; les arguments sont construits à partir de ses paramètres :
{
"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 |
| Oui |
| Heat transfer area A in m². |
| hotInletTemp | number | Non | 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 | Non | 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 | Non | Unit of the inlet temperatures. Only differences matter: Δ°C = ΔK and Δ°F ×5/9 = ΔK. |
| decimalPlaces | number | Non | — |
Résultat JSON
{
"key": {...},
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}Des questions ou un problème ? Contactez [email protected]