{"id":100216,"date":"2026-02-15T20:27:51","date_gmt":"2026-02-15T20:27:51","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100216"},"modified":"2026-07-14T23:56:25","modified_gmt":"2026-07-14T23:56:25","slug":"safety-factor-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/pt\/calculators\/safety-factor-calculator\/","title":{"rendered":"Documented Capacity-to-Demand Ratio Worksheet"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Documented Capacity-to-Demand Ratio Worksheet\",\"description\":\"Calculate a dimensionless ratio from a documented resistance or limit and a compatible documented demand. No universal safety factor or compliance verdict is supplied.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/safety-factor-calculator\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"}}\n<\/script>\n\n<style>\n.vbm216{--ink:#17212b;--muted:#52606d;--line:#cfd8df;--soft:#f5f8fa;--blue:#075b89;--blue2:#073d5b;--ok:#18794e;--okbg:#edf8f2;--warn:#8a5700;--warnbg:#fff8e6;--bad:#b42318;--badbg:#fff1f0;max-width:1000px;margin:0 auto;color:var(--ink);font:16px\/1.58 system-ui,-apple-system,\"Segoe UI\",sans-serif}.vbm216 *{box-sizing:border-box}.vbm216 h1,.vbm216 h2,.vbm216 h3{line-height:1.2;color:#102a3a}.vbm216 h1{margin:8px 0 14px;font-size:clamp(30px,5vw,46px)}.vbm216 h2{margin:0;font-size:25px}.vbm216 h3{margin:26px 0 8px;font-size:19px}.vbm216 p{margin:9px 0}.vbm216 a{color:#075b89}.vbm216-hero{padding:34px 28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#eef7fb,#fff)}.vbm216-kicker{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}.vbm216-lead{max-width:820px;font-size:18px}.vbm216-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.vbm216-badge{padding:5px 10px;border:1px solid #a8c9da;border-radius:999px;background:#fff;color:var(--blue2);font-size:13px;font-weight:750}.vbm216-alert{margin-top:20px;padding:13px 15px;border-left:4px solid var(--warn);border-radius:5px;background:var(--warnbg)}.vbm216-card,.vbm216-section{margin-top:24px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(24,44,58,.06);overflow:hidden}.vbm216-card-h{padding:20px 22px;border-bottom:1px solid var(--line);background:var(--soft)}.vbm216-body,.vbm216-section{padding:22px}.vbm216-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vbm216-field{min-width:0}.vbm216-field.full,.vbm216-fieldset,.vbm216-model-note{grid-column:1\/-1}.vbm216 label{display:block;margin-bottom:6px;font-weight:750}.vbm216 input,.vbm216 select{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #9dacb7;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.vbm216 input:focus,.vbm216 select:focus{outline:3px solid rgba(7,91,137,.2);border-color:var(--blue)}.vbm216-hint{display:block;margin-top:5px;color:var(--muted);font-size:13px}.vbm216-model-note{padding:12px;border-left:4px solid var(--blue);background:#eef7fb}.vbm216-fieldset{padding:15px;border:1px solid var(--line);border-radius:8px}.vbm216-fieldset legend{padding:0 6px;font-weight:800}.vbm216-check{display:flex!important;align-items:flex-start;gap:9px;margin:8px 0!important;font-weight:500!important}.vbm216-check input{width:18px;min-height:18px;margin-top:4px;flex:0 0 auto}.vbm216-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.vbm216-btn{min-height:44px;padding:10px 18px;border:0;border-radius:7px;background:var(--blue);color:#fff;font:750 15px\/1.2 inherit;cursor:pointer}.vbm216-btn:hover{background:var(--blue2)}.vbm216-btn.secondary{border:1px solid #9dacb7;background:#fff;color:var(--ink)}.vbm216-error{display:none;margin-top:15px;padding:12px 14px;border-left:4px solid var(--bad);border-radius:5px;background:var(--badbg);color:#7a1b15}.vbm216-error.show{display:block}.vbm216-results{display:none}.vbm216-results.show{display:block}.vbm216-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vbm216-result{padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.vbm216-result.primary{grid-column:1\/-1;border:2px solid var(--blue);background:#edf7fc}.vbm216-result-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vbm216-result-value{margin-top:4px;font:750 20px\/1.35 ui-monospace,\"Cascadia Mono\",monospace;overflow-wrap:anywhere}.vbm216-result.primary .vbm216-result-value{color:var(--blue2);font-size:27px}.vbm216-result-note{margin-top:4px;color:var(--muted);font-size:13px}.vbm216-pass{margin-top:15px;padding:12px 14px;border-left:4px solid var(--ok);border-radius:5px;background:var(--okbg);color:#194b33}.vbm216-equation{margin:12px 0;padding:13px;border:1px solid #b7ccd8;border-radius:7px;background:#f3f9fc;text-align:center;font:750 17px\/1.5 ui-monospace,\"Cascadia Mono\",monospace;overflow-wrap:anywhere}.vbm216-table-wrap{overflow-x:auto}.vbm216 table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.vbm216 th,.vbm216 td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}.vbm216 th{background:var(--soft)}.vbm216-source{margin:8px 0}.vbm216-limit{padding:14px;border-left:4px solid var(--warn);background:var(--warnbg)}.vbm216-footer{margin-top:24px;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}\n@media(max-width:720px){.vbm216-grid,.vbm216-result-grid{grid-template-columns:1fr}.vbm216-result.primary,.vbm216-field.full,.vbm216-fieldset,.vbm216-model-note{grid-column:1}.vbm216-body,.vbm216-section,.vbm216-hero{padding:16px}.vbm216-actions .vbm216-btn{flex:1 1 140px}}\n<\/style>\n\n<main class=\"vbm216\">\n  <header class=\"vbm216-hero\">\n    <div class=\"vbm216-kicker\">Documented ratio \u00b7 one limit state \u00b7 non-normative arithmetic<\/div>\n    <h1>Documented Capacity-to-Demand Ratio Worksheet<\/h1>\n    <p class=\"vbm216-lead\">Calculate a dimensionless ratio from one documented resistance, capacity or limit and one compatible documented demand for the same limit state, condition and unit.<\/p>\n    <div class=\"vbm216-badges\"><span class=\"vbm216-badge\">no universal FoS<\/span><span class=\"vbm216-badge\">no material presets<\/span><span class=\"vbm216-badge\">one shared unit<\/span><span class=\"vbm216-badge\">no SAFE verdict<\/span><\/div>\n    <div class=\"vbm216-alert\"><strong>A ratio greater than one is not, by itself, proof of safety or code compliance.<\/strong> Codes may apply factors to loads, resistance, material properties, test levels or service conditions in different ways. Buckling, fatigue, fracture, instability, connections, deflection, creep, temperature and other limit states require their own controlled checks.<\/div>\n  <\/header>\n\n  <section class=\"vbm216-card\" aria-labelledby=\"vbm216-input-title\">\n    <div class=\"vbm216-card-h\"><h2 id=\"vbm216-input-title\">Controlled ratio inputs<\/h2><p>Use values already derived on a compatible basis. This worksheet does not select a design factor or transform nominal strength into an allowable.<\/p><\/div>\n    <div class=\"vbm216-body\">\n      <form id=\"vbm216-form\" novalidate>\n        <div class=\"vbm216-grid\">\n          <div class=\"vbm216-field full\"><label for=\"vbm216-basis\">Ratio basis<\/label><select id=\"vbm216-basis\"><option value=\"nominal\">Documented nominal\/characteristic strength or capacity Rn \u00f7 documented demand D<\/option><option value=\"allowable\">Documented allowable\/rated limit A \u00f7 documented demand D<\/option><option value=\"design\">Code-derived design resistance Rd \u00f7 code-derived design effect Ed<\/option><option value=\"test\">Documented test capacity Rt \u00f7 documented service demand Ds<\/option><\/select><\/div>\n          <div class=\"vbm216-model-note\" id=\"vbm216-model-note\">Nominal basis: the quotient is only a nominal capacity-to-demand ratio; it is not a code-selected factor of safety.<\/div>\n          <div class=\"vbm216-field\"><label for=\"vbm216-resistance\">Documented numerator R<\/label><input id=\"vbm216-resistance\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><span class=\"vbm216-hint\">Positive resistance, strength, capacity, allowable or rated limit selected above.<\/span><\/div>\n          <div class=\"vbm216-field\"><label for=\"vbm216-demand\">Documented denominator D<\/label><input id=\"vbm216-demand\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><span class=\"vbm216-hint\">Positive demand\/effect on the identical physical-quantity basis.<\/span><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-unit\">Shared quantity and unit label<\/label><input id=\"vbm216-unit\" autocomplete=\"off\" placeholder=\"e.g. axial force kN; von Mises stress MPa\"><span class=\"vbm216-hint\">One shared label prevents silent conversion or mixing of force, stress, moment, pressure or different reference areas.<\/span><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-limit-state\">Limit state \/ failure mode<\/label><input id=\"vbm216-limit-state\" autocomplete=\"off\" placeholder=\"yield, rupture, buckling, rated load, proof-test condition, etc.\"><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-resistance-source\">Numerator source, revision and statistical\/material basis<\/label><input id=\"vbm216-resistance-source\" autocomplete=\"off\" placeholder=\"code\/table\/test\/certificate; nominal\/minimum\/characteristic\/design\/allowable; temperature and state\"><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-demand-source\">Demand source, load combination and analysis revision<\/label><input id=\"vbm216-demand-source\" autocomplete=\"off\" placeholder=\"load case, factors already applied, model and revision\"><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-code\">Applicable code, standard, edition and jurisdiction<\/label><input id=\"vbm216-code\" autocomplete=\"off\" placeholder=\"exact controlled document or explicitly non-code screening\"><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-conditions\">Geometry, reference area, environment and service-condition record<\/label><input id=\"vbm216-conditions\" autocomplete=\"off\" placeholder=\"section\/area, temperature, duration\/cycles, corrosion, load direction and boundary conditions\"><\/div>\n          <div class=\"vbm216-field full\"><label for=\"vbm216-id\">Calculation ID and intended decision boundary<\/label><input id=\"vbm216-id\" autocomplete=\"off\" placeholder=\"record ID; screening\/check purpose\"><\/div>\n          <fieldset class=\"vbm216-fieldset\"><legend>Required compatibility confirmation<\/legend>\n            <label class=\"vbm216-check\"><input type=\"checkbox\" id=\"vbm216-c1\"><span>R and D have the same physical dimension, unit, reference area\/geometry, direction, sign convention and limit-state definition.<\/span><\/label>\n            <label class=\"vbm216-check\"><input type=\"checkbox\" id=\"vbm216-c2\"><span>The selected basis correctly records which load, resistance, material and test factors are already included; no factor is silently applied twice.<\/span><\/label>\n            <label class=\"vbm216-check\"><input type=\"checkbox\" id=\"vbm216-c3\"><span>I will not use this arithmetic ratio as a substitute for all required limit states, uncertainty treatment, code checks or competent engineering review.<\/span><\/label>\n          <\/fieldset>\n        <\/div>\n        <div class=\"vbm216-actions\"><button class=\"vbm216-btn\" type=\"submit\">Calculate documented ratio<\/button><button class=\"vbm216-btn secondary\" type=\"button\" id=\"vbm216-reset\">Clear<\/button><\/div>\n        <div class=\"vbm216-error\" id=\"vbm216-error\" role=\"alert\" tabindex=\"-1\"><\/div>\n      <\/form>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm216-card vbm216-results\" id=\"vbm216-results\" aria-live=\"polite\">\n    <div class=\"vbm216-card-h\"><h2>Reference arithmetic result<\/h2><p id=\"vbm216-result-context\"><\/p><\/div>\n    <div class=\"vbm216-body\">\n      <div class=\"vbm216-result-grid\">\n        <div class=\"vbm216-result primary\"><div class=\"vbm216-result-label\">Capacity\/limit-to-demand ratio Q = R\/D<\/div><div class=\"vbm216-result-value\" id=\"vbm216-r-ratio\">\u2014<\/div><div class=\"vbm216-result-note\">Dimensionless quotient on the user-documented basis.<\/div><\/div>\n        <div class=\"vbm216-result\"><div class=\"vbm216-result-label\">Arithmetic utilization U = D\/R<\/div><div class=\"vbm216-result-value\" id=\"vbm216-r-util\">\u2014<\/div><div class=\"vbm216-result-note\">Not a code utilization unless the supplied basis is a valid code resistance\/effect pair.<\/div><\/div>\n        <div class=\"vbm216-result\"><div class=\"vbm216-result-label\">Signed difference R \u2212 D<\/div><div class=\"vbm216-result-value\" id=\"vbm216-r-difference\">\u2014<\/div><div class=\"vbm216-result-note\" id=\"vbm216-r-values\">\u2014<\/div><\/div>\n        <div class=\"vbm216-result\"><div class=\"vbm216-result-label\">Ratio minus one Q \u2212 1<\/div><div class=\"vbm216-result-value\" id=\"vbm216-r-minus-one\">\u2014<\/div><div class=\"vbm216-result-note\">Pure arithmetic; not automatically a code-defined margin of safety.<\/div><\/div>\n      <\/div>\n      <div class=\"vbm216-pass\" id=\"vbm216-result-boundary\">No universal minimum, PASS\/FAIL, SAFE\/UNSAFE, fatigue life, reliability or code-compliance conclusion is produced.<\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm216-section\">\n    <h2>Formula and model boundary<\/h2>\n    <p>For positive, compatible quantities R and D expressed in the same unit and defined for the same limit state:<\/p>\n    <div class=\"vbm216-equation\">Q = R\/D \u00b7 U = D\/R = 1\/Q \u00b7 \u0394 = R\u2212D \u00b7 q = Q\u22121<\/div>\n    <p>Q and U are dimensionless. \u0394 retains the shared unit. The quotient contains no information about how R and D were derived, so their provenance, factors, load combinations, material state, statistical basis and applicability must remain attached to the result.<\/p>\n    <p><strong>Terminology boundary.<\/strong> A nominal-strength ratio, allowable-stress check, load-and-resistance-factor check, proof-test ratio and rated-capacity comparison are not interchangeable merely because each contains a division. If an allowable already includes a safety factor, dividing it by demand does not recover the original design factor.<\/p>\n\n    <h3>Exact numerical checks<\/h3>\n    <div class=\"vbm216-table-wrap\"><table><thead><tr><th>Inputs<\/th><th>Q<\/th><th>U<\/th><th>R\u2212D<\/th><th>Q\u22121<\/th><\/tr><\/thead><tbody>\n      <tr><td>R=235 MPa; D=120 MPa<\/td><td>47\/24 = 1.95833333333<\/td><td>2400\/47 = 51.0638297872%<\/td><td>115 MPa<\/td><td>23\/24 = 0.958333333333<\/td><\/tr>\n      <tr><td>R=10 kN; D=4 kN<\/td><td>2.5<\/td><td>40%<\/td><td>6 kN<\/td><td>1.5<\/td><\/tr>\n    <\/tbody><\/table><\/div>\n\n    <h3>Why no universal recommended factor is shown<\/h3>\n    <p>NIST&#8217;s structural-safety overview explains that allowable-stress design and probability-based limit-state design organize strength, loads and factors differently. The applicable factors reflect uncertainty and consequences through a specific code framework; an isolated generic range cannot replace that framework.<\/p>\n    <p>NASA-STD-5001B with Change 3 is an active, public example of a controlled factor standard. Its official scope is structural design and testing of spaceflight hardware, and its factors are minimum acceptable values within that scope unless justified by engineering risk assessment. Those values are not imported into this general worksheet.<\/p>\n    <p>OSHA 29 CFR 1926.1417 is a separate application example: crane equipment may not be operated above rated capacity and load weight must be established by recognized data or calculation. This does not create a universal material FoS for unrelated designs.<\/p>\n\n    <h3>Source classification<\/h3>\n    <div class=\"vbm216-table-wrap\"><table><thead><tr><th>Claim<\/th><th>Classification<\/th><th>Inspected source<\/th><\/tr><\/thead><tbody>\n      <tr><td>Q=R\/D and U=D\/R<\/td><td>Dimensionless arithmetic identity; not a normative design rule<\/td><td>Direct dimensional analysis<\/td><\/tr>\n      <tr><td>Allowable-stress and load\/resistance-factor design differ<\/td><td>Authoritative structural-safety overview<\/td><td>NIST SP 958, pp. 283\u2013288 web edition<\/td><\/tr>\n      <tr><td>NASA factor values are application-specific<\/td><td>Active standard scope\/status; no NASA values reused<\/td><td>NASA-STD-5001B with Change 3, active; revalidated 2022-10-24<\/td><\/tr>\n      <tr><td>Rated lifting capacity and load verification are application controls<\/td><td>Federal regulation example; not a general FoS formula<\/td><td>OSHA 29 CFR 1926.1417(o)<\/td><\/tr>\n    <\/tbody><\/table><\/div>\n    <p class=\"vbm216-source\"><a href=\"https:\/\/standards.nasa.gov\/standard\/NASA\/NASA-STD-5001\" target=\"_blank\" rel=\"noopener\">NASA-STD-5001 official status\/scope page<\/a> \u2014 active B with Change 3; public scope and review data.<\/p>\n    <p class=\"vbm216-source\"><a href=\"https:\/\/nvlpubs.nist.gov\/nistpubs\/sp958-lide\/html\/283-288.html\" target=\"_blank\" rel=\"noopener\">NIST SP 958 structural-safety overview<\/a> \u2014 allowable-stress and limit-state context.<\/p>\n    <p class=\"vbm216-source\"><a href=\"https:\/\/www.osha.gov\/laws-regs\/regulations\/standardnumber\/1926\/1926.1417\" target=\"_blank\" rel=\"noopener\">OSHA 29 CFR 1926.1417<\/a> \u2014 rated-capacity and load-verification example.<\/p>\n    <p><strong>Accessed:<\/strong> 15 July 2026. No closed-code factor, material property, allowable table or acceptance threshold was inferred.<\/p>\n    <div class=\"vbm216-limit\"><strong>Engineering review required.<\/strong> Before a safety or compliance decision, verify every applicable failure mode and serviceability limit, load combination, material specification, statistical basis, fabrication\/inspection requirement, environment, duration\/cycles, geometry, stress concentration, degradation mechanism and consequence of failure under the controlling code and jurisdiction.<\/div>\n  <\/section>\n\n  <footer class=\"vbm216-footer\">Revision: scientific audit 2026-07-15 \u00b7 English source page \u00b7 Arithmetic reference only \u00b7 Preserve the complete controlled input record with every result.<\/footer>\n<\/main>\n\n<script id=\"vbm-c100216-logic\">\n(function(){\n  'use strict';\n  function el(id){return document.getElementById(id)}\n  function value(id){return el(id).value}\n  function setText(id,text){el(id).textContent=text}\n  function clearError(){var box=el('vbm216-error');box.textContent='';box.classList.remove('show')}\n  function invalidate(){clearError();el('vbm216-results').classList.remove('show')}\n  function showError(err){invalidate();var box=el('vbm216-error');box.textContent=err&&err.message?err.message:String(err);box.classList.add('show');box.focus()}\n  function strictPositive(raw,label){var s=String(raw==null?'':raw).trim();if(!s)throw new Error(label+' is required.');if(!\/^(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error(label+' must be one complete positive decimal number.');var n=Number(s.replace(',','.'));if(!Number.isFinite(n)||n<=0)throw new Error(label+' must be finite and greater than zero.');return n}\n  function finite(n,label){if(!Number.isFinite(n))throw new Error(label+' is outside the finite calculation range.');return n}\n  function finitePositive(n,label){if(!Number.isFinite(n)||n<=0)throw new Error(label+' is outside the positive finite calculation range.');return n}\n  function calculate(x){\n    if(!x||!['nominal','allowable','design','test'].includes(x.basis))throw new Error('Unsupported ratio basis.');\n    var R=strictPositive(x.resistance,'Documented numerator R'),D=strictPositive(x.demand,'Documented denominator D');\n    var Q=finitePositive(R\/D,'Capacity-to-demand ratio'),U=finitePositive(D\/R,'Arithmetic utilization'),difference=finite(R-D,'Signed difference'),minusOne=finite(Q-1,'Ratio minus one');\n    return {basis:x.basis,R:R,D:D,Q:Q,U:U,difference:difference,minusOne:minusOne};\n  }\n  function read(){\n    ['vbm216-unit','vbm216-limit-state','vbm216-resistance-source','vbm216-demand-source','vbm216-code','vbm216-conditions','vbm216-id'].forEach(function(id){if(!value(id).trim())throw new Error(el(id).previousElementSibling.textContent.trim()+' is required.')});\n    ['vbm216-c1','vbm216-c2','vbm216-c3'].forEach(function(id){if(!el(id).checked)throw new Error('All compatibility confirmations are required.')});\n    return calculate({basis:value('vbm216-basis'),resistance:value('vbm216-resistance'),demand:value('vbm216-demand')});\n  }\n  function format(n){if(!Number.isFinite(n))return 'not defined';if(n===0)return '0';var a=Math.abs(n),s=(a>=1e9||a<1e-6)?n.toExponential(11):n.toPrecision(12);if(s.indexOf('e')>=0){var p=s.split('e');p[0]=p[0].replace(\/\\.?0+$\/,'');return p[0]+'e'+p[1].replace(\/^\\+\/,'')}return s.replace(\/\\.?0+$\/,'')}\n  function render(r){\n    var bases={nominal:'nominal\/characteristic Rn \u00f7 demand D',allowable:'allowable\/rated A \u00f7 demand D',design:'design resistance Rd \u00f7 design effect Ed',test:'test capacity Rt \u00f7 service demand Ds'},unit=value('vbm216-unit').trim();\n    setText('vbm216-result-context',bases[r.basis]+' \u00b7 '+value('vbm216-limit-state').trim()+' \u00b7 '+value('vbm216-id').trim());\n    setText('vbm216-r-ratio',format(r.Q));setText('vbm216-r-util',format(r.U*100)+'%');setText('vbm216-r-difference',format(r.difference)+' '+unit);setText('vbm216-r-values','R = '+format(r.R)+' '+unit+'; D = '+format(r.D)+' '+unit);setText('vbm216-r-minus-one',format(r.minusOne));clearError();el('vbm216-results').classList.add('show');\n  }\n  function updateBasis(clear){var notes={nominal:'Nominal basis: the quotient is only a nominal capacity-to-demand ratio; it is not a code-selected factor of safety.',allowable:'Allowable basis: confirm the allowable already contains every intended factor; the quotient is not the original design factor.',design:'Design basis: Rd and Ed must come from the same code edition, limit state and load combination.',test:'Test basis: test capacity and service demand must have compatible configuration, conditions and interpretation.'};setText('vbm216-model-note',notes[value('vbm216-basis')]);if(clear){el('vbm216-resistance').value='';el('vbm216-demand').value='';invalidate()}}\n  var form=el('vbm216-form');\n  form.addEventListener('submit',function(e){e.preventDefault();try{render(read())}catch(err){showError(err)}});\n  form.addEventListener('keydown',function(e){if(e.key==='Enter'&&e.target&&e.target.tagName==='INPUT'){e.preventDefault();var btn=form.querySelector('button[type=\"submit\"]');if(typeof form.requestSubmit==='function')form.requestSubmit(btn);else btn.click()}});\n  el('vbm216-basis').addEventListener('change',function(){updateBasis(true)});\n  el('vbm216-unit').addEventListener('input',function(){el('vbm216-resistance').value='';el('vbm216-demand').value='';invalidate()});\n  form.querySelectorAll('input,select').forEach(function(x){x.addEventListener('input',invalidate);x.addEventListener('change',invalidate)});\n  el('vbm216-reset').addEventListener('click',function(){form.reset();form.querySelectorAll('input').forEach(function(x){if(x.type!=='checkbox')x.value=''});invalidate();updateBasis(false);el('vbm216-unit').focus()});\n  updateBasis(false);\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Calculate a documented resistance-or-limit to compatible demand ratio without universal safety-factor recommendations or a compliance verdict.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100216","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/calculator\/100216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":4,"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/calculator\/100216\/revisions"}],"predecessor-version":[{"id":102559,"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/calculator\/100216\/revisions\/102559"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/media?parent=100216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/categories?post=100216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/pt\/wp-json\/wp\/v2\/tags?post=100216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}