{"id":5323,"date":"2026-10-11T22:23:43","date_gmt":"2026-10-12T05:23:43","guid":{"rendered":"https:\/\/www.26yc.com\/tools\/"},"modified":"2026-10-11T22:23:43","modified_gmt":"2026-10-12T05:23:43","slug":"tools","status":"publish","type":"page","link":"https:\/\/www.26yc.com\/de\/tools\/","title":{"rendered":"Tools &amp; Calculators"},"content":{"rendered":"<div class=\"yc-tools\">\n<style>\n  .yc-tools{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:#e6edf5;line-height:1.55;padding:24px 0}\n  .yc-tools h1{font-size:24px;margin:0 0 4px}\n  .yc-tools .sub{color:#9fb2c6;font-size:14px;margin-bottom:18px}\n  .yc-tools .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}\n  .yc-tools .tab{background:#15212f;border:1px solid #26394d;color:#9fb2c6;padding:9px 14px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}\n  .yc-tools .tab.active{background:#2f9be0;border-color:#2f9be0;color:#04121f}\n  .yc-tools .card{background:#15212f;border:1px solid #26394d;border-radius:12px;padding:20px;display:none}\n  .yc-tools .card.active{display:block}\n  .yc-tools .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n  @media(max-width:620px){.yc-tools .grid{grid-template-columns:1fr}}\n  .yc-tools label{display:block;font-size:13px;color:#9fb2c6;margin-bottom:5px}\n  .yc-tools input,.yc-tools select{width:100%;background:#1b2c3e;border:1px solid #26394d;color:#e6edf5;padding:9px 10px;border-radius:7px;font-size:14px}\n  .yc-tools input:focus,.yc-tools select:focus{outline:none;border-color:#2f9be0}\n  .yc-tools .btn{margin-top:16px;background:#36c2a8;color:#042018;border:none;padding:11px 18px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer}\n  .yc-tools .btn:hover{filter:brightness(1.08)}\n  .yc-tools .res{margin-top:16px;background:#1b2c3e;border:1px dashed #26394d;border-radius:9px;padding:14px;font-size:14px;display:none}\n  .yc-tools .res.show{display:block}\n  .yc-tools .res .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #26394d}\n  .yc-tools .res .row:last-child{border-bottom:none}\n  .yc-tools .res b{color:#2f9be0}\n  .yc-tools .note{font-size:12px;color:#9fb2c6;margin-top:12px}\n  .yc-tools .formula{font-size:12px;color:#9fb2c6;background:#0c1620;border:1px solid #26394d;border-radius:7px;padding:8px 10px;margin-top:10px;font-family:ui-monospace,Menlo,Consolas,monospace}\n  .yc-tools .quiz-q{margin:14px 0}\n  .yc-tools .quiz-opt{display:block;background:#1b2c3e;border:1px solid #26394d;border-radius:8px;padding:10px 12px;margin:6px 0;cursor:pointer}\n  .yc-tools .quiz-opt:hover{border-color:#2f9be0}\n  .yc-tools .rec{margin-top:14px;background:#0c1620;border:1px solid #2f9be0;border-radius:9px;padding:14px;display:none}\n  .yc-tools .rec.show{display:block}\n  .yc-tools .rec h3{margin:0 0 6px;color:#2f9be0}\n  .yc-tools .tag{display:inline-block;background:#1b2c3e;border:1px solid #26394d;border-radius:20px;padding:3px 10px;font-size:12px;color:#9fb2c6;margin:3px 4px 0 0}\n  .yc-tools a{color:#2f9be0}\n<\/style>\n<div class=\"wrap\">\n  <h1>Heat Recovery Tools &amp; Calculators<\/h1>\n  <div class=\"sub\">Practical calculators for HVAC engineers, specifiers and buyers of air-to-air heat exchangers. All calculations run in your browser, no data leaves the page.<\/div>\n  <div class=\"tabs\">\n    <div class=\"tab active\" data-t=\"1\">Sizing &amp; Effectiveness<\/div>\n    <div class=\"tab\" data-t=\"2\">Energy &amp; Cost Savings<\/div>\n    <div class=\"tab\" data-t=\"3\">Unit Converter<\/div>\n    <div class=\"tab\" data-t=\"4\">Which Type?<\/div>\n  <\/div>\n  <div class=\"card active\" id=\"c1\">\n    <div class=\"grid\">\n      <div><label>Supply airflow (outdoor to indoor) - m3\/h<\/label><input id=\"s1_flow\" type=\"number\" value=\"2000\" min=\"1\"><\/div>\n      <div><label>Outdoor (supply inlet) temp - C<\/label><input id=\"s1_to\" type=\"number\" value=\"-5\"><\/div>\n      <div><label>Indoor return (exhaust inlet) temp - C<\/label><input id=\"s1_ti\" type=\"number\" value=\"22\"><\/div>\n      <div><label>Achieved supply outlet temp - C<\/label><input id=\"s1_to2\" type=\"number\" value=\"14\"><\/div>\n    <\/div>\n    <button class=\"btn\" onclick=\"calcSizing()\">Calculate<\/button>\n    <div class=\"formula\">Sensible effectiveness es = (T_supply_out - T_outdoor) \/ (T_indoor - T_outdoor)  |  Recovered power Q = r*V*cp*dT  (r=1.2 kg\/m3, cp=1.006 kJ\/kg*K)<\/div>\n    <div class=\"res\" id=\"r1\">\n      <div class=\"row\"><span>Sensible effectiveness<\/span><b id=\"r1_e\">-<\/b><\/div>\n      <div class=\"row\"><span>Temperature rise on supply<\/span><b id=\"r1_dt\">-<\/b><\/div>\n      <div class=\"row\"><span>Recovered heating power<\/span><b id=\"r1_q\">-<\/b><\/div>\n      <div class=\"row\"><span>Annual energy (4000 h\/yr)<\/span><b id=\"r1_ea\">-<\/b><\/div>\n    <\/div>\n    <div class=\"note\">Balanced-flow assumption: supply and exhaust airflow are equal. For unbalanced flows use the lower airflow for both sides. Enthalpy (total) recovery is only possible with a rotary wheel or enthalpy plate, sensible plate\/heat-pipe cores transfer no moisture.<\/div>\n  <\/div>\n  <div class=\"card\" id=\"c2\">\n    <div class=\"grid\">\n      <div><label>Airflow - m3\/h<\/label><input id=\"s2_flow\" type=\"number\" value=\"3000\" min=\"1\"><\/div>\n      <div><label>Outdoor temp - C<\/label><input id=\"s2_to\" type=\"number\" value=\"-8\"><\/div>\n      <div><label>Indoor return temp - C<\/label><input id=\"s2_ti\" type=\"number\" value=\"21\"><\/div>\n      <div><label>Recovery effectiveness - %<\/label><input id=\"s2_eff\" type=\"number\" value=\"75\" min=\"1\" max=\"95\"><\/div>\n      <div><label>Operating hours \/ year<\/label><input id=\"s2_h\" type=\"number\" value=\"4000\" min=\"1\"><\/div>\n      <div><label>Electricity price - $\/kWh<\/label><input id=\"s2_p\" type=\"number\" value=\"0.15\" step=\"0.01\"><\/div>\n      <div><label>Grid CO2 factor - kg\/kWh<\/label><input id=\"s2_c\" type=\"number\" value=\"0.45\" step=\"0.01\"><\/div>\n      <div><label>Est. core + install cost - $ (opt.)<\/label><input id=\"s2_cap\" type=\"number\" value=\"0\" min=\"0\"><\/div>\n    <\/div>\n    <button class=\"btn\" onclick=\"calcSavings()\">Calculate<\/button>\n    <div class=\"res\" id=\"r2\">\n      <div class=\"row\"><span>Recovered power (avg)<\/span><b id=\"r2_q\">-<\/b><\/div>\n      <div class=\"row\"><span>Annual energy recovered<\/span><b id=\"r2_ea\">-<\/b><\/div>\n      <div class=\"row\"><span>Annual cost saving<\/span><b id=\"r2_cost\">-<\/b><\/div>\n      <div class=\"row\"><span>CO2 avoided \/ year<\/span><b id=\"r2_co2\">-<\/b><\/div>\n      <div class=\"row\"><span>Simple payback<\/span><b id=\"r2_pb\">-<\/b><\/div>\n    <\/div>\n    <div class=\"note\">Averages the recovered power across the heating season, real savings depend on your climate profile. Replace the price and CO2 factor with your local utility values.<\/div>\n  <\/div>\n  <div class=\"card\" id=\"c3\">\n    <div class=\"grid\">\n      <div><label>CFM to m3\/h<\/label><input id=\"u_cfm\" type=\"number\" value=\"1000\" oninput=\"cv('cfm')\"><div class=\"note\" id=\"u_cfm_o\">-<\/div><\/div>\n      <div><label>m3\/h to CFM<\/label><input id=\"u_m3\" type=\"number\" value=\"1700\" oninput=\"cv('m3')\"><div class=\"note\" id=\"u_m3_o\">-<\/div><\/div>\n      <div><label>F to C<\/label><input id=\"u_f\" type=\"number\" value=\"32\" oninput=\"cv('f')\"><div class=\"note\" id=\"u_f_o\">-<\/div><\/div>\n      <div><label>C to F<\/label><input id=\"u_c\" type=\"number\" value=\"0\" oninput=\"cv('c')\"><div class=\"note\" id=\"u_c_o\">-<\/div><\/div>\n      <div><label>kW to BTU\/h<\/label><input id=\"u_kw\" type=\"number\" value=\"10\" oninput=\"cv('kw')\"><div class=\"note\" id=\"u_kw_o\">-<\/div><\/div>\n      <div><label>Pa to in. w.g.<\/label><input id=\"u_pa\" type=\"number\" value=\"250\" oninput=\"cv('pa')\"><div class=\"note\" id=\"u_pa_o\">-<\/div><\/div>\n    <\/div>\n    <div class=\"formula\">1 CFM = 1.699 m3\/h, C = (F-32)*5\/9, 1 kW = 3412 BTU\/h, 1 Pa = 0.004014 in. w.g.<\/div>\n  <\/div>\n  <div class=\"card\" id=\"c4\">\n    <div class=\"quiz-q\"><label>1. Do you need moisture (latent) recovery?<\/label>\n      <div class=\"quiz-opt\" onclick=\"qset('moist',true,this)\">Yes, humidity control matters (pool, lab, humid climate)<\/div>\n      <div class=\"quiz-opt\" onclick=\"qset('moist',false,this)\">No, sensible (temperature) recovery is enough<\/div><\/div>\n    <div class=\"quiz-q\"><label>2. Are the two air streams risk-separated? (e.g. exhaust contains fumes, pathogens, odors)<\/label>\n      <div class=\"quiz-opt\" onclick=\"qset('sep',true,this)\">Yes, zero cross-contamination is required<\/div>\n      <div class=\"quiz-opt\" onclick=\"qset('sep',false,this)\">No, streams may share the same building air<\/div><\/div>\n    <div class=\"quiz-q\"><label>3. Priority?<\/label>\n      <div class=\"quiz-opt\" onclick=\"qset('prio',1,this)\">Max efficiency (up to 80-85%)<\/div>\n      <div class=\"quiz-opt\" onclick=\"qset('prio',2,this)\">Compact footprint \/ easy retrofit<\/div>\n      <div class=\"quiz-opt\" onclick=\"qset('prio',3,this)\">Lowest cost<\/div><\/div>\n    <button class=\"btn\" onclick=\"quiz()\">Get recommendation<\/button>\n    <div class=\"rec\" id=\"r4\"><h3 id=\"r4_t\">-<\/h3><div id=\"r4_b\">-<\/div><div id=\"r4_tags\" style=\"margin-top:8px\"><\/div><\/div>\n  <\/div>\n  <div class=\"note\" style=\"margin-top:20px\">These tools give first-order estimates for screening and education. Final selection must follow the applicable standard (EN 308 \/ AHRI 1060) and your project airflow, pressure budget and local code. <a href=\"\/heat-recovery\/\">Read the heat-recovery guide<\/a><\/div>\n<\/div>\n<script>\n  document.querySelectorAll('.yc-tools .tab').forEach(function(t){\n    t.addEventListener('click',function(){\n      document.querySelectorAll('.yc-tools .tab').forEach(function(x){x.classList.remove('active')});\n      document.querySelectorAll('.yc-tools .card').forEach(function(x){x.classList.remove('active')});\n      t.classList.add('active');\n      document.getElementById('c'+t.dataset.t).classList.add('active');\n    });\n  });\n  function num(id){var v=parseFloat(document.getElementById(id).value);return isNaN(v)?0:v;}\n  function fmt(n,d){if(!isFinite(n))return '-';return n.toLocaleString(undefined,{maximumFractionDigits:d===undefined?1:d});}\n  function calcSizing(){\n    var flow=num('s1_flow'), to=num('s1_to'), ti=num('s1_ti'), to2=num('s1_to2');\n    var denom=(ti-to);\n    var eff = denom!==0 ? (to2-to)\/denom : 0;\n    var dt = to2-to;\n    var V = flow\/3600;\n    var Q = 1.2 * V * 1.006 * dt;\n    var Ea = Q*4000;\n    document.getElementById('r1_e').textContent = (eff*100).toFixed(1)+' %';\n    document.getElementById('r1_dt').textContent = dt.toFixed(1)+' C';\n    document.getElementById('r1_q').textContent = Q.toFixed(2)+' kW';\n    document.getElementById('r1_ea').textContent = fmt(Ea,0)+' kWh\/yr';\n    document.getElementById('r1').classList.add('show');\n  }\n  function calcSavings(){\n    var flow=num('s2_flow'), to=num('s2_to'), ti=num('s2_ti'), eff=num('s2_eff')\/100;\n    var h=num('s2_h'), p=num('s2_p'), co2=num('s2_c'), cap=num('s2_cap');\n    var dt = (ti-to)*eff;\n    var V = flow\/3600;\n    var Q = 1.2 * V * 1.006 * dt;\n    var Ea = Q*h;\n    var cost = Ea*p;\n    var co2a = Ea*co2;\n    var pb = (cap>0 && cost>0) ? cap\/cost : 0;\n    document.getElementById('r2_q').textContent = Q.toFixed(2)+' kW';\n    document.getElementById('r2_ea').textContent = fmt(Ea,0)+' kWh\/yr';\n    document.getElementById('r2_cost').textContent = '$'+fmt(cost,0)+'\/yr';\n    document.getElementById('r2_co2').textContent = fmt(co2a,0)+' kg\/yr';\n    document.getElementById('r2_pb').textContent = (cap>0? (pb>0? pb.toFixed(1)+' yr' : '-') : 'enter cost');\n    document.getElementById('r2').classList.add('show');\n  }\n  function cv(kind){\n    if(kind==='cfm'){var v=num('u_cfm');document.getElementById('u_cfm_o').textContent=fmt(v*1.699,0)+' m3\/h';}\n    if(kind==='m3'){var v=num('u_m3');document.getElementById('u_m3_o').textContent=fmt(v\/1.699,0)+' CFM';}\n    if(kind==='f'){var v=num('u_f');document.getElementById('u_f_o').textContent=fmt((v-32)*5\/9,1)+' C';}\n    if(kind==='c'){var v=num('u_c');document.getElementById('u_c_o').textContent=fmt(v*9\/5+32,1)+' F';}\n    if(kind==='kw'){var v=num('u_kw');document.getElementById('u_kw_o').textContent=fmt(v*3412,0)+' BTU\/h';}\n    if(kind==='pa'){var v=num('u_pa');document.getElementById('u_pa_o').textContent=fmt(v*0.004014,3)+' in. w.g.';}\n  }\n  cv('cfm');cv('m3');cv('f');cv('c');cv('kw');cv('pa');\n  var A={moist:null,sep:null,prio:null};\n  function qset(k,v,el){A[k]=v;var grp=el.parentNode;grp.querySelectorAll('.quiz-opt').forEach(function(o){o.style.borderColor='#26394d'});el.style.borderColor='#2f9be0';}\n  function quiz(){\n    if(A.moist===null||A.sep===null||!A.prio){alert('Please answer all three questions.');return;}\n    var t,b,tags=[];\n    if(A.sep===true){\n      if(A.moist===true){t='Enthalpy plate (polymer\/membrane) core';b='You need both moisture transfer and zero cross-contamination. An enthalpy plate core moves heat and humidity between separate airstreams with no mixing, the only sensible+latent option that also guarantees no leakage.';tags=['Sensible + Latent','No cross-contamination','Moderate efficiency ~55-70%'];}\n      else{t='Sensible plate (aluminum) core';b='Separate streams, temperature-only recovery. A counter-flow aluminum plate core is the cheapest, most robust choice with no moving parts and guaranteed air isolation. Best for exhaust with fumes\/odors\/pathogens.';tags=['Sensible only','No cross-contamination','Efficiency ~60-75%','Lowest cost'];}\n    } else {\n      if(A.moist===true){t='Enthalpy rotary wheel';b='Shared building air + moisture recovery, an enthalpy wheel gives the highest total-effectiveness (70-85%) and transfers latent load. Acceptable because streams are not risk-separated.';tags=['Sensible + Latent','Highest efficiency','Moving part (motor)'];}\n      else if(A.prio===1){t='Rotary (sensible) wheel';b='No contamination risk + max efficiency. A sensible rotary wheel reaches 80-85% effectiveness, ideal when energy recovery is the top priority.';tags=['Sensible only','Efficiency 80-85%','Moving part (motor)'];}\n      else if(A.prio===2){t='Heat-pipe core';b='Compact, passive, no moving parts, easy retrofit into tight spaces. Efficiency is lower (~50-65%) but it needs no motor and tolerates freeze better.';tags=['Sensible only','Compact','No moving parts','Freeze-tolerant'];}\n      else{t='Sensible plate (aluminum) core';b='Cost-first, no contamination risk. A counter-flow plate core is the most economical sensible recovery with no moving parts.';tags=['Sensible only','Lowest cost','No moving parts'];}\n    }\n    document.getElementById('r4_t').textContent=t;\n    document.getElementById('r4_b').textContent=b;\n    var ht='';tags.forEach(function(x){ht=ht+'<span class=\"tag\">'+x+'<\/span>';});\n    document.getElementById('r4_tags').innerHTML=ht;\n    document.getElementById('r4').classList.add('show');\n  }\n<\/script>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5323","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/pages\/5323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/comments?post=5323"}],"version-history":[{"count":0,"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/pages\/5323\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.26yc.com\/de\/wp-json\/wp\/v2\/media?parent=5323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}