<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pump Specific Speed Archives - Chemical Engineering Site</title>
	<atom:link href="https://chemicalengineeringsite.in/tag/pump-specific-speed/feed/" rel="self" type="application/rss+xml" />
	<link>https://chemicalengineeringsite.in/tag/pump-specific-speed/</link>
	<description>For Chemical Engineers</description>
	<lastBuildDate>Sun, 24 Aug 2025 14:41:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Pump Specific Speed Calculator</title>
		<link>https://chemicalengineeringsite.in/pump-specific-speed-calculator/</link>
					<comments>https://chemicalengineeringsite.in/pump-specific-speed-calculator/#respond</comments>
		
		<dc:creator><![CDATA[chemicalengineeringsite]]></dc:creator>
		<pubDate>Fri, 29 Aug 2025 12:00:00 +0000</pubDate>
				<category><![CDATA[Calculators]]></category>
		<category><![CDATA[Centrifugal Pumps.]]></category>
		<category><![CDATA[Pump]]></category>
		<category><![CDATA[Pump Specific Speed]]></category>
		<guid isPermaLink="false">https://chemicalengineeringsite.in/?p=3873</guid>

					<description><![CDATA[<p>Pump Specific Speed Calculator Enter pump speed, flow rate, and head. Calculates metric nq and US Ns, with impeller type &#038; application. Export to Excel with live formulas. Pump Speed rpm Flow Rate m³/sm³/hL/sgpm Total Head mft Calculate &#x1f4ca; Export Excel Reset Copy Specific Speed (metric nq) – Specific Speed (US Ns) – Impeller Type [&#8230;]</p>
<p>The post <a href="https://chemicalengineeringsite.in/pump-specific-speed-calculator/">Pump Specific Speed Calculator</a> appeared first on <a href="https://chemicalengineeringsite.in">Chemical Engineering Site</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<!-- Pump Specific Speed Calculator + Excel Export -->
<div id="psc" class="psc-card" role="region" aria-label="Pump Specific Speed Calculator">
  <div class="psc-header">
    <h3 class="psc-title">Pump Specific Speed Calculator</h3>
    <p class="psc-sub">Enter pump speed, flow rate, and head. Calculates metric n<sub>q</sub> and US N<sub>s</sub>, with impeller type &#038; application. Export to Excel with live formulas.</p>
  </div>

  <form class="psc-form" onsubmit="return false;">
    <div class="psc-grid">
      <label class="psc-field">
        <span>Pump Speed</span>
        <div class="psc-inline">
          <input id="psc-n" type="number" step="any" min="0" placeholder="e.g., 2900" required />
          <span class="psc-unit">rpm</span>
        </div>
      </label>

      <label class="psc-field">
        <span>Flow Rate</span>
        <div class="psc-inline">
          <input id="psc-q" type="number" step="any" min="0" placeholder="e.g., 120" required />
          <select id="psc-q-unit" aria-label="Flow unit">
            <option value="m3s">m³/s</option>
            <option value="m3h" selected>m³/h</option>
            <option value="Ls">L/s</option>
            <option value="gpm">gpm</option>
          </select>
        </div>
      </label>

      <label class="psc-field">
        <span>Total Head</span>
        <div class="psc-inline">
          <input id="psc-h" type="number" step="any" min="0" placeholder="e.g., 40" required />
          <select id="psc-h-unit" aria-label="Head unit">
            <option value="m" selected>m</option>
            <option value="ft">ft</option>
          </select>
        </div>
      </label>
    </div>

    <div class="psc-actions">
      <button type="button" id="psc-calc" class="psc-btn">Calculate</button>
      <button type="button" id="psc-export" class="psc-btn psc-btn-ghost" title="Export Excel with formulas"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Export Excel</button>
      <button type="button" id="psc-reset" class="psc-btn psc-btn-ghost">Reset</button>
      <button type="button" id="psc-copy" class="psc-btn psc-btn-ghost" title="Copy results">Copy</button>
    </div>
  </form>

  <div class="psc-results" aria-live="polite">
    <div class="psc-result">
      <div class="psc-result-label">Specific Speed (metric n<sub>q</sub>)</div>
      <div class="psc-result-value"><span id="psc-nq">–</span></div>
    </div>
    <div class="psc-result">
      <div class="psc-result-label">Specific Speed (US N<sub>s</sub>)</div>
      <div class="psc-result-value"><span id="psc-ns">–</span></div>
    </div>
    <div class="psc-result">
      <div class="psc-result-label">Impeller Type</div>
      <div class="psc-result-value"><span id="psc-type">–</span></div>
    </div>
    <div class="psc-result">
      <div class="psc-result-label">Typical Application</div>
      <div class="psc-result-value"><span id="psc-app">–</span></div>
    </div>
    <div id="psc-note" class="psc-note"></div>
  </div>

  <details class="psc-details">
    <summary>Formula &#038; unit notes</summary>
    <ul>
      <li>Metric: <code>nq = n · sqrt(Q[m³/s]) / H[m]^(3/4)</code></li>
      <li>US: <code>Ns = n · sqrt(Q[gpm]) / H[ft]^(3/4)</code></li>
      <li>Classification by <em>metric nq</em> (editable in Excel):
        <ul>
          <li><strong>Radial</strong>: nq &lt; 30 (high head, low flow)</li>
          <li><strong>Mixed</strong>: 30 ≤ nq &lt; 80 (medium head/flow)</li>
          <li><strong>Axial</strong>: nq ≥ 80 (low head, very high flow)</li>
        </ul>
      </li>
    </ul>
  </details>

  <footer class="psc-footer">
    <small>Credit: <a href="https://chemicalengineeringsite.in/" target="_blank" rel="noopener">chemicalengineeringsite.in</a></small>
  </footer>
</div>

<style>
  .psc-card{--b:#e6eef6;--t:#0f172a;--muted:#475569;--a:#2563eb;--bg:#ffffff;max-width:860px;margin:1.25rem auto;padding:1.25rem;border:1px solid var(--b);border-radius:16px;background:var(--bg);box-shadow:0 6px 20px rgba(2,6,23,.06)}
  .psc-title{margin:.25rem 0;font-size:1.25rem;color:var(--t)}
  .psc-sub{margin:0;color:var(--muted)}
  .psc-form{margin-top:.75rem}
  .psc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  @media (max-width:860px){.psc-grid{grid-template-columns:1fr}}
  .psc-field{display:flex;flex-direction:column;gap:6px}
  .psc-field span{font-weight:600;color:var(--t)}
  .psc-inline{display:flex;gap:8px;align-items:center}
  .psc-field input,.psc-field select{width:100%;padding:.6rem .7rem;border:1px solid var(--b);border-radius:10px;background:#fff;color:var(--t)}
  .psc-unit{color:var(--muted)}
  .psc-actions{display:flex;gap:10px;margin-top:.75rem;flex-wrap:wrap}
  .psc-btn{border:1px solid var(--a);background:var(--a);color:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:600;cursor:pointer}
  .psc-btn-ghost{background:#fff;color:var(--a)}
  .psc-results{margin-top:1rem;border-top:1px dashed var(--b);padding-top:.9rem}
  .psc-result{display:flex;justify-content:space-between;align-items:center;margin:.35rem 0}
  .psc-result-label{color:var(--muted)}
  .psc-result-value{font-size:1.1rem;font-weight:700;color:var(--t)}
  .psc-note{margin-top:.4rem;color:#b45309}
  .psc-details{margin-top:.6rem}
  .psc-footer{margin-top:.6rem;color:var(--muted)}
</style>

<!-- SheetJS for Excel export -->
<script src="https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"></script>

<script>
(function(){
  const $ = id => document.getElementById(id);
  const EL = {
    n: $('psc-n'),
    q: $('psc-q'),
    qUnit: $('psc-q-unit'),
    h: $('psc-h'),
    hUnit: $('psc-h-unit'),
    btnCalc: $('psc-calc'),
    btnReset: $('psc-reset'),
    btnCopy: $('psc-copy'),
    btnExport: $('psc-export'),
    nq: $('psc-nq'),
    ns: $('psc-ns'),
    type: $('psc-type'),
    app: $('psc-app'),
    note: $('psc-note')
  };

  // Unit conversions
  function to_m3s(val, unit){
    switch(unit){
      case 'm3s': return val;
      case 'm3h': return val / 3600;
      case 'Ls':  return val / 1000;
      case 'gpm': return (val * 0.003785411784) / 60; // gpm -> m3/s
      default:    return NaN;
    }
  }
  function to_gpm(val, unit){
    switch(unit){
      case 'gpm': return val;
      case 'm3s': return (val * 60) / 0.003785411784;
      case 'm3h': return (val / 3600) * 60 / 0.003785411784;
      case 'Ls':  return (val / 1000) * 60 / 0.003785411784;
      default:    return NaN;
    }
  }
  function to_m(val, unit){ return unit==='ft' ? val * 0.3048 : val; }
  function to_ft(val, unit){ return unit==='m' ? val / 0.3048 : val; }

  function round(v, dp=2){
    if (!Number.isFinite(v)) return '–';
    const f = Math.pow(10, dp);
    return (Math.round(v * f) / f).toFixed(dp);
  }

  function classify_nq(nq){
    if (!Number.isFinite(nq)) return {type:'–', app:'–'};
    if (nq < 30) return {type:'Radial-flow (centrifugal)', app:'High head, low flow; closed/Francis impeller'};
    if (nq < 80) return {type:'Mixed-flow', app:'Medium head and flow; mixed-flow impeller'};
    return {type:'Axial-flow (propeller)', app:'Low head, very high flow; propeller/Kaplan'};
  }

  function calc(){
    const n = Number(EL.n.value);
    const q = Number(EL.q.value);
    const h = Number(EL.h.value);

    if (![n,q,h].every(x => Number.isFinite(x) && x > 0)) {
      EL.nq.textContent = '–';
      EL.ns.textContent = '–';
      EL.type.textContent = '–';
      EL.app.textContent  = '–';
      EL.note.textContent = 'Enter positive values for all inputs.';
      return;
    }

    const Q_m3s = to_m3s(q, EL.qUnit.value);
    const Q_gpm = to_gpm(q, EL.qUnit.value);
    const H_m   = to_m(h, EL.hUnit.value);
    const H_ft  = to_ft(h, EL.hUnit.value);

    if (![Q_m3s, Q_gpm, H_m, H_ft].every(Number.isFinite) || H_m<=0 || H_ft<=0) {
      EL.nq.textContent = '–';
      EL.ns.textContent = '–';
      EL.type.textContent = '–';
      EL.app.textContent  = '–';
      EL.note.textContent = 'Check unit selections.';
      return;
    }

    const nq = n * Math.sqrt(Q_m3s) / Math.pow(H_m, 0.75);
    const Ns = n * Math.sqrt(Q_gpm) / Math.pow(H_ft, 0.75);

    EL.nq.textContent = round(nq, 2);
    EL.ns.textContent = round(Ns, 0);

    const {type, app} = classify_nq(nq);
    EL.type.textContent = type;
    EL.app.textContent  = app;

    EL.note.textContent = '';

    // save for export
    window.__psc_state = {
      n, q, h, qUnit: EL.qUnit.value, hUnit: EL.hUnit.value, nq, Ns, type, app
    };
  }

  function reset(){
    EL.n.value = '';
    EL.q.value = '';
    EL.h.value = '';
    EL.qUnit.value = 'm3h';
    EL.hUnit.value = 'm';
    ['nq','ns','type','app'].forEach(k => EL[k].textContent = '–');
    EL.note.textContent = '';
    window.__psc_state = null;
  }

  function copyResults(){
    const txt = `Specific Speed (nq metric): ${EL.nq.textContent}
Specific Speed (Ns US): ${EL.ns.textContent}
Impeller Type: ${EL.type.textContent}
Application: ${EL.app.textContent}`;
    navigator.clipboard?.writeText(txt).then(()=>{
      EL.note.style.color = '#16a34a';
      EL.note.textContent = 'Results copied to clipboard.';
      setTimeout(()=>{ EL.note.textContent=''; EL.note.style.color=''; }, 1600);
    }).catch(()=>{
      EL.note.style.color = '#b45309';
      EL.note.textContent = 'Copy failed. You can select and copy manually.';
    });
  }

  // ---- Excel export with live formulas ----
  function exportExcel(){
    const s = window.__psc_state || {};
    // Build rows (formulas rely on unit strings in C4 and C5)
    const data = [
      ['Pump Specific Speed Calculator','','','',''],
      ['Inputs','','','',''],
      ['Speed, n (rpm)', s.n ?? '', '', '', ''],
      ['Flow, Q (value)', s.q ?? '', 'Unit', s.qUnit ?? 'm3h', ''],
      ['Head, H (value)', s.h ?? '', 'Unit', s.hUnit ?? 'm', ''],
      ['','','','',''],
      ['Conversions (auto from units)','','','',''],
      // Q_m3s
      ['Q in m³/s', {t:'n', f:'B4*IF(D4="m3/s",1,IF(D4="m3/h",1/3600,IF(D4="Ls",1/1000,IF(D4="gpm",0.003785411784/60,""))))'},'','',''],
      // H_m
      ['H in m', {t:'n', f:'B5*IF(D5="m",1,IF(D5="ft",0.3048,""))'},'','',''],
      // Q_gpm
      ['Q in gpm', {t:'n', f:'B4*IF(D4="gpm",1,IF(D4="m3/s",60/0.003785411784,IF(D4="m3/h",(1/3600)*(60/0.003785411784),IF(D4="Ls",(1/1000)*(60/0.003785411784),""))))'},'','',''],
      // H_ft
      ['H in ft', {t:'n', f:'B5*IF(D5="ft",1,IF(D5="m",1/0.3048,""))'},'','',''],
      ['','','','',''],
      ['Outputs','','','',''],
      ['Specific Speed (metric nq)', {t:'n', f:'IF(OR(B3<=0,B8<=0,B9<=0),"", B3*SQRT(B8)/POWER(B9,0.75))'}, '', '', ''],
      ['Specific Speed (US Ns)', {t:'n', f:'IF(OR(B3<=0,B10<=0,B11<=0),"", B3*SQRT(B10)/POWER(B11,0.75))'}, '', '', ''],
      ['Impeller Type (by nq)', {t:'s', f:'IF(B13="","",IF(B13<30,"Radial-flow (centrifugal)",IF(B13<80,"Mixed-flow","Axial-flow (propeller)")))'}, '', '', ''],
      ['Typical Application', {t:'s', f:'IF(B13="","",IF(B13<30,"High head, low flow; closed/Francis impeller",IF(B13<80,"Medium head and flow; mixed-flow impeller","Low head, very high flow; propeller/Kaplan")))'}, '', '', ''],
      ['','','','',''],
      ['Source: chemicalengineeringsite.in','','','','']
    ];

    const ws = XLSX.utils.aoa_to_sheet(data);
    ws['!cols'] = [{wch:34},{wch:18},{wch:10},{wch:14},{wch:10}];

    // Make the source clickable
    const lastRow = data.length + 0; // already 1-indexed properly by aoa_to_sheet
    const srcCell = `A${lastRow}`;
    ws[srcCell] = { t:'s', v:'Source: chemicalengineeringsite.in', l:{ Target:'https://chemicalengineeringsite.in/' } };

    // Freeze panes (keep titles/inputs visible)
    ws['!freeze'] = { xSplit: 1, ySplit: 7 };

    const wb = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(wb, ws, 'Specific Speed');

    const ts = new Date().toISOString().slice(0,19).replace(/[:T]/g,'-');
    XLSX.writeFile(wb, `pump_specific_speed_${ts}.xlsx`);
  }

  // Wire up
  EL.btnCalc.addEventListener('click', calc);
  EL.btnReset.addEventListener('click', reset);
  EL.btnCopy.addEventListener('click', copyResults);
  EL.btnExport.addEventListener('click', exportExcel);

  // Auto-calc on Enter
  ['psc-n','psc-q','psc-h'].forEach(id=>{
    document.getElementById(id).addEventListener('keydown', e=>{
      if (e.key === 'Enter'){ e.preventDefault(); calc(); }
    });
  });
})();
</script>
<!-- /Pump Specific Speed Calculator + Excel Export -->

<p>The post <a href="https://chemicalengineeringsite.in/pump-specific-speed-calculator/">Pump Specific Speed Calculator</a> appeared first on <a href="https://chemicalengineeringsite.in">Chemical Engineering Site</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chemicalengineeringsite.in/pump-specific-speed-calculator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
