{"id":100305,"date":"2026-02-15T20:45:09","date_gmt":"2026-02-15T20:45:09","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100305"},"modified":"2026-07-17T13:58:46","modified_gmt":"2026-07-17T13:58:46","slug":"viscosity-unit-converter","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/pl\/calculators\/viscosity-unit-converter\/","title":{"rendered":"Same-Temperature Viscosity Unit and Relation Worksheet"},"content":{"rendered":"<p><script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Same-Temperature Viscosity Unit and Relation Worksheet\",\"description\":\"Convert exact units within kinematic or dynamic viscosity. Optionally relate the two quantities only with traceable density for the same fluid state and temperature. No SUS, ISO VG, SAE or product-grade result is embedded.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/viscosity-unit-converter\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"inLanguage\":\"en\"}\n<\/script><br \/>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Controlled viscosity unit relation\",\"item\":\"https:\/\/vibromera.eu\/calculators\/viscosity-unit-converter\/\"}]}\n<\/script><\/p>\n<style>\n#vbm-vu{--ink:#172033;--muted:#566176;--line:#d8dee9;--panel:#fff;--soft:#f5f7fb;--blue:#1459a6;--blue2:#eaf3ff;--green:#176b45;--green2:#eaf8f1;--amber:#8a5a00;--amber2:#fff7df;--red:#a62929;--red2:#fff0f0;color:var(--ink);font:15px\/1.55 system-ui,-apple-system,\"Segoe UI\",sans-serif;max-width:1100px;margin:0 auto;padding:16px;overflow-wrap:anywhere}\n#vbm-vu *{box-sizing:border-box}#vbm-vu h1,#vbm-vu h2,#vbm-vu h3{line-height:1.22;margin:0;color:var(--ink)}#vbm-vu h1{font-size:clamp(1.75rem,4vw,2.55rem)}#vbm-vu h2{font-size:1.35rem;margin-bottom:14px}#vbm-vu h3{font-size:1.05rem;margin-bottom:8px}#vbm-vu p{margin:8px 0}#vbm-vu a{color:var(--blue)}\n.vu-hero{padding:32px 24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef4ff);box-shadow:0 10px 30px rgba(25,55,95,.08)}.vu-kicker{margin:0 0 8px!important;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-size:.78rem}.vu-sub{max-width:850px;color:var(--muted);font-size:1.02rem}.vu-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.vu-badge{display:inline-block;border:1px solid #b9c9df;border-radius:999px;padding:5px 10px;background:#fff;color:#33425a;font-size:.78rem;font-weight:700}\n.vu-panel{margin-top:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:20px;box-shadow:0 5px 18px rgba(25,45,75,.05)}.vu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.vu-full{grid-column:1\/-1}.vu-field label,.vu-gate label{display:block;font-weight:700;margin-bottom:5px}.vu-field input,.vu-field select,.vu-field textarea{display:block;width:100%;min-width:0;border:1px solid #aeb9ca;border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;font:inherit}.vu-field textarea{min-height:76px;resize:vertical}.vu-field input:focus,.vu-field select:focus,.vu-field textarea:focus{outline:3px solid #cfe3ff;border-color:var(--blue)}.vu-help{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}.vu-error{display:block;min-height:1.15em;color:var(--red);font-size:.8rem;font-weight:650;margin-top:3px}.vu-required{color:var(--red)}\n.vu-gates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.vu-gate{border:1px solid var(--line);border-radius:9px;background:var(--soft);padding:11px}.vu-gate label{display:flex;gap:9px;align-items:flex-start;margin:0}.vu-gate input{margin-top:3px;flex:0 0 auto}.vu-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.vu-btn{border:1px solid var(--blue);border-radius:8px;padding:10px 16px;font:inherit;font-weight:750;cursor:pointer}.vu-primary{background:var(--blue);color:#fff}.vu-secondary{background:#fff;color:var(--blue)}\n.vu-status{margin-top:14px;border-radius:10px;padding:12px 14px;background:var(--soft);border:1px solid var(--line)}.vu-status[data-state=\"valid\"]{background:var(--green2);border-color:#9bd0b7}.vu-status[data-state=\"incomplete\"]{background:var(--amber2);border-color:#e4c878}.vu-status[data-state=\"invalid\"]{background:var(--red2);border-color:#e6abab}.vu-status[data-state=\"stale\"]{background:#f3efff;border-color:#c4b4ec}.vu-status-title{font-weight:800}.vu-status-summary{color:var(--muted)}\n.vu-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vu-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:13px}.vu-card strong{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.vu-value{display:block;margin-top:5px;font:700 1.02rem\/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink)}.vu-record{margin-top:12px;border-left:4px solid var(--blue);background:var(--blue2);padding:11px 13px;border-radius:0 8px 8px 0}.vu-formula{font:650 .94rem\/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:10px 12px;overflow-x:auto;white-space:normal}.vu-warning{border-left:4px solid #c38600;background:var(--amber2);padding:11px 13px;border-radius:0 8px 8px 0}.vu-boundary{border-left:4px solid var(--red);background:var(--red2);padding:11px 13px;border-radius:0 8px 8px 0}\n.vu-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}.vu-table{width:100%;min-width:780px;border-collapse:collapse;font-size:.86rem}.vu-table th,.vu-table td{border:1px solid var(--line);padding:9px;vertical-align:top;text-align:left}.vu-table th{background:var(--soft)}.vu-notes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.vu-note{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px}.vu-note summary{cursor:pointer;font-weight:750}.vu-note p{color:var(--muted)}.vu-footer{color:var(--muted);font-size:.82rem;text-align:center;padding:20px 8px 6px}\n@media(max-width:760px){#vbm-vu{padding:10px}.vu-hero,.vu-panel{padding:15px}.vu-grid,.vu-gates,.vu-notes{grid-template-columns:minmax(0,1fr)}.vu-full{grid-column:auto}.vu-results{grid-template-columns:minmax(0,1fr)}}\n<\/style>\n<p><main id=\"vbm-vu\"><\/p>\n<section class=\"vu-hero\" aria-labelledby=\"vu-title\">\n<p class=\"vu-kicker\">Exact scale factors and controlled physical relation<\/p>\n<h1 id=\"vu-title\">Same-Temperature Viscosity Unit and Relation Worksheet<\/h1>\n<p class=\"vu-sub\">Convert units within kinematic or dynamic viscosity using exact scale factors. Density is optional: without it, the other viscosity quantity is explicitly not calculated; with it, density must describe the same fluid state at the same declared temperature. No SUS conversion, ISO VG\/SAE grade or product property is built in.<\/p>\n<div class=\"vu-badges\"><span class=\"vu-badge\">Exact SI scaling<\/span><span class=\"vu-badge\">\u03b7 = \u03bd\u03c1<\/span><span class=\"vu-badge\">Density optional and controlled<\/span><span class=\"vu-badge\">No SUS or grade presets<\/span><\/div>\n<\/section>\n<form id=\"vu-form\" novalidate>\n<section class=\"vu-panel\" aria-labelledby=\"vu-input-title\">\n<h2 id=\"vu-input-title\">Traceable input record<\/h2>\n<div class=\"vu-grid\">\n<div class=\"vu-field\"><label for=\"vu-case\">Case \/ calculation ID <span class=\"vu-required\">*<\/span><\/label><input id=\"vu-case\" type=\"text\" autocomplete=\"off\"><span class=\"vu-error\" id=\"vu-err-case\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-sample\">Fluid, sample and batch ID <span class=\"vu-required\">*<\/span><\/label><input id=\"vu-sample\" type=\"text\" autocomplete=\"off\"><span class=\"vu-error\" id=\"vu-err-sample\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-quantity\">Input quantity <span class=\"vu-required\">*<\/span><\/label><select id=\"vu-quantity\"><option value=\"\">Choose\u2026<\/option><option value=\"kinematic\">Kinematic viscosity \u03bd<\/option><option value=\"dynamic\">Dynamic viscosity \u03b7<\/option><\/select><span class=\"vu-error\" id=\"vu-err-quantity\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-unit\">Input unit <span class=\"vu-required\">*<\/span><\/label><select id=\"vu-unit\"><option value=\"\">Choose input quantity first\u2026<\/option><option data-q=\"kinematic\" value=\"mm2s\">mm\u00b2\/s (numerically cSt)<\/option><option data-q=\"kinematic\" value=\"m2s\">m\u00b2\/s<\/option><option data-q=\"dynamic\" value=\"mpas\">mPa\u00b7s (numerically cP)<\/option><option data-q=\"dynamic\" value=\"pas\">Pa\u00b7s<\/option><\/select><span class=\"vu-error\" id=\"vu-err-unit\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-value\">Input value <span class=\"vu-required\">*<\/span><\/label><input id=\"vu-value\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Positive point or comma decimal\"><span class=\"vu-error\" id=\"vu-err-value\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-temp\">Measurement temperature <span class=\"vu-required\">*<\/span><\/label><input id=\"vu-temp\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"\u00b0C\"><span class=\"vu-error\" id=\"vu-err-temp\"><\/span><\/div>\n<div class=\"vu-field vu-full\"><label for=\"vu-source\">Input method, instrument and result source <span class=\"vu-required\">*<\/span><\/label><textarea id=\"vu-source\" placeholder=\"Method designation\/revision, instrument, result\/report ID and uncertainty\"><\/textarea><span class=\"vu-error\" id=\"vu-err-source\"><\/span><\/div>\n<\/p><\/div>\n<div class=\"vu-warning\"><strong>Optional cross-quantity relation:<\/strong> leave all three density fields blank for exact within-quantity unit scaling only. To calculate the other quantity, complete all three fields from the same sample\/state and temperature.<\/div>\n<div class=\"vu-grid\" style=\"margin-top:14px\">\n<div class=\"vu-field\"><label for=\"vu-density\">Optional density \u03c1<\/label><input id=\"vu-density\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"kg\/m\u00b3; no default\"><span class=\"vu-error\" id=\"vu-err-density\"><\/span><\/div>\n<div class=\"vu-field\"><label for=\"vu-density-temp\">Optional density temperature<\/label><input id=\"vu-density-temp\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"\u00b0C; must equal input temperature\"><span class=\"vu-error\" id=\"vu-err-density-temp\"><\/span><\/div>\n<div class=\"vu-field vu-full\"><label for=\"vu-density-source\">Optional density method and source<\/label><textarea id=\"vu-density-source\" placeholder=\"Method\/revision, measured value record, same sample\/state and uncertainty\"><\/textarea><span class=\"vu-error\" id=\"vu-err-density-source\"><\/span><\/div>\n<div class=\"vu-field vu-full\"><label for=\"vu-reviewer\">Reviewer and date <span class=\"vu-required\">*<\/span><\/label><input id=\"vu-reviewer\" type=\"text\" autocomplete=\"off\"><span class=\"vu-error\" id=\"vu-err-reviewer\"><\/span><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"vu-panel\" aria-labelledby=\"vu-gates-title\">\n<h2 id=\"vu-gates-title\">Eight evidence and applicability gates<\/h2>\n<div class=\"vu-gates\">\n<div class=\"vu-gate\"><label for=\"vu-ev-sample\"><input id=\"vu-ev-sample\" type=\"checkbox\">The quantity belongs to the identified fluid sample\/batch and physical state.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-input\"><input id=\"vu-ev-input\" type=\"checkbox\">Input quantity, unit, method, temperature, result ID and uncertainty are verified.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-scale\"><input id=\"vu-ev-scale\" type=\"checkbox\">The exact within-quantity scale factors are appropriate; no grade or property equivalence is implied.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-density\"><input id=\"vu-ev-density\" type=\"checkbox\">No cross-quantity result is needed, or density is measured for the same sample\/state at the same temperature.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-sus\"><input id=\"vu-ev-sus\" type=\"checkbox\">No SUS\/SFS value or Saybolt conversion is required from this worksheet.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-temp\"><input id=\"vu-ev-temp\" type=\"checkbox\">No viscosity-temperature prediction or one-point extrapolation is being performed.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-grade\"><input id=\"vu-ev-grade\" type=\"checkbox\">The result will not be treated as an ISO VG, SAE or product-grade assignment or selection.<\/label><\/div>\n<div class=\"vu-gate\"><label for=\"vu-ev-review\"><input id=\"vu-ev-review\" type=\"checkbox\">An accountable reviewer will retain the input and density source records with the result.<\/label><\/div>\n<\/p><\/div>\n<div class=\"vu-actions\"><button class=\"vu-btn vu-primary\" type=\"submit\">Calculate controlled unit relation<\/button><button class=\"vu-btn vu-secondary\" id=\"vu-clear\" type=\"button\">Clear record<\/button><\/div>\n<div class=\"vu-status\" id=\"vu-status\" data-state=\"empty\" role=\"status\" aria-live=\"polite\">\n<div class=\"vu-status-title\" id=\"vu-status-title\">No current result<\/div>\n<div class=\"vu-status-summary\" id=\"vu-status-summary\">Complete the traceable record and submit explicitly.<\/div>\n<\/div>\n<\/section><\/form>\n<section class=\"vu-panel\" aria-labelledby=\"vu-results-title\">\n<h2 id=\"vu-results-title\">Converted units and optional relation<\/h2>\n<div class=\"vu-results\">\n<div class=\"vu-card\"><strong>Kinematic viscosity<\/strong><span class=\"vu-value\" id=\"vu-out-mm2s\">\u2014<\/span><\/div>\n<div class=\"vu-card\"><strong>Kinematic viscosity (SI)<\/strong><span class=\"vu-value\" id=\"vu-out-m2s\">\u2014<\/span><\/div>\n<div class=\"vu-card\"><strong>Dynamic viscosity<\/strong><span class=\"vu-value\" id=\"vu-out-mpas\">\u2014<\/span><\/div>\n<div class=\"vu-card\"><strong>Dynamic viscosity (SI)<\/strong><span class=\"vu-value\" id=\"vu-out-pas\">\u2014<\/span><\/div>\n<div class=\"vu-card\"><strong>Density relation state<\/strong><span class=\"vu-value\" id=\"vu-out-density\">Not evaluated<\/span><\/div>\n<div class=\"vu-card\"><strong>Evidence state<\/strong><span class=\"vu-value\" id=\"vu-out-evidence\">0 \/ 8 complete<\/span><\/div>\n<\/p><\/div>\n<div class=\"vu-record\"><strong id=\"vu-result-title\">No conversion record<\/strong><\/p>\n<p id=\"vu-result-summary\">No current numerical result is available.<\/p>\n<\/div>\n<\/section>\n<section class=\"vu-panel\" aria-labelledby=\"vu-formula-title\">\n<h2 id=\"vu-formula-title\">Exact scales, relation and dimensional boundary<\/h2>\n<div class=\"vu-formula\">1 mm\u00b2\/s = 1 cSt = 10\u207b\u2076 m\u00b2\/s<\/div>\n<div class=\"vu-formula\">1 mPa\u00b7s = 1 cP = 10\u207b\u00b3 Pa\u00b7s<\/div>\n<div class=\"vu-formula\">\u03b7 = \u03bd\u03c1; \u03b7 [mPa\u00b7s] = \u03bd [mm\u00b2\/s] \u00d7 \u03c1 [kg\/m\u00b3] \/ 1000<\/div>\n<p>Within-quantity unit scaling needs no density. The cross-quantity relation needs a density for the same composition, pressure\/state and temperature. Dimensionally, (m\u00b2\/s)(kg\/m\u00b3) = kg\/(m\u00b7s) = Pa\u00b7s. These are dimensional and physical relations, not ISO VG, SAE or product-selection formulas.<\/p>\n<div class=\"vu-warning\"><strong>Temperature boundary:<\/strong> ASTM D341-20(2025) describes a limited-range viscosity-temperature relationship when kinematic viscosities at two temperatures are known. This worksheet performs no temperature prediction.<\/div>\n<div class=\"vu-boundary\"><strong>Saybolt and decision boundary:<\/strong> ASTM D2161-20(2025) controls official same-temperature SUS\/SFS equations and describes the petroleum-industry practice as obsolete. No protected Saybolt equation is embedded. The result does not assign a grade, select a lubricant or authorize equipment operation.<\/div>\n<\/section>\n<section class=\"vu-panel\" aria-labelledby=\"vu-sources-title\">\n<h2 id=\"vu-sources-title\">Source register and permitted use<\/h2>\n<div class=\"vu-table-wrap\">\n<table class=\"vu-table\">\n<thead>\n<tr>\n<th>ID<\/th>\n<th>Official source and lifecycle<\/th>\n<th>Used for<\/th>\n<th>Not used for<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr id=\"source-S1\">\n<td>S1<\/td>\n<td><a href=\"https:\/\/www.iso.org\/standard\/8774.html\" target=\"_blank\" rel=\"noopener\">ISO 3448:1992, Edition 2<\/a> \u2014 published, confirmed 2023; stage 90.93<\/td>\n<td>Industrial-liquid-lubricant classification scope and lifecycle.<\/td>\n<td>Grade values or this page&#8217;s former preset: NEEDS_LICENSED_SOURCE.<\/td>\n<\/tr>\n<tr id=\"source-S2\">\n<td>S2<\/td>\n<td><a href=\"https:\/\/www.iso.org\/standard\/22787.html\" target=\"_blank\" rel=\"noopener\">ISO 3448:1992\/Cor 1:1993<\/a><\/td>\n<td>Official Technical Corrigendum 1 lifecycle.<\/td>\n<td>No numerical effect guessed from its public title.<\/td>\n<\/tr>\n<tr id=\"source-S3\">\n<td>S3<\/td>\n<td><a href=\"https:\/\/store.astm.org\/standards\/d445\" target=\"_blank\" rel=\"noopener\">ASTM D445-26<\/a> \u2014 active current record<\/td>\n<td>\u03b7 = \u03bd\u03c1 and displayed viscosity-unit identities.<\/td>\n<td>No different-temperature or generic default density.<\/td>\n<\/tr>\n<tr id=\"source-S4\">\n<td>S4<\/td>\n<td><a href=\"https:\/\/store.astm.org\/standards\/d2161\" target=\"_blank\" rel=\"noopener\">ASTM D2161-20(2025)<\/a> \u2014 active current record<\/td>\n<td>Same-temperature SUS\/SFS scope and legacy\/obsolete warning.<\/td>\n<td>Exact equations\/tables: NEEDS_LICENSED_SOURCE; none embedded.<\/td>\n<\/tr>\n<tr id=\"source-S5\">\n<td>S5<\/td>\n<td><a href=\"https:\/\/store.astm.org\/standards\/d341\" target=\"_blank\" rel=\"noopener\">ASTM D341-20(2025)<\/a> \u2014 active current record<\/td>\n<td>Two known temperature points and limited-range warning.<\/td>\n<td>No one-point temperature prediction.<\/td>\n<\/tr>\n<tr id=\"source-S6\">\n<td>S6<\/td>\n<td><a href=\"https:\/\/www.nist.gov\/pml\/special-publication-811\/nist-guide-si-chapter-8\" target=\"_blank\" rel=\"noopener\">NIST SP 811, Chapter 8<\/a> \u2014 official guidance<\/td>\n<td>SI unit framing for dynamic and kinematic viscosity.<\/td>\n<td>No lubricant grade or Saybolt equation.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/section>\n<section class=\"vu-panel\" aria-labelledby=\"vu-review-title\">\n<h2 id=\"vu-review-title\">Corrections made during review<\/h2>\n<div class=\"vu-notes\">\n<details class=\"vu-note\">\n<summary>The generic density fallback was removed<\/summary>\n<p>There is no 860 kg\/m\u00b3 default. Density is optional for unit scaling and mandatory, traceable and same-temperature only for cross-quantity arithmetic.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Exact unit scaling was separated from \u03b7 = \u03bd\u03c1<\/summary>\n<p>cSt\u2194m\u00b2\/s and cP\u2194Pa\u00b7s do not need density; kinematic\u2194dynamic calculation does.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Forward and reverse SUS equations were removed<\/summary>\n<p>The former rational and piecewise approximations were not verified against the complete licensed ASTM D2161 practice and its domain.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Grade, water and engine-oil presets were removed<\/summary>\n<p>No generic ISO VG, water or SAE product property is supplied without a controlled source and exact sample\/state.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Temperature extrapolation is prohibited<\/summary>\n<p>One viscosity point does not define a temperature curve. The page records the measurement temperature but predicts no other temperature.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Traceability and strict locale parsing were added<\/summary>\n<p>Case, sample, method\/result source, temperature and reviewer are required; complete point or comma decimals are accepted and mixed\/partial values are rejected.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>Detached and automatic state was removed<\/summary>\n<p>No prefilled value, auto-calculate, quick preset, clipboard, dynamic result HTML or browser persistence remains.<\/p>\n<\/details>\n<details class=\"vu-note\">\n<summary>FAQ schema and external dependencies were removed<\/summary>\n<p>Oversimplified ISO VG\/SUS\/Walther claims, external fonts and KaTeX no longer create detached or failing content paths.<\/p>\n<\/details><\/div>\n<\/section>\n<p class=\"vu-footer\">Source access and technical review: 17 July 2026. Retain measurement, density and reviewer records with every result.<\/p>\n<p><\/main><br \/>\n<script>\n(function(){\n  'use strict';\n  var form=document.getElementById('vu-form'),clearButton=document.getElementById('vu-clear'),hasResult=false;\n  var gates=['vu-ev-sample','vu-ev-input','vu-ev-scale','vu-ev-density','vu-ev-sus','vu-ev-temp','vu-ev-grade','vu-ev-review'];\n  var outputIds=['vu-out-mm2s','vu-out-m2s','vu-out-mpas','vu-out-pas'];\n  function byId(id){return document.getElementById(id)}\n  function parseStrict(raw){var s=String(raw).trim();if(!\/^[+-]?(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s)||(\/[.]\/.test(s)&&\/,\/.test(s)))return null;var n=Number(s.replace(',','.'));return Number.isFinite(n)?n:null}\n  function fmt(n,d){if(!Number.isFinite(n))return '\u2014';if(n===0)return '0';var a=Math.abs(n);if(a>=1e12||a<1e-8)return n.toExponential(8);var s=n.toFixed(d===undefined?8:d);return s.replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,'')}\n  function setText(id,text){byId(id).textContent=text}\n  function setError(id,text){var e=byId('vu-err-'+id.replace(\/^vu-\/,''));if(e)e.textContent=text||''}\n  function clearErrors(){['vu-case','vu-sample','vu-quantity','vu-unit','vu-value','vu-temp','vu-source','vu-density','vu-density-temp','vu-density-source','vu-reviewer'].forEach(function(id){setError(id,'')})}\n  function gateCount(){return gates.filter(function(id){return byId(id).checked}).length}\n  function clearOutputs(){outputIds.forEach(function(id){setText(id,'\u2014')});setText('vu-out-density','Not evaluated');setText('vu-out-evidence',gateCount()+' \/ 8 complete');setText('vu-result-title','No conversion record');setText('vu-result-summary','No current numerical result is available.')}\n  function setStatus(state,title,summary){byId('vu-status').dataset.state=state;setText('vu-status-title',title);setText('vu-status-summary',summary)}\n  function invalidate(title,summary){hasResult=false;clearOutputs();setStatus('invalid',title,summary)}\n  function markStale(){if(!hasResult)return;hasResult=false;clearOutputs();setStatus('stale','Result is stale','An input or evidence gate changed. Review the complete record and submit again.')}\n  function syncUnits(){var q=byId('vu-quantity').value,u=byId('vu-unit'),selected=u.value;Array.prototype.forEach.call(u.options,function(option,index){if(index===0)return;var ok=option.getAttribute('data-q')===q;option.hidden=!ok;option.disabled=!ok});var current=u.options[u.selectedIndex];if(!current||current.getAttribute('data-q')!==q)u.value=''}\n  function unitAllowed(q,u){return(q==='kinematic'&&(u==='mm2s'||u==='m2s'))||(q==='dynamic'&&(u==='mpas'||u==='pas'))}\n  function requireText(id,errors){if(!byId(id).value.trim()){setError(id,'This field is required.');errors.push(id)}}\n  form.addEventListener('submit',function(event){\n    event.preventDefault();clearErrors();var errors=[];\n    ['vu-case','vu-sample','vu-source','vu-reviewer'].forEach(function(id){requireText(id,errors)});\n    ['vu-quantity','vu-unit'].forEach(function(id){if(!byId(id).value){setError(id,'Choose a value.');errors.push(id)}});\n    var q=byId('vu-quantity').value,u=byId('vu-unit').value,value=parseStrict(byId('vu-value').value),temp=parseStrict(byId('vu-temp').value);\n    if(value===null||value<=0||value>1e15){setError('vu-value','Use a positive complete decimal value up to 1e15.');errors.push('vu-value')}\n    if(temp===null||temp< -273.15||temp>10000){setError('vu-temp','Use a complete \u00b0C value from \u2212273.15 to 10000.');errors.push('vu-temp')}\n    if(q&&u&&!unitAllowed(q,u)){setError('vu-unit','Unit does not match the selected quantity.');errors.push('vu-unit')}\n    var densityRaw=byId('vu-density').value.trim(),densityTempRaw=byId('vu-density-temp').value.trim(),densitySource=byId('vu-density-source').value.trim(),densityRequested=Boolean(densityRaw||densityTempRaw||densitySource),rho=densityRaw?parseStrict(densityRaw):null,rhoTemp=densityTempRaw?parseStrict(densityTempRaw):null;\n    if(densityRequested){\n      if(rho===null||rho<=0||rho>50000){setError('vu-density','Supply a positive density up to 50000 kg\/m\u00b3.');errors.push('vu-density')}\n      if(rhoTemp===null||rhoTemp< -273.15||rhoTemp>10000){setError('vu-density-temp','Supply a complete density temperature from \u2212273.15 to 10000 \u00b0C.');errors.push('vu-density-temp')}\n      else if(temp!==null&&rhoTemp!==temp){setError('vu-density-temp','Density temperature must numerically equal the input measurement temperature.');errors.push('vu-density-temp')}\n      if(!densitySource){setError('vu-density-source','Supply the density method, result source and same sample\/state basis.');errors.push('vu-density-source')}\n    }\n    if(errors.length){invalidate('Cannot calculate','Correct '+new Set(errors).size+' highlighted field(s). Previous numerical output has been cleared.');byId(errors[0]).focus();return}\n    var nuMm=null,nuM2=null,etaMPa=null,etaPa=null;\n    if(q==='kinematic'){\n      nuMm=u==='mm2s'?value:value*1e6;nuM2=nuMm*1e-6;\n      if(densityRequested){etaPa=nuM2*rho;etaMPa=etaPa*1000}\n    }else{\n      etaMPa=u==='mpas'?value:value*1000;etaPa=etaMPa\/1000;\n      if(densityRequested){nuM2=etaPa\/rho;nuMm=nuM2*1e6}\n    }\n    var numbers=[q==='kinematic'?nuMm:etaMPa,q==='kinematic'?nuM2:etaPa];if(densityRequested)numbers=numbers.concat([nuMm,nuM2,etaMPa,etaPa]);\n    if(!numbers.every(function(n){return Number.isFinite(n)&&n>0&&n<=1e100})){invalidate('Cannot calculate','The converted values exceed the documented finite computational domain.');return}\n    setText('vu-out-mm2s',nuMm===null?'Not calculated \u2014 density not supplied':fmt(nuMm)+' mm\u00b2\/s ('+fmt(nuMm)+' cSt)');\n    setText('vu-out-m2s',nuM2===null?'Not calculated \u2014 density not supplied':fmt(nuM2)+' m\u00b2\/s');\n    setText('vu-out-mpas',etaMPa===null?'Not calculated \u2014 density not supplied':fmt(etaMPa)+' mPa\u00b7s ('+fmt(etaMPa)+' cP)');\n    setText('vu-out-pas',etaPa===null?'Not calculated \u2014 density not supplied':fmt(etaPa)+' Pa\u00b7s');\n    setText('vu-out-density',densityRequested?fmt(rho)+' kg\/m\u00b3 at '+fmt(temp)+' \u00b0C \u2014 same-temperature relation':'Not supplied \u2014 within-quantity scaling only');\n    var count=gateCount(),complete=count===8;setText('vu-out-evidence',count+' \/ 8 '+(complete?'complete':'incomplete'));\n    setText('vu-result-title',densityRequested?(complete?'Same-temperature unit relation complete; evidence complete':'Same-temperature arithmetic complete; evidence incomplete'):(complete?'Exact within-quantity scaling complete; evidence complete':'Exact unit scaling complete; evidence incomplete'));\n    setText('vu-result-summary','Case '+byId('vu-case').value.trim()+': '+(densityRequested?'same-state \u03b7 = \u03bd\u03c1 was applied at '+fmt(temp)+' \u00b0C.':'only exact unit scaling within '+q+' viscosity was applied; the other quantity was not calculated.')+' No SUS, grade, product or temperature prediction is produced.');\n    setStatus(complete?'valid':'incomplete',complete?'Current controlled result':'Arithmetic only \u2014 evidence incomplete',count+' of 8 evidence gates complete. Retain the measurement'+(densityRequested?' and density':'')+' source with the reviewer.');hasResult=true;\n  });\n  form.addEventListener('input',markStale);form.addEventListener('change',function(event){if(event.target.id==='vu-quantity')syncUnits();markStale()});\n  clearButton.addEventListener('click',function(){form.reset();syncUnits();clearErrors();clearOutputs();hasResult=false;setStatus('empty','No current result','Complete the traceable record and submit explicitly.');byId('vu-case').focus()});\n  syncUnits();clearOutputs();\n})();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Convert exact viscosity units. Relate kinematic and dynamic values only with traceable same-state, same-temperature density; no SUS or grade result.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100305","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/calculator\/100305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/calculator\/100305\/revisions"}],"predecessor-version":[{"id":102663,"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/calculator\/100305\/revisions\/102663"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/media?parent=100305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/categories?post=100305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/pl\/wp-json\/wp\/v2\/tags?post=100305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}