{"id":100214,"date":"2026-02-15T20:27:46","date_gmt":"2026-02-15T20:27:46","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100214"},"modified":"2026-07-14T23:16:54","modified_gmt":"2026-07-14T23:16:54","slug":"rubber-mount-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/it\/calculators\/rubber-mount-calculator\/","title":{"rendered":"Documented Elastomer-Mount Stiffness Worksheet"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Documented Elastomer-Mount Linear-Stiffness Worksheet\",\"description\":\"Calculate linear-model gravity deflection and undamped natural frequency from documented or measured equivalent mount stiffness and supported mass.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/rubber-mount-calculator\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"}}\n<\/script>\n<style>\n.vbm214{--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}.vbm214 *{box-sizing:border-box}.vbm214 h1,.vbm214 h2,.vbm214 h3{line-height:1.2;color:#102a3a}.vbm214 h1{margin:8px 0 14px;font-size:clamp(30px,5vw,46px)}.vbm214 h2{margin:0;font-size:25px}.vbm214 h3{margin:26px 0 8px;font-size:19px}.vbm214 p{margin:9px 0}.vbm214 a{color:#075b89}.vbm214-hero{padding:34px 28px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#eef7fb,#fff)}.vbm214-kicker{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}.vbm214-lead{max-width:800px;font-size:18px}.vbm214-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.vbm214-badge{padding:5px 10px;border:1px solid #a8c9da;border-radius:999px;background:#fff;color:var(--blue2);font-size:13px;font-weight:750}.vbm214-alert{margin-top:20px;padding:13px 15px;border-left:4px solid var(--warn);border-radius:5px;background:var(--warnbg)}.vbm214-card,.vbm214-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}.vbm214-card-h{padding:20px 22px;border-bottom:1px solid var(--line);background:var(--soft)}.vbm214-body,.vbm214-section{padding:22px}.vbm214-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vbm214-field{min-width:0}.vbm214-field.full,.vbm214-fieldset,.vbm214-model-note{grid-column:1\/-1}.vbm214 label{display:block;margin-bottom:6px;font-weight:750}.vbm214 input,.vbm214 select{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #9dacb7;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.vbm214 input:focus,.vbm214 select:focus{outline:3px solid rgba(7,91,137,.2);border-color:var(--blue)}.vbm214-combo{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:8px}.vbm214-hint{display:block;margin-top:5px;color:var(--muted);font-size:13px}.vbm214-model-note{padding:12px;border-left:4px solid var(--blue);background:#eef7fb}.vbm214-fieldset{padding:15px;border:1px solid var(--line);border-radius:8px}.vbm214-fieldset legend{padding:0 6px;font-weight:800}.vbm214-check{display:flex!important;align-items:flex-start;gap:9px;margin:8px 0!important;font-weight:500!important}.vbm214-check input{width:18px;min-height:18px;margin-top:4px;flex:0 0 auto}.vbm214-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.vbm214-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}.vbm214-btn:hover{background:var(--blue2)}.vbm214-btn.secondary{border:1px solid #9dacb7;background:#fff;color:var(--ink)}.vbm214-error{display:none;margin-top:15px;padding:12px 14px;border-left:4px solid var(--bad);border-radius:5px;background:var(--badbg);color:#7a1b15}.vbm214-error.show{display:block}.vbm214-results{display:none}.vbm214-results.show{display:block}.vbm214-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vbm214-result{padding:15px;border:1px solid var(--line);border-radius:8px;background:var(--soft)}.vbm214-result.primary{grid-column:1\/-1;border:2px solid var(--blue);background:#edf7fc}.vbm214-result-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vbm214-result-value{margin-top:4px;font:750 20px\/1.35 ui-monospace,\"Cascadia Mono\",monospace;overflow-wrap:anywhere}.vbm214-result.primary .vbm214-result-value{color:var(--blue2);font-size:27px}.vbm214-result-note{margin-top:4px;color:var(--muted);font-size:13px}.vbm214-pass{margin-top:15px;padding:12px 14px;border-left:4px solid var(--ok);border-radius:5px;background:var(--okbg);color:#194b33}.vbm214-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}.vbm214-table-wrap{overflow-x:auto}.vbm214 table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.vbm214 th,.vbm214 td{padding:10px;border:1px solid var(--line);text-align:left;vertical-align:top}.vbm214 th{background:var(--soft)}.vbm214-source{margin:8px 0}.vbm214-limit{padding:14px;border-left:4px solid var(--warn);background:var(--warnbg)}.vbm214-footer{margin-top:24px;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}\n@media(max-width:720px){.vbm214-grid,.vbm214-result-grid{grid-template-columns:1fr}.vbm214-result.primary,.vbm214-field.full,.vbm214-fieldset,.vbm214-model-note{grid-column:1}.vbm214-body,.vbm214-section,.vbm214-hero{padding:16px}.vbm214-combo{grid-template-columns:minmax(0,1fr) 110px}.vbm214-actions .vbm214-btn{flex:1 1 130px}}\n@media print{.vbm214-actions{display:none}.vbm214-card,.vbm214-section{box-shadow:none;break-inside:avoid}.vbm214-results.show{display:block}}\n<\/style>\n\n<main class=\"vbm214\" id=\"vbm-c100214\">\n  <header class=\"vbm214-hero\">\n    <div class=\"vbm214-kicker\">Reference worksheet \u00b7 documented equivalent stiffness \u00b7 linear SDOF<\/div>\n    <h1>Documented Elastomer-Mount Linear-Stiffness Worksheet<\/h1>\n    <p class=\"vbm214-lead\">Calculate linear-model gravity deflection and undamped natural frequency from a documented or measured equivalent axial stiffness and the supported mass assigned to the same coordinate.<\/p>\n    <div class=\"vbm214-badges\"><span class=\"vbm214-badge\">no Shore-only stiffness<\/span><span class=\"vbm214-badge\">exact SI\/U.S. units<\/span><span class=\"vbm214-badge\">explicit stiffness condition<\/span><span class=\"vbm214-badge\">no isolation verdict<\/span><\/div>\n    <div class=\"vbm214-alert\"><strong>Shore A hardness is not a mount spring constant.<\/strong> ISO 48-4 defines an indentation-hardness test. ASTM D2240 describes durometer hardness as an empirical control test and states that no simple relationship exists to a fundamental material property. Geometry, bonding, preload, strain amplitude, frequency, temperature, ageing and compound construction must come from product data or testing.<\/div>\n  <\/header>\n\n  <section class=\"vbm214-card\" aria-labelledby=\"vbm214-input-title\">\n    <div class=\"vbm214-card-h\"><h2 id=\"vbm214-input-title\">Controlled inputs<\/h2><p>Use an equivalent stiffness for the actual mount assembly, axis, preload and boundary condition. A force\/deflection pair yields only a secant stiffness for that pair.<\/p><\/div>\n    <div class=\"vbm214-body\">\n      <form id=\"vbm214-form\" novalidate>\n        <div class=\"vbm214-grid\">\n          <div class=\"vbm214-field\"><label for=\"vbm214-mode\">Stiffness input mode<\/label><select id=\"vbm214-mode\"><option value=\"direct\">Documented equivalent stiffness K<\/option><option value=\"pair\">Documented force\/deflection pair Ksec = F\/\u0394<\/option><\/select><\/div>\n          <div class=\"vbm214-field\"><label for=\"vbm214-basis\">Documented stiffness basis<\/label><select id=\"vbm214-basis\"><option value=\"static-secant\">Static secant stiffness at stated preload<\/option><option value=\"static-tangent\">Static local\/tangent stiffness at stated preload<\/option><option value=\"dynamic-storage\">Dynamic storage stiffness at stated frequency\/amplitude<\/option><\/select><\/div>\n          <div class=\"vbm214-model-note\" id=\"vbm214-model-note\">Direct mode: enter the equivalent linear stiffness for the selected translational coordinate.<\/div>\n\n          <div class=\"vbm214-field\" data-direct><label for=\"vbm214-k\">Equivalent stiffness K<\/label><div class=\"vbm214-combo\"><input id=\"vbm214-k\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><select id=\"vbm214-k-unit\" aria-label=\"Stiffness unit\"><option value=\"N\/mm\">N\/mm<\/option><option value=\"lbf\/in\">lbf\/in<\/option><\/select><\/div><\/div>\n          <div class=\"vbm214-field\" data-pair hidden><label for=\"vbm214-force\">Documented axial force F<\/label><div class=\"vbm214-combo\"><input id=\"vbm214-force\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><select id=\"vbm214-force-unit\" aria-label=\"Force unit\"><option value=\"N\">N<\/option><option value=\"lbf\">lbf<\/option><\/select><\/div><\/div>\n          <div class=\"vbm214-field\" data-pair hidden><label for=\"vbm214-deflection\">Documented axial deflection \u0394<\/label><div class=\"vbm214-combo\"><input id=\"vbm214-deflection\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><select id=\"vbm214-deflection-unit\" aria-label=\"Deflection unit\"><option value=\"mm\">mm<\/option><option value=\"in\">in<\/option><\/select><\/div><\/div>\n          <div class=\"vbm214-field\"><label for=\"vbm214-mass\">Supported mass assigned to this coordinate M<\/label><div class=\"vbm214-combo\"><input id=\"vbm214-mass\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"blank\"><select id=\"vbm214-mass-unit\" aria-label=\"Mass unit\"><option value=\"kg\">kg<\/option><option value=\"lbm\">lbm<\/option><\/select><\/div><span class=\"vbm214-hint\">Mass, not force. Include only the effective mass represented by the one-degree-of-freedom model.<\/span><\/div>\n\n          <div class=\"vbm214-field\"><label for=\"vbm214-id\">Mount \/ calculation ID<\/label><input id=\"vbm214-id\" autocomplete=\"off\" placeholder=\"required record\"><\/div>\n          <div class=\"vbm214-field\"><label for=\"vbm214-stiffness-source\">Stiffness or force-deflection source<\/label><input id=\"vbm214-stiffness-source\" autocomplete=\"off\" placeholder=\"datasheet\/test, revision and method\"><\/div>\n          <div class=\"vbm214-field\"><label for=\"vbm214-condition\">Stiffness condition<\/label><input id=\"vbm214-condition\" autocomplete=\"off\" placeholder=\"temperature, preload, frequency, amplitude\"><\/div>\n          <div class=\"vbm214-field\"><label for=\"vbm214-mass-source\">Supported-mass source<\/label><input id=\"vbm214-mass-source\" autocomplete=\"off\" placeholder=\"mass model, drawing or scale report\"><\/div>\n          <div class=\"vbm214-field full\"><label for=\"vbm214-configuration\">Axis, mount configuration and boundary source<\/label><input id=\"vbm214-configuration\" autocomplete=\"off\" placeholder=\"selected translation axis, arrangement, bonding and revision\"><\/div>\n\n          <fieldset class=\"vbm214-fieldset\"><legend>Required model confirmation<\/legend>\n            <label class=\"vbm214-check\"><input type=\"checkbox\" id=\"vbm214-c1\"><span>K is the equivalent stiffness for the same axis, mount arrangement, preload and boundary condition as this calculation; parallel\/series mounts are already represented correctly.<\/span><\/label>\n            <label class=\"vbm214-check\"><input type=\"checkbox\" id=\"vbm214-c2\"><span>The selected coordinate is adequately represented as one supported mass and one positive linearized stiffness over the displacement range of interest.<\/span><\/label>\n            <label class=\"vbm214-check\"><input type=\"checkbox\" id=\"vbm214-c3\"><span>I understand that static, tangent and dynamic storage stiffness are different quantities; elastomer damping and frequency\/temperature\/amplitude dependence are not predicted here.<\/span><\/label>\n          <\/fieldset>\n        <\/div>\n        <div class=\"vbm214-actions\"><button class=\"vbm214-btn\" type=\"submit\">Calculate documented case<\/button><button class=\"vbm214-btn secondary\" type=\"button\" id=\"vbm214-reset\">Clear<\/button><\/div>\n        <div class=\"vbm214-error\" id=\"vbm214-error\" role=\"alert\" aria-live=\"assertive\" tabindex=\"-1\"><\/div>\n      <\/form>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm214-card vbm214-results\" id=\"vbm214-results\" aria-live=\"polite\">\n    <div class=\"vbm214-card-h\"><h2>Reference linear-model result<\/h2><p id=\"vbm214-result-context\"><\/p><\/div>\n    <div class=\"vbm214-body\">\n      <div class=\"vbm214-result-grid\">\n        <div class=\"vbm214-result primary\"><div class=\"vbm214-result-label\">Equivalent stiffness K<\/div><div class=\"vbm214-result-value\" id=\"vbm214-r-k\">\u2014<\/div><div class=\"vbm214-result-note\" id=\"vbm214-r-k-alt\">\u2014<\/div><\/div>\n        <div class=\"vbm214-result\"><div class=\"vbm214-result-label\">Linear-model gravity deflection \u03b4lin<\/div><div class=\"vbm214-result-value\" id=\"vbm214-r-delta\">\u2014<\/div><div class=\"vbm214-result-note\" id=\"vbm214-r-delta-alt\">\u2014<\/div><\/div>\n        <div class=\"vbm214-result\"><div class=\"vbm214-result-label\">Undamped natural frequency fn<\/div><div class=\"vbm214-result-value\" id=\"vbm214-r-fn\">\u2014<\/div><div class=\"vbm214-result-note\" id=\"vbm214-r-omega\">\u2014<\/div><\/div>\n        <div class=\"vbm214-result\"><div class=\"vbm214-result-label\">Supported mass M<\/div><div class=\"vbm214-result-value\" id=\"vbm214-r-mass\">\u2014<\/div><div class=\"vbm214-result-note\" id=\"vbm214-r-mass-alt\">\u2014<\/div><\/div>\n        <div class=\"vbm214-result\"><div class=\"vbm214-result-label\">Reference weight M g0<\/div><div class=\"vbm214-result-value\" id=\"vbm214-r-weight\">\u2014<\/div><div class=\"vbm214-result-note\" id=\"vbm214-r-weight-alt\">\u2014<\/div><\/div>\n      <\/div>\n      <div class=\"vbm214-pass\">No Shore-to-stiffness estimate, load-capacity check, transmissibility, damping, resonance margin, service-life or safe-selection verdict is produced.<\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"vbm214-section\">\n    <h2>Equations and model boundary<\/h2>\n    <p>For a positive equivalent translational stiffness K and effective supported mass M in a linear single-degree-of-freedom model:<\/p>\n    <div class=\"vbm214-equation\">Ksec = F\/\u0394 \u00b7 \u03b4lin = M g0\/K \u00b7 \u03c9n = \u221a(K\/M) \u00b7 fn = \u03c9n\/(2\u03c0)<\/div>\n    <p>The worksheet uses conventional standard gravity <strong>g0 = 9.80665 m\/s\u00b2 exactly<\/strong> only for the reference weight and gravity-deflection identity. Local gravity can be substituted outside this worksheet when required.<\/p>\n    <p>A force\/deflection pair produces a secant stiffness between the two stated points. It is not automatically the tangent stiffness governing small perturbations and it is not automatically the dynamic storage stiffness governing a vibration test.<\/p>\n\n    <h3>Exact unit normalization<\/h3>\n    <p>Calculation is performed in N\/m, kg and m. The exact bases are 1 in = 0.0254 m, 1 lbm = 0.45359237 kg and 1 lbf = 0.45359237\u00d79.80665 N. Therefore <strong>1 N\/mm = 5.710147154733\u2026 lbf\/in<\/strong>, not 0.00571015 lbf\/in.<\/p>\n\n    <h3>Reference check<\/h3>\n    <div class=\"vbm214-table-wrap\"><table>\n      <thead><tr><th>Inputs<\/th><th>K<\/th><th>\u03b4lin<\/th><th>fn<\/th><\/tr><\/thead>\n      <tbody><tr><td>K = 100 N\/mm; M = 100 kg<\/td><td>100000 N\/m<\/td><td>9.80665 mm<\/td><td>5.03292121045 Hz<\/td><\/tr><tr><td>F = 1000 N; \u0394 = 10 mm; M = 100 kg<\/td><td>100 N\/mm<\/td><td>9.80665 mm<\/td><td>same linear model<\/td><\/tr><\/tbody>\n    <\/table><\/div>\n\n    <h3>What Shore A does and does not establish<\/h3>\n    <p>ISO 48-4:2018, confirmed in 2024, specifies an indentation-hardness measurement method using Shore durometers. It does not publish a universal spring-stiffness equation for a finished mount in its public scope. ASTM D2240-15(2021) explicitly characterizes durometer hardness as an empirical control test and says no simple relationship exists between the measured indentation hardness and a fundamental material property.<\/p>\n    <p>A historical Gent correlation between Shore hardness and Young&#8217;s modulus is an approximate material correlation, not a complete mount model. Turning it into a mount stiffness additionally requires compound response, geometry, bonding\/friction, compressibility and strain assumptions. This worksheet therefore does not implement that correlation.<\/p>\n\n    <h3>Static versus dynamic elastomer behavior<\/h3>\n    <p>ASTM D5992-96(2024) covers vibratory methods for measuring rubber stiffness, damping and dynamic modulus, including tests on full-scale products. A static catalog stiffness cannot silently be treated as dynamic storage stiffness. Record temperature, preload, frequency and amplitude with every stiffness value.<\/p>\n  <\/section>\n\n  <section class=\"vbm214-section\">\n    <h2>Source classification<\/h2>\n    <div class=\"vbm214-table-wrap\"><table>\n      <thead><tr><th>Claim<\/th><th>Classification<\/th><th>Inspected source<\/th><\/tr><\/thead>\n      <tbody>\n        <tr><td>Shore A is indentation hardness measured by a durometer<\/td><td>Current standard scope; no stiffness equation inferred<\/td><td>ISO 48-4:2018, edition 1, current and confirmed 2024<\/td><\/tr>\n        <tr><td>Durometer hardness is empirical and has no simple relationship to a fundamental property<\/td><td>Current ASTM significance\/use statement<\/td><td>ASTM D2240-15(2021), active; revision work item separately under development<\/td><\/tr>\n        <tr><td>Dynamic rubber stiffness\/damping\/modulus require vibratory measurement methods and conditions<\/td><td>Current ASTM guide scope<\/td><td>ASTM D5992-96(2024), active<\/td><\/tr>\n        <tr><td>\u03b4 = Mg\/K and \u03c9n = \u221a(K\/M)<\/td><td>General linear SDOF mechanics; not an ISO mount-selection formula<\/td><td>MIT OCW 2.003SC Engineering Dynamics, Recitation 10, rendered page 1<\/td><\/tr>\n        <tr><td>inch, pound-mass and pound-force normalization<\/td><td>Metrology and exact definitions<\/td><td>NIST SP 811 Appendix B.8; BIPM 3rd CGPM Resolution 2<\/td><\/tr>\n      <\/tbody>\n    <\/table><\/div>\n    <p class=\"vbm214-source\"><a href=\"https:\/\/www.iso.org\/standard\/74969.html\" target=\"_blank\" rel=\"noopener\">ISO 48-4:2018 official card<\/a> \u2014 edition, status, confirmation and public scope.<\/p>\n    <p class=\"vbm214-source\"><a href=\"https:\/\/store.astm.org\/d2240-15r21.html\" target=\"_blank\" rel=\"noopener\">ASTM D2240-15(2021)<\/a> \u2014 active durometer-hardness method and public significance\/use statement.<\/p>\n    <p class=\"vbm214-source\"><a href=\"https:\/\/store.astm.org\/standards\/d5992\" target=\"_blank\" rel=\"noopener\">ASTM D5992-96(2024)<\/a> \u2014 active dynamic-testing guide and public scope.<\/p>\n    <p class=\"vbm214-source\"><a href=\"https:\/\/ocw.mit.edu\/courses\/2-003sc-engineering-dynamics-fall-2011\/e2815ee7e1e2ab35a895bbfcc5745de9_MIT2_003SCF11_rec10note1.pdf\" target=\"_blank\" rel=\"noopener\">MIT OCW Recitation 10 notes<\/a> \u2014 linear spring gravity deflection and undamped natural frequency.<\/p>\n    <p class=\"vbm214-source\"><a href=\"https:\/\/www.nist.gov\/pml\/special-publication-811\/nist-guide-si-appendix-b-conversion-factors\/nist-guide-si-appendix-b8\" target=\"_blank\" rel=\"noopener\">NIST SP 811 Appendix B.8<\/a> and <a href=\"https:\/\/www.bipm.org\/en\/committees\/cg\/cgpm\/3-1901\/resolution-2\" target=\"_blank\" rel=\"noopener\">BIPM 3rd CGPM Resolution 2<\/a> \u2014 exact unit and conventional-gravity basis.<\/p>\n    <p><strong>Accessed:<\/strong> 15 July 2026. The MIT PDF page was rendered and visually inspected. Only public ISO\/ASTM scope\/status text was used; no inaccessible clause, coefficient or limit was invented.<\/p>\n    <div class=\"vbm214-limit\"><strong>Reference model only.<\/strong> Final mount selection requires manufacturer load-deflection\/dynamic-stiffness data or a controlled product test, plus checks for allowable load\/strain, stability, creep, temperature, environment, fatigue, damping, resonance and failure consequences.<\/div>\n  <\/section>\n\n  <footer class=\"vbm214-footer\">Revision: scientific audit 2026-07-15 \u00b7 English source page \u00b7 Linear SDOF reference only \u00b7 Preserve the source and condition of K with the result.<\/footer>\n<\/main>\n\n<script id=\"vbm-c100214-logic\">\n(function(){\n  'use strict';\n  var IN_M=0.0254,LBM_KG=0.45359237,G0=9.80665,LBF_N=LBM_KG*G0;\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('vbm214-error');box.textContent='';box.classList.remove('show')}\n  function invalidate(){clearError();el('vbm214-results').classList.remove('show')}\n  function showError(err){invalidate();var box=el('vbm214-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 factor(kind,unit){var map={stiffness:{'N\/mm':1000,'lbf\/in':LBF_N\/IN_M},force:{N:1,lbf:LBF_N},length:{mm:0.001,in:IN_M},mass:{kg:1,lbm:LBM_KG}};if(!map[kind]||!Object.prototype.hasOwnProperty.call(map[kind],unit))throw new Error('Unsupported '+kind+' unit.');return map[kind][unit]}\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 normalize(x){\n    if(!x||!['direct','pair'].includes(x.mode)||!['static-secant','static-tangent','dynamic-storage'].includes(x.basis))throw new Error('Unsupported model selection.');\n    var K,F=null,deflection=null;\n    if(x.mode==='direct')K=strictPositive(x.K,'Equivalent stiffness K')*factor('stiffness',x.KUnit);\n    else{F=strictPositive(x.force,'Documented force F')*factor('force',x.forceUnit);deflection=strictPositive(x.deflection,'Documented deflection \u0394')*factor('length',x.deflectionUnit);K=F\/deflection}\n    var M=strictPositive(x.mass,'Supported mass M')*factor('mass',x.massUnit);\n    [K,M].forEach(function(n){finitePositive(n,'Normalized input')});\n    var W=finitePositive(M*G0,'Reference weight'),delta=finitePositive(W\/K,'Linear-model gravity deflection'),omega=finitePositive(Math.sqrt(K\/M),'Undamped natural angular frequency'),fn=finitePositive(omega\/(2*Math.PI),'Undamped natural frequency');\n    return {mode:x.mode,basis:x.basis,K:K,M:M,F:F,deflection:deflection,W:W,delta:delta,omega:omega,fn:fn};\n  }\n  function read(){\n    ['vbm214-id','vbm214-stiffness-source','vbm214-condition','vbm214-mass-source','vbm214-configuration'].forEach(function(id){if(!value(id).trim())throw new Error(el(id).previousElementSibling.textContent.trim()+' is required.');});\n    ['vbm214-c1','vbm214-c2','vbm214-c3'].forEach(function(id){if(!el(id).checked)throw new Error('All model confirmations are required.');});\n    return normalize({mode:value('vbm214-mode'),basis:value('vbm214-basis'),K:value('vbm214-k'),KUnit:value('vbm214-k-unit'),force:value('vbm214-force'),forceUnit:value('vbm214-force-unit'),deflection:value('vbm214-deflection'),deflectionUnit:value('vbm214-deflection-unit'),mass:value('vbm214-mass'),massUnit:value('vbm214-mass-unit')});\n  }\n  function format(n){if(!Number.isFinite(n))return '\u2014';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={'static-secant':'static secant stiffness','static-tangent':'static local\/tangent stiffness','dynamic-storage':'dynamic storage stiffness'};\n    setText('vbm214-result-context',(r.mode==='direct'?'documented K':'force\/deflection secant K')+' \u00b7 '+bases[r.basis]+' \u00b7 '+value('vbm214-id').trim());\n    setText('vbm214-r-k',format(r.K\/1000)+' N\/mm');setText('vbm214-r-k-alt',format(r.K*IN_M\/LBF_N)+' lbf\/in \u00b7 '+format(r.K)+' N\/m');\n    setText('vbm214-r-delta',format(r.delta*1000)+' mm');setText('vbm214-r-delta-alt',format(r.delta\/IN_M)+' in using the same linear K');\n    setText('vbm214-r-fn',format(r.fn)+' Hz');setText('vbm214-r-omega',format(r.omega)+' rad\/s \u00b7 undamped linear SDOF');\n    setText('vbm214-r-mass',format(r.M)+' kg');setText('vbm214-r-mass-alt',format(r.M\/LBM_KG)+' lbm');\n    setText('vbm214-r-weight',format(r.W)+' N');setText('vbm214-r-weight-alt',format(r.W\/LBF_N)+' lbf at conventional g0');\n    clearError();el('vbm214-results').classList.add('show');\n  }\n  function updateMode(clear){var pair=value('vbm214-mode')==='pair';document.querySelectorAll('[data-direct]').forEach(function(x){x.hidden=pair});document.querySelectorAll('[data-pair]').forEach(function(x){x.hidden=!pair});setText('vbm214-model-note',pair?'Pair mode: Ksec = F\/\u0394 for the documented force-deflection pair; this is not automatically tangent or dynamic stiffness.':'Direct mode: enter the equivalent linear stiffness for the selected translational coordinate.');if(clear){['vbm214-k','vbm214-force','vbm214-deflection'].forEach(function(id){el(id).value=''});invalidate()}}\n  var form=el('vbm214-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('vbm214-mode').addEventListener('change',function(){updateMode(true)});\n  el('vbm214-basis').addEventListener('change',function(){['vbm214-k','vbm214-force','vbm214-deflection'].forEach(function(id){el(id).value=''});invalidate()});\n  [['vbm214-k-unit','vbm214-k'],['vbm214-force-unit','vbm214-force'],['vbm214-deflection-unit','vbm214-deflection'],['vbm214-mass-unit','vbm214-mass']].forEach(function(p){el(p[0]).addEventListener('change',function(){el(p[1]).value='';invalidate()})});\n  form.querySelectorAll('input').forEach(function(x){x.addEventListener('input',invalidate);x.addEventListener('change',invalidate)});\n  el('vbm214-reset').addEventListener('click',function(){form.reset();form.querySelectorAll('input[type=\"text\"],input:not([type])').forEach(function(x){x.value=''});invalidate();updateMode(false);el('vbm214-k').focus()});\n  updateMode(false);\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Calculate linear-model gravity deflection and undamped natural frequency from documented static or dynamic mount stiffness and supported mass.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100214","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":4,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100214\/revisions"}],"predecessor-version":[{"id":102556,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/calculator\/100214\/revisions\/102556"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/media?parent=100214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/categories?post=100214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/it\/wp-json\/wp\/v2\/tags?post=100214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}