{"id":100205,"date":"2026-02-15T20:27:20","date_gmt":"2026-02-15T20:27:20","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100205"},"modified":"2026-03-05T15:45:14","modified_gmt":"2026-03-05T15:45:14","slug":"reynolds-number-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/reynolds-number-calculator\/","title":{"rendered":"\u09b0\u09c7\u09a8\u09b2\u09cd\u09a1\u09b8 \u09b8\u0982\u0996\u09cd\u09af\u09be \u0995\u09cd\u09af\u09be\u09b2\u0995\u09c1\u09b2\u09c7\u099f\u09b0 | \u09ac\u09bf\u09a8\u09be\u09ae\u09c2\u09b2\u09cd\u09af\u09c7 \u0985\u09a8\u09b2\u09be\u0987\u09a8 Re \u09b8\u09b0\u099e\u09cd\u099c\u09be\u09ae | Vibromera"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Reynolds Number Calculator\",\"description\":\"Free Reynolds number calculator with bidirectional input (velocity or flow rate). Visual flow regime indicator and entry length calculation.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/reynolds-number-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-15\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is the Reynolds number?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The Reynolds number is a dimensionless ratio of inertial to viscous forces: Re = vD\/\u03bd. It predicts whether flow will be laminar (<2300), transitional (2300\u20134000), or turbulent (>4000).\"}},\n{\"@type\":\"Question\",\"name\":\"What determines laminar vs turbulent flow?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Re < 2300: laminar (smooth, orderly). Re 2300\u20134000: transition zone (unstable). Re > 4000: turbulent (chaotic). These thresholds apply to pipe flow.\"}},\n{\"@type\":\"Question\",\"name\":\"What is kinematic viscosity?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Kinematic viscosity \u03bd = \u03bc\/\u03c1, with units m\u00b2\/s or cSt (1 cSt = 10\u207b\u2076 m\u00b2\/s). Water at 20\u00b0C: ~1 cSt. Hydraulic oil ISO VG 46 at 40\u00b0C: ~46 cSt.\"}},\n{\"@type\":\"Question\",\"name\":\"Why does Reynolds number matter?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Re determines friction factor, heat transfer coefficient, and mixing behavior. It's critical for pipe sizing, pump selection, and pressure drop calculations.\"}},\n{\"@type\":\"Question\",\"name\":\"What is hydrodynamic entry length?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Entry length is the distance from pipe inlet before the flow profile becomes fully developed. Laminar: Le \u2248 0.06\u00b7Re\u00b7D. Turbulent: Le \u2248 4.4\u00b7Re^(1\/6)\u00b7D.\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Reynolds Number Calculator\",\"item\":\"https:\/\/vibromera.eu\/calculators\/reynolds-number-calculator\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root { --vc-bg:#f4f1ec; --vc-surface:#ffffff; --vc-surface-alt:#f8f6f2; --vc-ink:#1a1a1a; --vc-ink-secondary:#5a5650; --vc-ink-muted:#8a857e; --vc-accent:#c85a2a; --vc-accent-hover:#b04d22; --vc-accent-light:#fdf0ea; --vc-blue:#2a5c8c; --vc-blue-light:#eaf1f8; --vc-green:#2a7a4b; --vc-green-light:#eaf8ef; --vc-yellow:#a67c00; --vc-yellow-light:#fef9e8; --vc-red:#b91c1c; --vc-red-light:#fef2f2; --vc-border:#d9d4cc; --vc-border-light:#e8e4dd; --vc-shadow:0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04); --vc-radius:8px; --vc-radius-lg:12px; --vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --vc-mono:'JetBrains Mono','Consolas','Monaco',monospace; --vc-display:'Fraunces',Georgia,serif; }\n.vc-calculator { font-family:var(--vc-font); font-size:15px; line-height:1.65; color:var(--vc-ink); max-width:960px; margin:0 auto; padding:20px 16px 40px; -webkit-font-smoothing:antialiased; }\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing:border-box; }\n.vc-header { text-align:center; padding:48px 24px 40px; position:relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\n.vc-unit-bar { display:flex; border-bottom:1px solid var(--vc-border-light); background:var(--vc-surface-alt); }\n.vc-unit-btn { flex:1; padding:12px; border:none; background:transparent; font-family:var(--vc-font); font-size:13px; font-weight:600; color:var(--vc-ink-muted); cursor:pointer; transition:all 0.2s; position:relative; }\n.vc-unit-btn:hover { color:var(--vc-ink-secondary); background:rgba(200,90,42,0.04); }\n.vc-unit-btn.vc-active { color:var(--vc-accent); background:var(--vc-surface); }\n.vc-unit-btn.vc-active::after { content:''; position:absolute; bottom:-1px; left:16px; right:16px; height:2px; background:var(--vc-accent); border-radius:1px 1px 0 0; }\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column:1\/-1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:3000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1\/-1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n\n\/* Regime bar *\/\n.vc-regime-bar { height:12px; border-radius:6px; margin:12px 0; background:linear-gradient(to right, var(--vc-green) 0%, var(--vc-green) 23%, var(--vc-yellow) 23%, var(--vc-yellow) 40%, var(--vc-red) 40%, var(--vc-red) 100%); position:relative; overflow:visible; }\n.vc-regime-marker { position:absolute; top:-4px; width:4px; height:20px; background:var(--vc-ink); border-radius:2px; transform:translateX(-50%); transition:left 0.3s; }\n.vc-regime-labels { display:flex; justify-content:space-between; font-size:10px; color:var(--vc-ink-muted); font-family:var(--vc-mono); margin-top:4px; }\n\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; } .vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; } .vc-faq-a-inner li { margin-bottom:3px; }\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); } .vc-promo-text strong { color:var(--vc-ink); }\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; } .vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; } .vc-footer-links a { margin:0 8px; }\n.vc-viz { margin:20px 0; background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; overflow:hidden; }\n.vc-viz svg { width:100%; height:auto; display:block; }\n.vc-viz-title { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:12px; }\n@media print { .vc-section-body { max-height:none!important; } .vc-faq-a { max-height:none!important; } .vc-results { max-height:none!important; padding:24px!important; } .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; } }\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-reynolds-number-calculator\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Reynolds Number Calculator<\/h1>\n    <p class=\"vc-header-subtitle\">Calculate Reynolds number from velocity or flow rate. Visual laminar\/transition\/turbulent indicator. Entry length calculation and common fluid presets.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">Re = vD\/\u03bd<\/span>\n        <span class=\"vc-badge\">Laminar \/ Turbulent<\/span>\n        <span class=\"vc-badge\">Entry Length<\/span>\n        <span class=\"vc-badge\">Fluid Presets<\/span>\n    <\/div>\n<\/header>\n\n<div class=\"vc-card\">\n    <div class=\"vc-unit-bar\">\n        <button type=\"button\" class=\"vc-unit-btn vc-active\" data-system=\"metric\">Metric (m\/s, mm, L\/min)<\/button>\n        <button type=\"button\" class=\"vc-unit-btn\" data-system=\"imperial\">Imperial (ft\/s, in, GPM)<\/button>\n    <\/div>\n\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-input-mode\">Input Mode<\/label>\n                <select class=\"vc-select\" id=\"vc-input-mode\">\n                    <option value=\"velocity\" selected>Velocity + Diameter<\/option>\n                    <option value=\"flowrate\">Flow Rate + Diameter<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-vel\">\n                <label class=\"vc-label\" for=\"vc-vel\">Flow Velocity <span class=\"vc-label-hint\" id=\"vc-vel-hint\">(m\/s)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-vel\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"2\">\n            <\/div>\n            <div class=\"vc-field\" id=\"vc-field-flow\" style=\"display:none\">\n                <label class=\"vc-label\" for=\"vc-flow\">Flow Rate <span class=\"vc-label-hint\" id=\"vc-flow-hint\">(L\/min)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-flow\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"60\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-dia\">Pipe Inner Diameter <span class=\"vc-label-hint\" id=\"vc-dia-hint\">(mm)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-dia\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"25\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-visc\">Kinematic Viscosity <span class=\"vc-label-hint\">(cSt = mm\u00b2\/s)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-visc\" inputmode=\"decimal\" step=\"any\" min=\"0\" value=\"32\">\n            <\/div>\n        <\/div>\n\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Fluid presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-nu=\"1.004\" data-label=\"Water 20\u00b0C\">Water 20\u00b0C (1 cSt)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-nu=\"32\" data-label=\"ISO VG 32 @ 40\u00b0C\">Hyd. Oil VG32 (32 cSt)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-nu=\"46\" data-label=\"ISO VG 46 @ 40\u00b0C\">Hyd. Oil VG46 (46 cSt)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-nu=\"15.6\" data-label=\"Air 20\u00b0C 1atm\">Air 20\u00b0C (15.6 cSt)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-nu=\"0.658\" data-label=\"Water 40\u00b0C\">Water 40\u00b0C (0.66 cSt)<\/button>\n        <\/div>\n    <\/form>\n\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\">\n                <div class=\"vc-rcard-label\">Reynolds Number<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-re\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Flow Regime<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-regime\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Flow Velocity<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-vel\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Critical Velocity (Re=2300)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-vcrit\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Entry Length Le<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-le\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Entry Length \/ Diameter<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-led\">\u2014<\/div>\n            <\/div>\n        <\/div>\n        <!-- Visual regime indicator -->\n        <div class=\"vc-regime-bar\"><div class=\"vc-regime-marker\" id=\"vc-regime-marker\"><\/div><\/div>\n        <div class=\"vc-regime-labels\"><span>Laminar<\/span><span>2300<\/span><span>Transition<\/span><span>4000<\/span><span>Turbulent<\/span><\/div>\n        <div class=\"vc-viz\" id=\"vc-viz\"><div class=\"vc-viz-title\">Flow Regime Visualization<\/div><svg id=\"vc-viz-svg\" viewBox=\"0 0 600 200\"><\/svg><\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Theory &amp; Formulas<\/span><\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Reynolds Number<\/h3>\n            <p>The Reynolds number is the ratio of inertial forces to viscous forces in a flowing fluid:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <ul>\n                <li><strong>v<\/strong> \u2014 flow velocity (m\/s)<\/li>\n                <li><strong>D<\/strong> \u2014 pipe inner diameter (m)<\/li>\n                <li><strong>\u03bd<\/strong> \u2014 kinematic viscosity (m\u00b2\/s); 1 cSt = 10\u207b\u2076 m\u00b2\/s<\/li>\n                <li><strong>\u03c1<\/strong> \u2014 fluid density (kg\/m\u00b3)<\/li>\n                <li><strong>\u03bc<\/strong> \u2014 dynamic viscosity (Pa\u00b7s)<\/li>\n            <\/ul>\n\n            <h3>Flow Regime Thresholds<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Reynolds Range<\/th><th>Regime<\/th><th>Characteristics<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>Re &lt; 2,300<\/td><td style=\"color:var(--vc-green);font-weight:600\">Laminar<\/td><td>Smooth, orderly layers; friction factor f = 64\/Re; predictable<\/td><\/tr>\n                    <tr><td>2,300 \u2013 4,000<\/td><td style=\"color:var(--vc-yellow);font-weight:600\">Transition<\/td><td>Unstable; intermittent turbulence; avoid designing here<\/td><\/tr>\n                    <tr><td>Re &gt; 4,000<\/td><td style=\"color:var(--vc-red);font-weight:600\">Turbulent<\/td><td>Chaotic; higher friction; use Colebrook-White for f<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Hydrodynamic Entry Length<\/h3>\n            <p>The distance from the pipe inlet until the velocity profile becomes fully developed:<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n\n            <h3>Common Fluid Viscosities<\/h3>\n            <table class=\"vc-table\">\n                <thead><tr><th>Fluid<\/th><th>Temperature<\/th><th>\u03bd (cSt)<\/th><th>\u03c1 (kg\/m\u00b3)<\/th><\/tr><\/thead>\n                <tbody>\n                    <tr><td>Water<\/td><td>20\u00b0C<\/td><td>1.004<\/td><td>998<\/td><\/tr>\n                    <tr><td>Water<\/td><td>40\u00b0C<\/td><td>0.658<\/td><td>992<\/td><\/tr>\n                    <tr><td>Water<\/td><td>80\u00b0C<\/td><td>0.365<\/td><td>972<\/td><\/tr>\n                    <tr><td>Hydraulic Oil ISO VG 32<\/td><td>40\u00b0C<\/td><td>32<\/td><td>870<\/td><\/tr>\n                    <tr><td>Hydraulic Oil ISO VG 46<\/td><td>40\u00b0C<\/td><td>46<\/td><td>870<\/td><\/tr>\n                    <tr><td>Hydraulic Oil ISO VG 68<\/td><td>40\u00b0C<\/td><td>68<\/td><td>880<\/td><\/tr>\n                    <tr><td>Air<\/td><td>20\u00b0C, 1 atm<\/td><td>15.6<\/td><td>1.204<\/td><\/tr>\n                    <tr><td>Engine Oil SAE 30<\/td><td>40\u00b0C<\/td><td>100<\/td><td>880<\/td><\/tr>\n                <\/tbody>\n            <\/table>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Hydraulic System<\/div>\n                <p><strong>Given:<\/strong> v = 2 m\/s, D = 25 mm, Oil ISO VG 32 at 40\u00b0C (\u03bd = 32 cSt)<\/p>\n                <p>Re = 2 \u00d7 0.025 \/ (32 \u00d7 10\u207b\u2076) = <strong>1,563<\/strong><\/p>\n                <p>Regime: <strong>Laminar<\/strong> (Re &lt; 2300)<\/p>\n                <p>Entry length: Le = 0.06 \u00d7 1563 \u00d7 0.025 = <strong>2.34 m<\/strong><\/p>\n                <p>Critical velocity for Re = 2300: v_crit = 2300 \u00d7 32 \u00d7 10\u207b\u2076 \/ 0.025 = <strong>2.94 m\/s<\/strong><\/p>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>\ud83d\udca1 Tip:<\/strong> In hydraulic systems with oil (\u03bd = 30\u2013100 cSt), flow is almost always laminar due to high viscosity. Water systems typically have turbulent flow because \u03bd \u2248 1 cSt.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-pressure-drop\/\">Pipe Pressure Drop<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-flow-velocity\/\">Flow Velocity<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/pipe-diameter-flow-rate\/\">Pipe Diameter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/valve-flow-coefficient\/\">Valve Kv\/Cv<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\u2753<\/span><span class=\"vc-section-title\">Frequently Asked Questions<\/span><\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>Professional field balancing instruments and software. Used in 50+ countries.<\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Reynolds number: Re = vD\/\u03bd. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n    var SLUG = 'reynolds-number-calculator';\n    var unitSystem = 'metric';\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if (isNaN(n) || !isFinite(n)) return '\u2014'; var f = n.toFixed(d === undefined ? 2 : d); return f.replace(\/(\\.\\d*?)0+$\/, '$1').replace(\/\\.$\/, ''); }\n    function fmtInt(n) { if (isNaN(n) || !isFinite(n)) return '\u2014'; return Math.round(n).toLocaleString('en-US'); }\n\n    function updateFields() {\n        var mode = $('vc-input-mode').value;\n        $('vc-field-vel').style.display = mode === 'velocity' ? '' : 'none';\n        $('vc-field-flow').style.display = mode === 'flowrate' ? '' : 'none';\n    }\n\n    function calculate() {\n        var mode = $('vc-input-mode').value;\n        var D_raw = parseFloat($('vc-dia').value);\n        var nu = parseFloat($('vc-visc').value);\n\n        if (!D_raw || !nu || D_raw <= 0 || nu <= 0) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        var D_m = unitSystem === 'imperial' ? D_raw * 0.0254 : D_raw \/ 1000;\n        var nu_m2s = nu * 1e-6;\n        var v;\n\n        if (mode === 'velocity') {\n            var v_raw = parseFloat($('vc-vel').value);\n            if (!v_raw || v_raw <= 0) { $('vc-results').classList.remove('vc-visible'); return; }\n            v = unitSystem === 'imperial' ? v_raw * 0.3048 : v_raw;\n        } else {\n            var Q_raw = parseFloat($('vc-flow').value);\n            if (!Q_raw || Q_raw <= 0) { $('vc-results').classList.remove('vc-visible'); return; }\n            var Q_m3s = unitSystem === 'imperial' ? Q_raw * 6.309e-5 : Q_raw \/ 60000;\n            var A = Math.PI \/ 4 * D_m * D_m;\n            v = Q_m3s \/ A;\n        }\n\n        var Re = v * D_m \/ nu_m2s;\n        var regime = Re < 2300 ? 'Laminar' : Re > 4000 ? 'Turbulent' : 'Transition';\n        var regColor = Re < 2300 ? 'var(--vc-green)' : Re > 4000 ? 'var(--vc-red)' : 'var(--vc-yellow)';\n        var v_crit = 2300 * nu_m2s \/ D_m;\n\n        \/\/ Entry length\n        var Le;\n        if (Re < 2300) {\n            Le = 0.06 * Re * D_m;\n        } else {\n            Le = 4.4 * Math.pow(Re, 1\/6) * D_m;\n        }\n        var LeD = Le \/ D_m;\n\n        \/\/ Display\n        $('vc-r-re').innerHTML = fmtInt(Re);\n        $('vc-r-regime').innerHTML = '<span style=\"color:' + regColor + ';font-weight:700\">' + regime + '<\/span>';\n        $('vc-r-vel').innerHTML = fmt(v, 3) + ' <span class=\"vc-rcard-unit\">m\/s<\/span> (' + fmt(v * 3.28084, 2) + ' ft\/s)';\n        $('vc-r-vcrit').innerHTML = fmt(v_crit, 3) + ' <span class=\"vc-rcard-unit\">m\/s<\/span>';\n        $('vc-r-le').innerHTML = fmt(Le, Le < 1 ? 3 : 1) + ' <span class=\"vc-rcard-unit\">m<\/span> (' + fmt(Le * 3.28084, 1) + ' ft)';\n        $('vc-r-led').innerHTML = fmt(LeD, 0) + ' <span class=\"vc-rcard-unit\">\u00d7 D<\/span>';\n\n        \/\/ Regime marker position (0-100%)\n        var pct;\n        if (Re <= 0) pct = 0;\n        else if (Re < 2300) pct = (Re \/ 2300) * 23;\n        else if (Re <= 4000) pct = 23 + ((Re - 2300) \/ 1700) * 17;\n        else pct = 40 + Math.min((Re - 4000) \/ 20000, 1) * 60;\n        $('vc-regime-marker').style.left = Math.min(pct, 98) + '%';\n\n        $('vc-results').classList.add('vc-visible');\n        drawViz(Re,regime,D_m);\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('mode', mode);\n        if (mode === 'velocity') u.searchParams.set('vel', $('vc-vel').value);\n        else u.searchParams.set('flow', $('vc-flow').value);\n        u.searchParams.set('dia', D_raw);\n        u.searchParams.set('visc', nu);\n        u.searchParams.set('units', unitSystem);\n        history.replaceState(null, '', u.toString());\n\n        saveHistory({ Re: fmtInt(Re), regime: regime, _summary: 'Re=' + fmtInt(Re) + ' ' + regime });\n    }\n\n    function drawViz(Re, regime, D_m) {\n        var svg = $('vc-viz-svg'); var ns = 'http:\/\/www.w3.org\/2000\/svg'; svg.innerHTML = '';\n        var blue = getComputedStyle(document.documentElement).getPropertyValue('--vc-blue').trim() || '#2a5c8c';\n        var accent = getComputedStyle(document.documentElement).getPropertyValue('--vc-accent').trim() || '#c85a2a';\n        var muted = getComputedStyle(document.documentElement).getPropertyValue('--vc-ink-muted').trim() || '#8a857e';\n        var green = getComputedStyle(document.documentElement).getPropertyValue('--vc-green').trim() || '#2a7a4b';\n        var yellow = getComputedStyle(document.documentElement).getPropertyValue('--vc-yellow').trim() || '#a67c00';\n\n        var pipeX = 60, pipeY = 40, pipeW = 420, pipeH = 100, pipeEndY = pipeY + pipeH;\n        var flowColor = Re < 2300 ? blue : Re > 4000 ? accent : yellow;\n        var regLabel = Re < 2300 ? 'Laminar' : Re > 4000 ? 'Turbulent' : 'Transition';\n\n        \/\/ Pipe outer walls\n        var wTop = document.createElementNS(ns, 'line'); wTop.setAttribute('x1', pipeX); wTop.setAttribute('y1', pipeY); wTop.setAttribute('x2', pipeX + pipeW); wTop.setAttribute('y2', pipeY); wTop.setAttribute('stroke', muted); wTop.setAttribute('stroke-width', 3); svg.appendChild(wTop);\n        var wBot = document.createElementNS(ns, 'line'); wBot.setAttribute('x1', pipeX); wBot.setAttribute('y1', pipeEndY); wBot.setAttribute('x2', pipeX + pipeW); wBot.setAttribute('y2', pipeEndY); wBot.setAttribute('stroke', muted); wBot.setAttribute('stroke-width', 3); svg.appendChild(wBot);\n\n        \/\/ Pipe fill\n        var pFill = document.createElementNS(ns, 'rect'); pFill.setAttribute('x', pipeX); pFill.setAttribute('y', pipeY + 2); pFill.setAttribute('width', pipeW); pFill.setAttribute('height', pipeH - 4); pFill.setAttribute('fill', flowColor); pFill.setAttribute('opacity', '0.04'); svg.appendChild(pFill);\n\n        \/\/ Entry length dashed line\n        var entryFrac = Re < 2300 ? Math.min(0.06 * Re * 0.001 \/ 2, 0.85) : Math.min(4.4 * Math.pow(Re, 1\/6) * 0.001 \/ 2, 0.4);\n        entryFrac = Math.max(0.08, Math.min(entryFrac, 0.85));\n        var entryX = pipeX + pipeW * entryFrac;\n        var el = document.createElementNS(ns, 'line'); el.setAttribute('x1', entryX); el.setAttribute('y1', pipeY + 4); el.setAttribute('x2', entryX); el.setAttribute('y2', pipeEndY - 4); el.setAttribute('stroke', muted); el.setAttribute('stroke-width', 1); el.setAttribute('stroke-dasharray', '4,3'); el.setAttribute('opacity', '0.6'); svg.appendChild(el);\n        var elLbl = document.createElementNS(ns, 'text'); elLbl.setAttribute('x', entryX); elLbl.setAttribute('y', pipeEndY + 16); elLbl.setAttribute('font-size', '9'); elLbl.setAttribute('font-family', 'JetBrains Mono,monospace'); elLbl.setAttribute('fill', muted); elLbl.setAttribute('text-anchor', 'middle'); elLbl.textContent = 'Entry length'; svg.appendChild(elLbl);\n\n        \/\/ Boundary layer development (top and bottom curves from inlet to entry length)\n        var blPts = 12;\n        var blTopD = 'M' + pipeX + ',' + pipeY;\n        var blBotD = 'M' + pipeX + ',' + pipeEndY;\n        for (var i = 1; i <= blPts; i++) {\n            var frac = i \/ blPts;\n            var bx = pipeX + (entryX - pipeX) * frac;\n            var thick = Math.sqrt(frac) * (pipeH * 0.15);\n            blTopD += ' L' + bx + ',' + (pipeY + thick);\n            blBotD += ' L' + bx + ',' + (pipeEndY - thick);\n        }\n        var blTop = document.createElementNS(ns, 'path'); blTop.setAttribute('d', blTopD); blTop.setAttribute('fill', 'none'); blTop.setAttribute('stroke', flowColor); blTop.setAttribute('stroke-width', 1); blTop.setAttribute('stroke-dasharray', '3,3'); blTop.setAttribute('opacity', '0.5'); svg.appendChild(blTop);\n        var blBot = document.createElementNS(ns, 'path'); blBot.setAttribute('d', blBotD); blBot.setAttribute('fill', 'none'); blBot.setAttribute('stroke', flowColor); blBot.setAttribute('stroke-width', 1); blBot.setAttribute('stroke-dasharray', '3,3'); blBot.setAttribute('opacity', '0.5'); svg.appendChild(blBot);\n\n        \/\/ Streamlines\n        var nLines = 7;\n        var midY = pipeY + pipeH \/ 2;\n        if (Re < 2300) {\n            \/\/ Laminar: smooth parallel curves\n            for (var s = 0; s < nLines; s++) {\n                var yFrac = (s + 1) \/ (nLines + 1);\n                var lineY = pipeY + 6 + (pipeH - 12) * yFrac;\n                var d = 'M' + pipeX + ',' + lineY;\n                for (var x = pipeX + 10; x <= pipeX + pipeW; x += 10) { d += ' L' + x + ',' + lineY; }\n                var sl = document.createElementNS(ns, 'path'); sl.setAttribute('d', d); sl.setAttribute('fill', 'none'); sl.setAttribute('stroke', flowColor); sl.setAttribute('stroke-width', 1.2); sl.setAttribute('opacity', '0.6'); svg.appendChild(sl);\n            }\n        } else if (Re > 4000) {\n            \/\/ Turbulent: chaotic streamlines\n            for (var s = 0; s < nLines; s++) {\n                var yFrac = (s + 1) \/ (nLines + 1);\n                var baseY = pipeY + 6 + (pipeH - 12) * yFrac;\n                var d = 'M' + pipeX + ',' + baseY;\n                var cy2 = baseY;\n                var amp = 4 + Math.random() * 6;\n                for (var x = pipeX + 8; x <= pipeX + pipeW; x += 8) {\n                    cy2 += (Math.random() - 0.5) * amp;\n                    cy2 = Math.max(pipeY + 6, Math.min(pipeEndY - 6, cy2));\n                    d += ' L' + x + ',' + cy2;\n                }\n                var sl = document.createElementNS(ns, 'path'); sl.setAttribute('d', d); sl.setAttribute('fill', 'none'); sl.setAttribute('stroke', flowColor); sl.setAttribute('stroke-width', 1.2); sl.setAttribute('opacity', '0.5'); svg.appendChild(sl);\n            }\n        } else {\n            \/\/ Transition: slightly wavy\n            for (var s = 0; s < nLines; s++) {\n                var yFrac = (s + 1) \/ (nLines + 1);\n                var baseY = pipeY + 6 + (pipeH - 12) * yFrac;\n                var d = 'M' + pipeX + ',' + baseY;\n                var cy2 = baseY;\n                for (var x = pipeX + 8; x <= pipeX + pipeW; x += 8) {\n                    cy2 = baseY + Math.sin(x * 0.05 + s) * (3 + Math.random() * 2);\n                    cy2 = Math.max(pipeY + 6, Math.min(pipeEndY - 6, cy2));\n                    d += ' L' + x + ',' + cy2;\n                }\n                var sl = document.createElementNS(ns, 'path'); sl.setAttribute('d', d); sl.setAttribute('fill', 'none'); sl.setAttribute('stroke', flowColor); sl.setAttribute('stroke-width', 1.2); sl.setAttribute('opacity', '0.55'); svg.appendChild(sl);\n            }\n        }\n\n        \/\/ Flow direction arrow\n        var arX = pipeX + pipeW - 30, arY = midY;\n        var arr = document.createElementNS(ns, 'polygon'); arr.setAttribute('points', (arX + 14) + ',' + arY + ' ' + (arX) + ',' + (arY - 6) + ' ' + (arX) + ',' + (arY + 6)); arr.setAttribute('fill', flowColor); arr.setAttribute('opacity', '0.7'); svg.appendChild(arr);\n\n        \/\/ Velocity profile on right side\n        var vpX = pipeX + pipeW + 15;\n        var vpW = 60;\n        var vpPts = 20;\n        var vpD = '';\n        for (var j = 0; j <= vpPts; j++) {\n            var yFrac = j \/ vpPts;\n            var r_norm = 2 * yFrac - 1; \/\/ -1 to 1\n            var vp;\n            if (Re < 2300) { vp = 1 - r_norm * r_norm; } \/\/ parabolic\n            else if (Re > 4000) { vp = Math.pow(1 - Math.abs(r_norm), 1\/7); } \/\/ 1\/7th power law\n            else { vp = Math.pow(1 - Math.abs(r_norm), 0.35); } \/\/ blended\n            var px = vpX + vp * vpW;\n            var py = pipeY + 4 + (pipeH - 8) * yFrac;\n            vpD += (j === 0 ? 'M' : ' L') + px + ',' + py;\n        }\n        \/\/ Close the profile to make a filled shape\n        var vpFill = document.createElementNS(ns, 'path');\n        var closedD = vpD + ' L' + vpX + ',' + (pipeEndY - 4) + ' L' + vpX + ',' + (pipeY + 4) + ' Z';\n        vpFill.setAttribute('d', closedD); vpFill.setAttribute('fill', flowColor); vpFill.setAttribute('opacity', '0.1'); svg.appendChild(vpFill);\n        var vpLine = document.createElementNS(ns, 'path'); vpLine.setAttribute('d', vpD); vpLine.setAttribute('fill', 'none'); vpLine.setAttribute('stroke', flowColor); vpLine.setAttribute('stroke-width', 2); svg.appendChild(vpLine);\n        \/\/ Profile baseline\n        var vpBase = document.createElementNS(ns, 'line'); vpBase.setAttribute('x1', vpX); vpBase.setAttribute('y1', pipeY + 4); vpBase.setAttribute('x2', vpX); vpBase.setAttribute('y2', pipeEndY - 4); vpBase.setAttribute('stroke', muted); vpBase.setAttribute('stroke-width', 1); vpBase.setAttribute('stroke-dasharray', '3,3'); svg.appendChild(vpBase);\n        var vpLbl = document.createElementNS(ns, 'text'); vpLbl.setAttribute('x', vpX + vpW \/ 2); vpLbl.setAttribute('y', pipeEndY + 16); vpLbl.setAttribute('font-size', '9'); vpLbl.setAttribute('font-family', 'JetBrains Mono,monospace'); vpLbl.setAttribute('fill', muted); vpLbl.setAttribute('text-anchor', 'middle'); vpLbl.textContent = 'v(r)'; svg.appendChild(vpLbl);\n\n        \/\/ Label: regime and Re\n        var lbl = document.createElementNS(ns, 'text'); lbl.setAttribute('x', pipeX + pipeW \/ 2); lbl.setAttribute('y', pipeY - 12); lbl.setAttribute('font-size', '13'); lbl.setAttribute('font-family', 'JetBrains Mono,monospace'); lbl.setAttribute('fill', flowColor); lbl.setAttribute('text-anchor', 'middle'); lbl.setAttribute('font-weight', '700'); lbl.textContent = regLabel + '  (Re = ' + fmtInt(Re) + ')'; svg.appendChild(lbl);\n\n        \/\/ Inlet label\n        var inLbl = document.createElementNS(ns, 'text'); inLbl.setAttribute('x', pipeX); inLbl.setAttribute('y', pipeEndY + 16); inLbl.setAttribute('font-size', '9'); inLbl.setAttribute('font-family', 'JetBrains Mono,monospace'); inLbl.setAttribute('fill', muted); inLbl.setAttribute('text-anchor', 'middle'); inLbl.textContent = 'Inlet'; svg.appendChild(inLbl);\n    }\n\n    var unitBtns = document.querySelectorAll('.vc-unit-btn');\n    unitBtns.forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            unitBtns.forEach(function(b) { b.classList.remove('vc-active'); });\n            this.classList.add('vc-active');\n            unitSystem = this.getAttribute('data-system');\n            $('vc-vel-hint').textContent = unitSystem === 'imperial' ? '(ft\/s)' : '(m\/s)';\n            $('vc-flow-hint').textContent = unitSystem === 'imperial' ? '(US GPM)' : '(L\/min)';\n            $('vc-dia-hint').textContent = unitSystem === 'imperial' ? '(inches)' : '(mm)';\n            try { localStorage.setItem('vc_units', unitSystem); } catch(e) {}\n            calculate();\n        });\n    });\n\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-visc').value = this.getAttribute('data-nu');\n            calculate();\n        });\n    });\n\n    $('vc-form').addEventListener('input', function() { updateFields(); calculate(); });\n    $('vc-form').addEventListener('change', function() { updateFields(); calculate(); });\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Reynolds Number Calculation\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'Re: ' + $('vc-r-re').textContent + '\\nRegime: ' + $('vc-r-regime').textContent + '\\n' +\n            'Velocity: ' + $('vc-r-vel').textContent + '\\nCritical vel: ' + $('vc-r-vcrit').textContent + '\\n' +\n            'Entry length: ' + $('vc-r-le').textContent + '\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nvibromera.eu\/calculators\/reynolds-number-calculator\/';\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn'); btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() { btn.classList.remove('vc-copied'); btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy'; }, 2000);\n            });\n        }\n    });\n\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() { var s = this.closest('.vc-section'); s.classList.toggle('vc-open'); this.setAttribute('aria-expanded', s.classList.contains('vc-open')); });\n    });\n\n    var faqData = [\n        { q: 'What is the Reynolds number?', a: '<p>The Reynolds number <strong>Re = vD\/\u03bd<\/strong> is a dimensionless number that compares inertial forces to viscous forces in a flowing fluid. It predicts whether flow will be laminar (smooth) or turbulent (chaotic).<\/p><p>Named after Osborne Reynolds who demonstrated the transition in his famous 1883 experiment using dye in a glass tube.<\/p>' },\n        { q: 'What determines laminar vs turbulent flow?', a: '<p>For pipe flow, the critical thresholds are:<\/p><ul><li><strong>Re &lt; 2,300:<\/strong> Laminar \u2014 fluid moves in smooth parallel layers<\/li><li><strong>2,300 \u2013 4,000:<\/strong> Transition \u2014 flow is unstable, may switch between laminar and turbulent<\/li><li><strong>Re &gt; 4,000:<\/strong> Turbulent \u2014 chaotic mixing, eddies, higher energy loss<\/li><\/ul><p>These thresholds are for circular pipes. For open channels and other geometries, different critical values apply.<\/p>' },\n        { q: 'What is kinematic viscosity and how does it relate to dynamic viscosity?', a: '<p><strong>Kinematic viscosity<\/strong> \u03bd = \u03bc\/\u03c1, where \u03bc is dynamic viscosity and \u03c1 is density.<\/p><p>Units: m\u00b2\/s or cSt (centistokes). 1 cSt = 10\u207b\u2076 m\u00b2\/s.<\/p><p>Common values: water at 20\u00b0C \u2248 1 cSt; hydraulic oil VG 32 at 40\u00b0C \u2248 32 cSt; air at 20\u00b0C \u2248 15.6 cSt (much higher than water due to low density despite low dynamic viscosity).<\/p>' },\n        { q: 'What is the hydrodynamic entry length?', a: '<p>When fluid enters a pipe, the velocity profile is initially flat (uniform). As viscous effects propagate from the wall, the profile gradually develops into the fully-developed shape (parabolic for laminar).<\/p><p>The <strong>entry length<\/strong> is the distance needed:<\/p><ul><li><strong>Laminar:<\/strong> Le \u2248 0.06 \u00d7 Re \u00d7 D (can be very long at high Re)<\/li><li><strong>Turbulent:<\/strong> Le \u2248 4.4 \u00d7 Re<sup>1\/6<\/sup> \u00d7 D (relatively short, 10\u201360 diameters)<\/li><\/ul>' },\n        { q: 'How does temperature affect Reynolds number?', a: '<p>Temperature strongly affects viscosity, especially for oils. Hydraulic oil viscosity drops approximately <strong>50% for every 20\u00b0C increase<\/strong>.<\/p><p>Example: ISO VG 46 oil is ~46 cSt at 40\u00b0C but ~200 cSt at 0\u00b0C and ~15 cSt at 80\u00b0C. This dramatically changes the Reynolds number \u2014 cold-start conditions may have very different flow regimes than operating temperature.<\/p><p>Water viscosity changes less dramatically: ~1.8 cSt at 0\u00b0C, ~1 cSt at 20\u00b0C, ~0.3 cSt at 80\u00b0C.<\/p>' }\n    ];\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) { var b = e.target.closest('.vc-faq-q'); if (b) b.closest('.vc-faq-item').classList.toggle('vc-open'); });\n\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG; var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString(); arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('mode')) $('vc-input-mode').value = p.get('mode');\n        if (p.has('vel')) $('vc-vel').value = p.get('vel');\n        if (p.has('flow')) $('vc-flow').value = p.get('flow');\n        if (p.has('dia')) $('vc-dia').value = p.get('dia');\n        if (p.has('visc')) $('vc-visc').value = p.get('visc');\n        if (p.get('units') === 'imperial') {\n            unitSystem = 'imperial';\n            unitBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-system') === 'imperial'); });\n            $('vc-vel-hint').textContent = '(ft\/s)';\n            $('vc-flow-hint').textContent = '(US GPM)';\n            $('vc-dia-hint').textContent = '(inches)';\n        }\n    }\n\n    function renderFormulas() {\n        try {\n            katex.render('Re = \\\\frac{v \\\\cdot D}{\\\\nu} = \\\\frac{\\\\rho \\\\cdot v \\\\cdot D}{\\\\mu}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('L_e \\\\approx 0.06 \\\\cdot Re \\\\cdot D \\\\quad \\\\text{(laminar)}', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('L_e \\\\approx 4.4 \\\\cdot Re^{1\/6} \\\\cdot D \\\\quad \\\\text{(turbulent)}', $('vc-katex-3'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    function init() {\n        try { var saved = localStorage.getItem('vc_units'); if (saved === 'imperial') { unitSystem = 'imperial'; unitBtns.forEach(function(b) { b.classList.toggle('vc-active', b.getAttribute('data-system') === 'imperial'); }); $('vc-vel-hint').textContent = '(ft\/s)'; $('vc-flow-hint').textContent = '(US GPM)'; $('vc-dia-hint').textContent = '(inches)'; } } catch(e) {}\n        loadParams();\n        updateFields();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u09ac\u09bf\u09a8\u09be\u09ae\u09c2\u09b2\u09cd\u09af\u09c7 \u09b0\u09c7\u09a8\u09b2\u09cd\u09a1\u09b8 \u09b8\u0982\u0996\u09cd\u09af\u09be \u0995\u09cd\u09af\u09be\u09b2\u0995\u09c1\u09b2\u09c7\u099f\u09b0\u0964 \u09a6\u09cd\u09ac\u09bf\u09ae\u09c1\u0996\u09c0: \u09ac\u09c7\u0997 \u09ac\u09be \u09aa\u09cd\u09b0\u09ac\u09be\u09b9 \u09b9\u09be\u09b0 \u09a5\u09c7\u0995\u09c7\u0964 \u09ad\u09bf\u099c\u09cd\u09af\u09c1\u09af\u09bc\u09be\u09b2 \u09b2\u09cd\u09af\u09be\u09ae\u09bf\u09a8\u09be\u09b0\/\u099f\u09cd\u09b0\u09be\u09a8\u099c\u09bf\u09b6\u09a8\/\u099f\u09be\u09b0\u09ac\u09c1\u09b2\u09c7\u09a8\u09cd\u099f \u09a8\u09bf\u09b0\u09cd\u09a6\u09c7\u09b6\u0995\u0964 \u098f\u09a8\u09cd\u099f\u09cd\u09b0\u09bf \u09a6\u09c8\u09b0\u09cd\u0998\u09cd\u09af \u0997\u09a3\u09a8\u09be\u0964 \u09b8\u09be\u09a7\u09be\u09b0\u09a3 \u09a4\u09b0\u09b2 \u09b8\u09be\u09a8\u09cd\u09a6\u09cd\u09b0\u09a4\u09be \u09aa\u09cd\u09b0\u09bf\u09b8\u09c7\u099f\u0964<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100205","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100205\/revisions"}],"predecessor-version":[{"id":100784,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100205\/revisions\/100784"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}