{"id":11357,"date":"2026-09-25T19:27:50","date_gmt":"2026-09-25T15:27:50","guid":{"rendered":"https:\/\/iesco.ge\/compressed-air-pipe-sizing-calculator\/"},"modified":"2026-09-25T19:49:17","modified_gmt":"2026-09-25T15:49:17","slug":"compressed-air-pipe-sizing-calculator","status":"publish","type":"page","link":"https:\/\/iesco.ge\/en\/compressed-air-pipe-sizing-calculator\/","title":{"rendered":"Compressed Air Pipe Sizing Calculator"},"content":{"rendered":"<style>h1.entry-title,.et_pb_post_content h1:first-child{text-align:center}<\/style>\n<style>\n.ipc{--g:#2e4a3d;--o:#e8a33d;--d:#162d31;--ln:#dfe7e4;--muted:#6b7f79;\n  font-family:inherit;color:var(--d);max-width:1080px;margin:0 auto}\n.ipc *{box-sizing:border-box}\n.ipc-head{text-align:center;margin:0 0 22px}\n.ipc-head h2{font-size:26px;line-height:1.25;margin:0 0 6px;color:var(--d)}\n.ipc-head p{margin:0;color:var(--muted);font-size:15px}\n.ipc-grid{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}\n.ipc-card{background:#fff;border:1px solid var(--ln);border-radius:14px;padding:20px 20px 22px;\n  box-shadow:0 2px 14px rgba(22,45,49,.06)}\n.ipc-in{flex:1 1 330px;min-width:300px}\n.ipc-out{flex:1 1 430px;min-width:300px}\n.ipc-lab{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;\n  color:var(--muted);font-weight:700;margin:0 0 5px}\n.ipc-f{margin:0 0 15px}\n.ipc-f input,.ipc-f select{width:100%;height:42px;border:1px solid #cfdddf;border-radius:8px;\n  background:#fff;color:var(--d);padding:8px 11px;font-size:15px;line-height:22px;outline:none}\n.ipc-f input:focus,.ipc-f select:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(46,74,61,.10)}\n.ipc-row{display:flex;gap:12px}\n.ipc-row>*{flex:1}\n.ipc-hint{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.45}\n.ipc-btns{display:flex;gap:10px;margin-top:4px}\n.ipc-btn{flex:1;height:46px;border:0;border-radius:9px;background:var(--g);color:#fff;\n  font-size:15px;font-weight:700;cursor:pointer;transition:.15s}\n.ipc-btn:hover{background:#243b31}\n.ipc-btn.alt{background:#fff;color:var(--g);border:1px solid #cfdddf;flex:0 0 96px}\n.ipc-btn.alt:hover{background:#f3f7f5}\n.ipc-empty{text-align:center;color:var(--muted);padding:46px 14px;font-size:15px;line-height:1.6}\n.ipc-main{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;\n  border-bottom:1px solid var(--ln);padding-bottom:16px;margin-bottom:16px}\n.ipc-size{font-size:40px;font-weight:800;color:var(--g);line-height:1}\n.ipc-tag{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;\n  padding:5px 10px;border-radius:999px;background:rgba(46,74,61,.10);color:var(--g)}\n.ipc-tag.warn{background:rgba(232,163,61,.18);color:#8a5c05}\n.ipc-kpis{display:flex;gap:10px;flex-wrap:wrap}\n.ipc-kpi{flex:1 1 130px;background:#f7faf9;border:1px solid var(--ln);border-radius:11px;padding:12px 13px}\n.ipc-kpi b{display:block;font-size:24px;font-weight:800;line-height:1.15;color:var(--d)}\n.ipc-kpi b.ok{color:var(--g)}\n.ipc-kpi b.hi{color:#b8791a}\n.ipc-kpi b.bad{color:#a8342a}\n.ipc-kpi span{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;\n  color:var(--muted);font-weight:700;margin-top:4px}\n.ipc-note{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}\n.ipc-note.flag{color:#8a5c05;background:rgba(232,163,61,.12);border-radius:9px;padding:10px 12px}\n.ipc-alu{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:var(--g);\n  background:rgba(46,74,61,.07);border-radius:9px;padding:11px 13px}\n.ipc-alu b{color:var(--d)}\n.ipc-chips-wrap{margin-top:18px;border-top:1px solid var(--ln);padding-top:15px}\n.ipc-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}\n.ipc-chip{min-width:62px;height:34px;padding:0 10px;border:1px solid #d7e4e7;border-radius:8px;\n  background:#fff;color:var(--d);font-size:13px;font-weight:800;cursor:pointer;transition:.12s}\n.ipc-chip:hover{border-color:var(--g)}\n.ipc-chip.sel{background:var(--g);border-color:var(--g);color:#fff}\n.ipc-chip.rec{border-color:var(--o);box-shadow:inset 0 -3px 0 var(--o)}\n.ipc-err{display:none;margin:0 0 14px;background:rgba(168,52,42,.09);color:#a8342a;\n  border-radius:9px;padding:11px 13px;font-size:14px;line-height:1.5}\n.ipc-cta{background:var(--d);border-radius:14px;padding:22px;margin-top:20px;text-align:center;color:#fff}\n.ipc-cta p{margin:0 0 14px;font-size:16px;line-height:1.55;color:#dbe6e3}\n.ipc-tel{display:inline-block;margin:5px 6px 0;padding:12px 22px;border-radius:9px;\n  background:var(--o);color:#162d31 !important;font-weight:800;font-size:15px;text-decoration:none !important}\n.ipc-tel.sec{background:#fff;color:var(--d) !important}\n.ipc-cost{margin-top:18px}\n.ipc-cost h3{margin:0 0 4px;font-size:18px;color:var(--d)}\n.ipc-cost .sub{margin:0 0 14px;color:var(--muted);font-size:13.5px}\n.ipc-labor{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:10px 14px;border:1px dashed var(--ln);border-radius:10px;font-size:13.5px;color:#3d5450}\n.ipc-labor label{display:inline-flex;align-items:center;gap:6px}\n.ipc-labor input{width:64px;padding:5px 7px;border:1px solid var(--ln);border-radius:7px;font-size:14px;text-align:right}\n.ipc-cols{display:flex;gap:14px;flex-wrap:wrap}\n.ipc-col{flex:1 1 300px;border:1px solid var(--ln);border-radius:12px;padding:14px 16px;background:#fbfcfb}\n.ipc-col.win{border-color:var(--o);box-shadow:inset 0 3px 0 var(--o)}\n.ipc-col h4{margin:0 0 10px;font-size:15px;display:flex;justify-content:space-between;align-items:baseline}\n.ipc-col h4 small{font-weight:600;color:var(--muted);font-size:12px}\n.ipc-line{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:6px 0;border-top:1px dashed var(--ln)}\n.ipc-line span:first-child{color:#3d5450}\n.ipc-line.tot{border-top:2px solid var(--d);font-weight:800;font-size:16px;margin-top:4px}\n.ipc-bar{height:10px;border-radius:6px;background:#e9efec;margin:8px 0 2px;overflow:hidden}\n.ipc-bar i{display:block;height:100%;background:var(--g);border-radius:6px}\n.ipc-col.ppr .ipc-bar i{background:var(--o)}\n.ipc-verdict{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#f4f8f5;font-size:14px;line-height:1.55}\n.ipc-fn{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.5}\n@media print{.ipc-in .ipc-btns,.ipc-chips-wrap,.ipc-cta{display:none}}\n<\/style>\n<div class=\"ipc\" id=\"ipc\">\n<div class=\"ipc-head\">\n<h2>Pipe Sizing Calculator<\/h2>\n<p>Compressed air main diameter by pressure drop and air velocity<\/p>\n<\/div>\n<div class=\"ipc-grid\">\n<div class=\"ipc-card ipc-in\">\n<div class=\"ipc-f\"><label class=\"ipc-lab\" for=\"ipc-flow\">Flow rate<\/label><input id=\"ipc-flow\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"e.g. 8\"><\/p>\n<p class=\"ipc-hint\">m\u00b3\/min, compressor free air delivery (FAD)<\/p>\n<\/div>\n<div class=\"ipc-f\"><label class=\"ipc-lab\" for=\"ipc-press\">Working pressure<\/label><input id=\"ipc-press\" type=\"number\" min=\"0\" step=\"0.1\" placeholder=\"e.g. 7\"><\/p>\n<p class=\"ipc-hint\">bar, gauge<\/p>\n<\/div>\n<div class=\"ipc-f\"><label class=\"ipc-lab\" for=\"ipc-len\">Main length<\/label><input id=\"ipc-len\" type=\"number\" min=\"0\" step=\"1\" placeholder=\"e.g. 50\"><\/p>\n<p class=\"ipc-hint\">metres, from the compressor to the farthest consumer<\/p>\n<\/div>\n<div class=\"ipc-f\"><label class=\"ipc-lab\" for=\"ipc-mat\">Pipe type<\/label><select id=\"ipc-mat\"><option value=\"alu\" selected>Aluminium<\/option><option value=\"ppr\">Plastic water pipe (PP-R)<\/option><\/select><\/div>\n<p class=\"ipc-hint\" style=\"margin:-6px 0 15px\">Standard assumptions: fittings and valves +30%, allowable drop 7% of working pressure.<\/p>\n<div class=\"ipc-btns\"><button class=\"ipc-btn\" id=\"ipc-go\" type=\"button\">Calculate<\/button><button class=\"ipc-btn alt\" id=\"ipc-clr\" type=\"button\">Clear<\/button><\/div>\n<\/div>\n<div class=\"ipc-card ipc-out\">\n<div class=\"ipc-err\" id=\"ipc-err\"><\/div>\n<div id=\"ipc-empty\" class=\"ipc-empty\"> Enter flow, pressure and length,<br \/>then press &#8220;Calculate&#8221;. <\/div>\n<div id=\"ipc-res\" style=\"display:none\">\n<div class=\"ipc-main\"><span class=\"ipc-size\" id=\"ipc-size\">\u2014<\/span><span class=\"ipc-tag\" id=\"ipc-tag\">Recommended<\/span><\/div>\n<div class=\"ipc-kpis\">\n<div class=\"ipc-kpi\"><b id=\"ipc-vel\">\u2014<\/b><span>velocity, m\/s<\/span><\/div>\n<div class=\"ipc-kpi\"><b id=\"ipc-drop\">\u2014<\/b><span>drop, bar<\/span><\/div>\n<div class=\"ipc-kpi\"><b id=\"ipc-pct\">\u2014<\/b><span>drop, %<\/span><\/div>\n<\/div>\n<p class=\"ipc-note\" id=\"ipc-note\">\n<p class=\"ipc-alu\" id=\"ipc-alu\" style=\"display:none\">\n<div class=\"ipc-chips-wrap\"><span class=\"ipc-lab\">Compare other sizes<\/span><\/p>\n<div class=\"ipc-chips\" id=\"ipc-chips\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"ipc-card ipc-cost\" id=\"ipc-cost\" style=\"display:none\">\n<h3>Cost comparison for the same task<\/h3>\n<p class=\"sub\">Pipe + fittings + installation, VAT included. Aluminium at IESCO prices, PP-R at market retail prices (Modus, Firat PN20).<\/p>\n<div class=\"ipc-cols\">\n<div class=\"ipc-col alu\" id=\"ipc-c-alu\"><\/div>\n<div class=\"ipc-col ppr\" id=\"ipc-c-ppr\"><\/div>\n<\/div>\n<div class=\"ipc-verdict\" id=\"ipc-verdict\"><\/div>\n<p class=\"ipc-fn\">Assumptions: one elbow per 10 m + 4 elbows, one tee (branch) per 10 m + 1; aluminium bar 6 m, PP-R bar 4 m; a PP-R tee = 3 welds; installation is an estimate: aluminium 20 \u20be\/m, PP-R 15 \u20be\/m + 15 \u20be per welded joint. PP-R prices \u00d820\u201363 are retail (Modus, Firat PN20), from \u00d875 estimated (\u2248) and confirmed on request; aluminium tees \u00d825\u201340 are estimates.<\/p>\n<\/div>\n<div class=\"ipc-cta\">\n<p>We help with system design and installation.<br \/>Consultation:<\/p>\n<p><a class=\"ipc-tel\" href=\"tel:+995577112002\">577 11 20 02<\/a> <a class=\"ipc-tel sec\" href=\"tel:+995322060100\">032 206 01 00<\/a><\/div>\n<\/div>\n<p><script>\n(function () {\n  var root = document.getElementById('ipc');\n  if (!root || root.dataset.ready) { return; }\n  root.dataset.ready = '1';\n  var PIPES = {\n    alu: { name: 'Aluminium', list: [\n      { l: 20, id: 16 }, { l: 25, id: 21 }, { l: 32, id: 28 }, { l: 40, id: 36 },\n      { l: 50, id: 46 }, { l: 63, id: 58 }, { l: 80, id: 74 }, { l: 100, id: 93 },\n      { l: 125, id: 117 }, { l: 160, id: 150 }\n    ] },\n    ppr: { name: 'Plastic (PP-R)', list: [\n      { l: 20, id: 13.2 }, { l: 25, id: 16.6 }, { l: 32, id: 21.2 }, { l: 40, id: 26.6 },\n      { l: 50, id: 33.4 }, { l: 63, id: 42.0 }, { l: 75, id: 50.0 }, { l: 90, id: 60.0 },\n      { l: 110, id: 73.4 }, { l: 125, id: 83.4 }\n    ] }\n  };\n  var V_IDEAL = 6;\n  var V_MAIN = 10;    \n  var V_MAX = 15;     \n  var FIT = 0.30;     \n  var TGT = 0.07;     \n  var PP_JOINT = 2.8;\n  var PP_BEAD = 4;    \n  var KW_PER_BAR = 7;\n  var LAB = { alu: 20, ppr: 15, pt: 15 };\n  var PRICE = {\n    alu: { bar: 6, m: { 20: 18.9, 25: 24.8, 32: 30.4, 40: 42.2, 50: 60.4 },\n           elbow: { 20: 12.2, 25: 38.0, 32: 49.5, 40: 59.3, 50: 81.4 },\n           coup:  { 20: 10.7, 25: 29.2, 32: 42.5, 40: 52.8, 50: 71.7 },\n           tee:   { 20: 27, 25: 84, 32: 109, 40: 130, 50: 177 } },\n    ppr: { bar: 4, m: { 20: 2.45, 25: 3.45, 32: 5.95, 40: 9.95, 50: 15.9, 63: 24.9, 75: 38, 90: 55, 110: 80 },   \n           elbow: { 20: 0.35, 25: 0.55, 32: 1.0, 40: 1.5, 50: 2.9, 63: 5.9, 75: 9.9, 90: 15, 110: 24 },\n           coup:  { 20: 0.25, 25: 0.4, 32: 0.7, 40: 1.05, 50: 2.0, 63: 4.1, 75: 6.9, 90: 10.5, 110: 17 },\n           tee:   { 20: 0.5, 25: 0.76, 32: 1.4, 40: 2.1, 50: 4.0, 63: 8.3, 75: 14, 90: 21, 110: 34 },\n           est: 75 }\n  }; \n  var S = { inp: null, list: [], rec: null, sel: null };\n  function q(id) { return document.getElementById(id); }\n  function n(id) { var v = parseFloat(q(id).value); return isFinite(v) ? v : 0; }\n  function f2(v) { return Number(v).toFixed(2); }\n  function drop(qm3s, lenM, dMm, pAbs) {\n    return 1.6e8 * Math.pow(qm3s, 1.85) * lenM \/ (Math.pow(dMm, 5) * pAbs);\n  }\n  function vel(qm3s, dMm, pAbs) {\n    return (4 * qm3s \/ pAbs) \/ (Math.PI * Math.pow(dMm \/ 1000, 2));\n  }\n  function read() {\n    var flow = n('ipc-flow'), press = n('ipc-press'), len = n('ipc-len');\n    if (flow <= 0 || press <= 0 || len <= 0) { return null; }\n    var ring = false;   \n    var mat = q('ipc-mat').value;\n    var mul = 1 + FIT;\n    if (mat === 'ppr') { mul *= PP_JOINT; }\n    var lenEq = len * mul;\n    return {\n      qm3s: (flow \/ 60) \/ (ring ? 2 : 1),   \n      lenCalc: ring ? lenEq \/ 2 : lenEq,    \n      lenShow: lenEq,\n      pAbs: press + 1,\n      pG: press,\n      ring: ring,\n      mat: mat,\n      dpMax: press * TGT,\n      tgtPct: TGT * 100\n    };\n  }\n  function effId(pipe) { return S.inp.mat === 'ppr' ? pipe.id - PP_BEAD : pipe.id; }\n  function evaluate(pipe) {\n    var i = S.inp, e = effId(pipe);\n    var d = drop(i.qm3s, i.lenCalc, e, i.pAbs);\n    return { drop: d, pct: d \/ i.pG * 100, vel: vel(i.qm3s, e, i.pAbs), eff: e };\n  }\n  function pickAlu() {\n    var i = S.inp, lenAlu = i.lenCalc \/ PP_JOINT, k, p, d, v;\n    for (k = 0; k < PIPES.alu.list.length; k += 1) {\n      p = PIPES.alu.list[k];\n      d = drop(i.qm3s, lenAlu, p.id, i.pAbs); v = vel(i.qm3s, p.id, i.pAbs);\n      if (d <= i.dpMax ? v <= V_MAX : false) { return p; }\n    }\n    return PIPES.alu.list[PIPES.alu.list.length - 1];\n  }\n  function pickFor(mat) {\n    var i = S.inp, base = i.mat === 'ppr' ? i.lenCalc \/ PP_JOINT : i.lenCalc;\n    var len = mat === 'ppr' ? base * PP_JOINT : base, list = PIPES[mat].list, k, p, e, d, v;\n    for (k = 0; k < list.length; k += 1) {\n      p = list[k]; e = mat === 'ppr' ? p.id - PP_BEAD : p.id;\n      d = drop(i.qm3s, len, e, i.pAbs); v = vel(i.qm3s, e, i.pAbs);\n      if (d <= i.dpMax ? v <= V_MAX : false) { return p; }\n    }\n    return list[list.length - 1];\n  }\n  function costFor(mat, p, L) {\n    var P = PRICE[mat], elbows = 4 + Math.floor(L \/ 10), coups = Math.max(Math.ceil(L \/ P.bar) - 1, 0);\n    if (P.m[p.l] === undefined) { return null; }\n    var tees = 1 + Math.floor(L \/ 10);\n    var pipe = L * P.m[p.l], fe = elbows * P.elbow[p.l], fc = coups * P.coup[p.l], ft = tees * (P.tee[p.l] || 0);\n    var labM = L * (mat === 'alu' ? LAB.alu : LAB.ppr);\n    var pts = mat === 'ppr' ? (elbows + coups + tees * 2) : 0, labP = pts * LAB.pt;\n    return { pipe: pipe, elbows: elbows, fe: fe, coups: coups, fc: fc, tees: tees, ft: ft, labM: labM, pts: pts, labP: labP,\n             welds: elbows * 2 + coups + tees * 3, mat: pipe + fe + fc + ft, tot: pipe + fe + fc + ft + labM + labP, ppm: P.m[p.l] };\n  }\n  function line(box, a, b, cls) {\n    var d = document.createElement('div'); d.className = 'ipc-line' + (cls ? ' ' + cls : '');\n    var s1 = document.createElement('span'); s1.textContent = a; var s2 = document.createElement('span'); s2.textContent = b;\n    d.appendChild(s1); d.appendChild(s2); box.appendChild(d);\n  }\n  function money(x) { return Math.round(x).toLocaleString('en-US') + ' \u20be'; }\n  function costBlock() {\n    var L = n('ipc-len'), box = q('ipc-cost');\n    var i = S.inp;\n    var pa = i.mat === 'alu' ? S.sel : pickFor('alu'), pp = i.mat === 'ppr' ? S.sel : pickFor('ppr');\n    var ca = costFor('alu', pa, L), cp = costFor('ppr', pp, L);\n    if (!ca) { box.style.display = 'none'; return; }\n    var max = cp ? Math.max(ca.tot, cp.tot) : ca.tot, lo = cp ? Math.min(ca.tot, cp.tot) : ca.tot;\n    [['ipc-c-alu', 'Aluminium', pa, ca], ['ipc-c-ppr', 'PP-R (water pipe)', pp, cp]].forEach(function (row) {\n      var el = q(row[0]); while (el.firstChild) { el.removeChild(el.firstChild); }\n      if (!row[3]) {\n        var isSel0 = (i.mat === 'ppr');\n        el.className = 'ipc-col ppr' + (isSel0 ? ' win' : '');\n        var h0 = document.createElement('h4'); h0.textContent = row[1] + ' \u00d8' + row[2].l + (isSel0 ? ' \u00b7 selected' : ' \u00b7 alternative'); el.appendChild(h0);\n        var pn = document.createElement('p'); pn.className = 'ipc-fn'; pn.style.marginTop = '0';\n        pn.textContent = 'This task needs PP-R \u00d8' + row[2].l + '. Water pipe of this size has no retail price online (Nova, Gorgia, Domino): it is an industrial size and rare on the market. We quote it on request.';\n        el.appendChild(pn); return;\n      }\n      var isSel = (row[0] === 'ipc-c-alu') === (i.mat === 'alu');\n      el.className = 'ipc-col ' + (row[0] === 'ipc-c-alu' ? 'alu' : 'ppr') + (isSel ? ' win' : '');\n      var h = document.createElement('h4'); h.textContent = row[1] + ' \u00d8' + row[2].l + (isSel ? ' \u00b7 selected' : ' \u00b7 alternative');\n      var isEst = (row[0] === 'ipc-c-ppr' ? (PRICE.ppr.est ? row[2].l >= PRICE.ppr.est : false) : false);\n      var sm = document.createElement('small'); sm.textContent = (isEst ? '\u2248 ' : '') + row[3].ppm.toFixed(2) + ' \u20be\/m' + (isEst ? ' (estimate)' : ''); h.appendChild(sm); el.appendChild(h);\n      line(el, 'Pipe ' + L + ' m', money(row[3].pipe));\n      line(el, 'Elbow \u00d7 ' + row[3].elbows, money(row[3].fe));\n      line(el, 'Coupling \u00d7 ' + row[3].coups, money(row[3].fc));\n      line(el, 'Tee \u00d7 ' + row[3].tees, money(row[3].ft));\n      line(el, 'Estimated installation cost', money(row[3].labM + row[3].labP));\n      line(el, 'Total', money(row[3].tot), 'tot');\n      var bar = document.createElement('div'); bar.className = 'ipc-bar';\n      var fill = document.createElement('i'); fill.style.width = Math.round(row[3].tot \/ max * 100) + '%'; bar.appendChild(fill); el.appendChild(bar);\n    });\n    var v = q('ipc-verdict');\n    if (!cp) { v.textContent = 'Aluminium \u00d8' + pa.l + ' system: ' + money(ca.mat) + ' material + ' + money(ca.labM) + ' installation = ' + money(ca.tot) + ' (' + (ca.elbows + ca.coups + ca.tees) + ' push-fit joints, no tools). The PP-R alternative would need a pipe two to three sizes larger and ' + (4 + Math.floor(L \/ 10)) * 2 + '+ welds.'; box.style.display = 'block'; return; }\n    var diff = ca.tot - cp.tot;\n    v.textContent = (diff > 0 ? 'On day one plastic is ' + money(diff) + ' cheaper (' + (ca.mat \/ cp.mat).toFixed(1) + '\u00d7 on material, ' + (ca.tot \/ cp.tot).toFixed(1) + '\u00d7 with installation). ' : 'Including installation, aluminium is ' + money(-diff) + ' cheaper. ') +\n      'PP-R needs ' + cp.welds + ' iron-welded joints, aluminium ' + (ca.elbows + ca.coups + ca.tees) + ' push-fit joints with no tools. ' +\n      'Aluminium withstands oil, temperature and UV, has a smooth bore and serves for decades; PP-R was designed for water, not for compressed air.';\n    box.style.display = 'block';\n  }\n  function pick(list) {\n    var i;\n    for (i = 0; i < list.length; i += 1) {\n      var r = evaluate(list[i]);\n      if (r.drop <= S.inp.dpMax ? r.vel <= V_MAX : false) { return list[i]; }\n    }\n    return list[list.length - 1];\n  }\n  function velClass(v) { return v <= V_MAIN ? 'ok' : (v <= V_MAX ? 'hi' : 'bad'); }\n  function chips() {\n    var box = q('ipc-chips');\n    while (box.firstChild) { box.removeChild(box.firstChild); }\n    S.list.forEach(function (p) {\n      var b = document.createElement('button');\n      b.type = 'button';\n      b.className = 'ipc-chip' + (p.l === S.sel.l ? ' sel' : '') + (p.l === S.rec.l ? ' rec' : '');\n      b.textContent = '\u00d8' + p.l;\n      b.addEventListener('click', function () { S.sel = p; paint(); });\n      box.appendChild(b);\n    });\n  }\n  function count(el, to) {\n    if (root.dataset.nofx) { el.textContent = f2(to); return; }   \n    var from = parseFloat(el.textContent) || 0, t0 = null, gen = (el._gen = (el._gen || 0) + 1);\n    function step(ts) {\n      if (el._gen !== gen) { return; }               \n      if (!t0) { t0 = ts; }\n      var k = Math.min((ts - t0) \/ 420, 1);\n      el.textContent = f2(from + (to - from) * (1 - Math.pow(1 - k, 3)));\n      if (k < 1) { requestAnimationFrame(step); }\n    }\n    requestAnimationFrame(step);\n    setTimeout(function () { if (el._gen === gen) { el.textContent = f2(to); } }, 480);  \n  }\n  function paint() {\n    var r = evaluate(S.sel), i = S.inp;\n    q('ipc-size').textContent = '\u00d8' + S.sel.l;\n    var tag = q('ipc-tag');\n    tag.textContent = (S.sel.l === S.rec.l) ? 'Recommended' : 'Recommended: \u00d8' + S.rec.l;\n    tag.className = 'ipc-tag' + (S.sel.l === S.rec.l ? '' : ' warn');\n    var v = q('ipc-vel'); v.className = velClass(r.vel); count(v, r.vel);\n    count(q('ipc-drop'), r.drop);\n    var pc = q('ipc-pct'); pc.className = (r.pct <= i.tgtPct ? 'ok' : 'hi'); count(pc, r.pct);\n    var msgs = [], flag = false;\n    msgs.push(PIPES[i.mat].name + ' \u00d8' + S.sel.l + ', inner diameter ' + S.sel.id + ' mm' +\n      (i.mat === 'ppr' ? ' (effective ' + r.eff + ' mm due to weld beads)' : '') +\n      ' \u00b7 equivalent length ' + Math.round(i.lenShow) + ' m' + (i.ring ? ' (ring)' : '') +\n      (i.mat === 'ppr' ? ', joints included' : '') +\n      ' \u00b7 pressure at the end ' + f2(Math.max(i.pG - r.drop, 0)) + ' bar');\n    msgs.push('This drop makes the compressor use about ' + f2(r.drop * KW_PER_BAR) + '% more energy.');\n    if (r.vel > V_MAX) {\n      msgs.push('Velocity above ' + V_MAX + ' m\/s: noise, wear and condensate carry-over. Go one size up.'); flag = true;\n    } else if (r.vel > V_MAIN) {\n      msgs.push('Velocity ' + V_MAIN + '\u2013' + V_MAX + ' m\/s: acceptable on short runs and branches; on the main line one size larger is better.');\n    }\n    if (r.pct > i.tgtPct) { msgs.push('Drop exceeds ' + i.tgtPct + '%.'); flag = true; }\n    var note = q('ipc-note');\n    note.className = 'ipc-note' + (flag ? ' flag' : '');\n    note.textContent = msgs.join(' ');\n    var alu = q('ipc-alu');\n    if (i.mat === 'ppr') {\n      var eq = pickAlu();\n      alu.innerHTML = '';\n      alu.appendChild(document.createTextNode('The same task in aluminium is solved by '));\n      var b1 = document.createElement('b'); b1.textContent = '\u00d8' + eq.l; alu.appendChild(b1);\n      alu.appendChild(document.createTextNode(' (bore ' + eq.id + ' mm). Plastic pipe has a thick wall, so at the same nominal size the bore is much smaller, and iron welding leaves an internal bead at every joint which, in practice, narrows the passage sharply through over-melting and turns each joint into a separate resistance. As a result plastic needs a pipe two sizes larger.'));\n      alu.style.display = 'block';\n    } else { alu.style.display = 'none'; }\n    chips();\n    costBlock();\n  }\n  function run() {\n    var inp = read(), err = q('ipc-err');\n    if (!inp) {\n      err.textContent = 'Enter positive numbers for flow, pressure and length.';\n      err.style.display = 'block';\n      return;\n    }\n    err.style.display = 'none';\n    S.inp = inp;\n    S.list = PIPES[inp.mat].list;\n    S.rec = pick(S.list);\n    S.sel = S.rec;\n    q('ipc-empty').style.display = 'none';\n    q('ipc-res').style.display = 'block';\n    paint();\n  }\n  q('ipc-go').addEventListener('click', run);\n  q('ipc-clr').addEventListener('click', function () {\n    ['ipc-flow', 'ipc-press', 'ipc-len'].forEach(function (id) { q(id).value = ''; });\n    q('ipc-res').style.display = 'none';\n    q('ipc-cost').style.display = 'none';\n    q('ipc-empty').style.display = 'block';\n    q('ipc-err').style.display = 'none';\n  });\n  ['ipc-flow', 'ipc-press', 'ipc-len'].forEach(function (id) {\n    q(id).addEventListener('keydown', function (e) { if (e.key === 'Enter') { run(); } });\n  });\n  ['ipc-mat'].forEach(function (id) {\n    q(id).addEventListener('change', function () { if (S.inp) { run(); } });\n  });\n})();\n<\/script><\/p>\n<div style=\"max-width:760px;margin:34px auto 0\">\n<h2>Why pipe diameter is the compressor&#8217;s &#8220;invisible&#8221; cost<\/h2>\n<p>Compressed air loses pressure to friction in the pipe. The narrower the pipe and the longer the line, the bigger the drop: it depends on the <strong>fifth power of the diameter<\/strong>, so halving the diameter raises the drop roughly 32 times. The compressor makes up the lost pressure with extra work: every additional bar means about 7% more electricity, and on a 24-hour line that often exceeds the price of the pipe itself within a year.<\/p>\n<h2>How the calculator works<\/h2>\n<p>Enter the compressor&#8217;s flow (m\u00b3\/min), working pressure (bar) and line length (metres). The calculator adds +30% automatically for fittings and elbows and picks the <strong>smallest standard diameter<\/strong> at which the pressure drop stays within 7% and the air velocity stays within the allowed band (6\u201310 m\/s on the main, up to 15 m\/s on short connections). The result is economical but inside engineering norms.<\/p>\n<h2>Aluminium or plastic water pipe?<\/h2>\n<p>PP-R water pipe has a thick wall: at nominal \u00d832 the bore is only 21 mm, against 28 mm for aluminium \u00d832. Iron welding leaves an internal bead at every joint which, when over-melted, narrows the passage sharply, and each joint becomes a separate local resistance. So the same task needs a pipe two sizes larger in plastic, while resistance to oil, temperature and UV stays with aluminium. The calculator sizes both options so you can compare with numbers.<\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>Isn&#8217;t a 7% pressure drop a lot?<\/h3>\n<p>No. In industrial networks the total drop from the compressor to the last consumer is usually limited to 5\u201310%; at 7 bar, 7% is 0.49 bar. The calculator leans towards economy: it will not suggest an oversized pipe, but it will not cross that limit either. If sensitive pneumatics sit on the line, go one size up.<\/p>\n<h3>What if I have a ring main?<\/h3>\n<p>In a ring the air reaches every point from two sides, so each branch carries half the flow over half the distance. The calculator sizes an open line; we size ring mains separately for your project.<\/p>\n<h3>Which PP-R class is assumed?<\/h3>\n<p>PN20 (SDR 6), the most common thick-walled class. PN16 pipe has a slightly larger bore but less margin for air at 8\u201310 bar. For the final selection <a href=\"https:\/\/iesco.ge\/en\/contact\/\">contact us<\/a>: we will confirm the layout and diameters on your project.<\/p>\n<\/div>\n<div class=\"iesco-tools\" style=\"max-width:840px;margin:26px auto 0;padding:16px 20px;background:#f4f8f5;border:1px solid #e2e8e5;border-radius:12px;text-align:center;font-size:.95em\"><b style=\"color:#2e4a3d\">\ud83d\udee0\ufe0f Other IESCO tools:<\/b> <a href=\"https:\/\/iesco.ge\/en\/compressor-comparison\/\">Compressor Comparison<\/a> \u00b7 <a href=\"https:\/\/iesco.ge\/en\/inverter-energy-savings-calculator\/\">Inverter Energy Savings Calculator<\/a> \u00b7 <a href=\"https:\/\/iesco.ge\/en\/dryer-selection-calculator\/\">Dryer Selection Calculator<\/a> \u00b7 <a href=\"https:\/\/iesco.ge\/en\/air-purity-configurator-iso-8573-1\/\">Air Purity Configurator (ISO 8573-1)<\/a> \u00b7 <a href=\"https:\/\/iesco.ge\/en\/motor-starting-vfd-simulator\/\">Motor Starting Simulator<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pipe Sizing Calculator Compressed air main diameter by pressure drop and air velocity Flow rate m\u00b3\/min, compressor free air delivery (FAD) Working pressure bar, gauge Main length metres, from the compressor to the farthest consumer Pipe typeAluminiumPlastic water pipe (PP-R) Standard assumptions: fittings and valves +30%, allowable drop 7% of working pressure. CalculateClear Enter flow, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","rank_math_title":"Compressed Air Pipe Sizing Calculator: Aluminium vs PP-R | IESCO","rank_math_description":"Enter flow, pressure and length to get the pipe diameter for aluminium or PP-R by pressure drop and air velocity, with a material and installation cost comparison. Free tool by IESCO.","rank_math_focus_keyword":"compressed air pipe sizing calculator,air pipe diameter,aluminium air piping,pipe size calculator","footnotes":""},"class_list":["post-11357","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/pages\/11357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/comments?post=11357"}],"version-history":[{"count":3,"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/pages\/11357\/revisions"}],"predecessor-version":[{"id":11392,"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/pages\/11357\/revisions\/11392"}],"wp:attachment":[{"href":"https:\/\/iesco.ge\/en\/wp-json\/wp\/v2\/media?parent=11357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}