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

<channel>
	<title>appui ressort &#8211; BuildSoft Support</title>
	<atom:link href="https://support.buildsoft.eu/article-tags/appui-ressort/feed/" rel="self" type="application/rss+xml" />
	<link>https://support.buildsoft.eu</link>
	<description>BuildSoft Support</description>
	<lastBuildDate>Wed, 19 Aug 2026 12:37:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.14</generator>
	<item>
		<title>How to model a column, a foundation pile, a wall or a foundation pit as a spring?</title>
		<link>https://support.buildsoft.eu/knowledge-base/how-to-model-a-wall-or-a-column-as-a-spring/</link>
					<comments>https://support.buildsoft.eu/knowledge-base/how-to-model-a-wall-or-a-column-as-a-spring/#respond</comments>
		
		<dc:creator><![CDATA[Dorothee]]></dc:creator>
		<pubDate>Wed, 29 Mar 2017 10:08:04 +0000</pubDate>
				<guid isPermaLink="false">http://buildsoftsupport.com/?post_type=ht_kb&#038;p=403</guid>

					<description><![CDATA[The goal of this article is to translate the stiffness of a vertical elements (column, wall, surface support) to a spring constant which can be applied in the Y-direction in Diamonds. For a column With Hooke&#8217;s Law and the formula for stress , a formula for the spring constant can...]]></description>
										<content:encoded><![CDATA[
<p><br>The goal of this article is to translate the stiffness of a vertical elements (column, wall, surface support) to a spring constant <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-d42bc2203d6f76ad01b27ac9acc0bee1_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;" title="Rendered by QuickLaTeX.com" height="12" width="9" style="vertical-align: 0px;"/> which can be applied in the Y-direction in Diamonds.</p>



<h2 class="wp-block-heading">For a column</h2>



<p>With Hooke&#8217;s Law <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-a41ddef59db669dcf0d34d644dafcd42_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#70;&#61;&#107;&#32;&#92;&#99;&#100;&#111;&#116;&#32;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;" title="Rendered by QuickLaTeX.com" height="13" width="85" style="vertical-align: 0px;"/> and the formula for stress <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-a84303ad83da1c2af0e2fc9bc3c0f6af_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#92;&#115;&#105;&#103;&#109;&#97;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#70;&#125;&#123;&#65;&#125;" title="Rendered by QuickLaTeX.com" height="22" width="47" style="vertical-align: -6px;"/>, a formula for the spring constant can be deducted. This formula assumes that the element is supported at the buttom.<br><p class="ql-center-displayed-equation" style="line-height: 38px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-21b315f99d603fce98a877dd4e92a640_l3.png" height="38" width="340" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#107;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#70;&#125;&#123;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#92;&#115;&#105;&#103;&#109;&#97;&#32;&#65;&#125;&#123;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#32;&#92;&#118;&#97;&#114;&#101;&#112;&#115;&#105;&#108;&#111;&#110;&#32;&#65;&#125;&#123;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#32;&#40;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;&#32;&#47;&#108;&#41;&#32;&#65;&#125;&#123;&#92;&#68;&#101;&#108;&#116;&#97;&#32;&#120;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#32;&#65;&#125;&#123;&#108;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p><br>with</p>



<ul>
<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-638a7387bd72763290cc777a9b509c38_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#69;" title="Rendered by QuickLaTeX.com" height="12" width="14" style="vertical-align: 0px;"/> the modulus of elasticity of the column</li>



<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-816b613a4f79d4bf9cb51396a9654120_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#65;" title="Rendered by QuickLaTeX.com" height="13" width="13" style="vertical-align: 0px;"/> the cross-section area of the column</li>



<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-b6280786295cb6f54ae2e0ac2b803e5e_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#108;" title="Rendered by QuickLaTeX.com" height="12" width="5" style="vertical-align: 0px;"/> the length of the column</li>
</ul>



<style>
  .spring-calc-wrapper {
    --bs-border: #d7d9db;
    --bs-bg: #ffffff;
    --bs-panel-bg: #f7f7f8;
    --bs-text: #2b2e33;
    --bs-muted: #6b6f76;
    --bs-accent: #c0392b;
    --bs-input-bg: #ffffff;

    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    background: var(--bs-bg);
    border: 1px solid var(--bs-border);
    border-radius: 6px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--bs-text);
    font-size: 14px;
  }

  .spring-calc-wrapper * { box-sizing: border-box; }

  .spring-calc-wrapper .calc-section {
    padding: 20px;
    border-bottom: 1px solid var(--bs-border);
  }

  .spring-calc-wrapper .calc-section:last-child { border-bottom: none; }

  .spring-calc-wrapper .section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--bs-muted);
    margin: 0 0 14px 0;
  }

  .spring-calc-wrapper .field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }

  @media (max-width: 600px) {
    .spring-calc-wrapper .field-grid { grid-template-columns: 1fr; }
  }

  .spring-calc-wrapper .field { display: flex; flex-direction: column; }

  .spring-calc-wrapper .field label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--bs-text);
  }

  .spring-calc-wrapper .field label .unit {
    font-weight: 400;
    color: var(--bs-muted);
  }

  .spring-calc-wrapper .field input[type="number"] {
    border: 1px solid var(--bs-border);
    background: var(--bs-input-bg);
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 14px;
    color: var(--bs-text);
    width: 100%;
  }

  .spring-calc-wrapper .field input[type="number"]:focus {
    outline: none;
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
  }

  .spring-calc-wrapper .formula-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    background: var(--bs-panel-bg);
    border: 1px solid var(--bs-border);
    border-radius: 4px;
    padding: 16px;
  }

  /* Pure CSS formula rendering - replaces MathJax/QuickLaTeX */
  .spring-calc-wrapper .formula {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: "Latin Modern Math", "Cambria Math", Cambria, Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-style: normal;   /* numbers stay upright; only .var is italic */
    line-height: 1.25;
    white-space: nowrap;
  }

  /* Variable letters only - italic, the way maths is normally set */
  .spring-calc-wrapper .formula .var { font-style: italic; }

  .spring-calc-wrapper .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;   /* both rows take the full width of the widest one */
    text-align: center;
    vertical-align: middle;
  }

  /* Bar sits under the numerator, so it spans the whole fraction width */
  .spring-calc-wrapper .frac .num {
    padding: 0 10px 4px 10px;
    border-bottom: 1.5px solid currentColor;
  }

  .spring-calc-wrapper .frac .den { padding: 4px 10px 0 10px; }

  .spring-calc-wrapper .result-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--bs-accent);
    white-space: nowrap;
  }

  .spring-calc-wrapper .result-value .unit {
    font-size: 14px;
    font-weight: 400;
    color: var(--bs-muted);
    margin-left: 6px;
  }

  .spring-calc-wrapper .copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border);
    background: #ffffff;
    color: var(--bs-text);
    border-radius: 4px;
    padding: 8px;
    cursor: pointer;
    line-height: 0;
  }

  .spring-calc-wrapper .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
  }

  .spring-calc-wrapper .copy-btn:hover { border-color: var(--bs-accent); }

  .spring-calc-wrapper .copy-btn.copied {
    border-color: #2e7d32;
    color: #2e7d32;
  }

  .spring-calc-wrapper .note {
    font-size: 12px;
    color: var(--bs-muted);
    margin-top: 10px;
  }
</style>

<div class="spring-calc-wrapper">

  <div class="calc-section">
    <p class="section-title">Input</p>
    <div class="field-grid">
      <div class="field">
        <label for="spring-input-E">Young&#8217;s modulus E <span class="unit">[N/mm&#178;]</span></label>
        <input type="number" id="spring-input-E" step="any" value="30000">
      </div>
      <div class="field">
        <label for="spring-input-b">Width b <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-b" step="any" value="300">
      </div>
      <div class="field">
        <label for="spring-input-h">Length h <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-h" step="any" value="300">
      </div>
      <div class="field">
        <label for="spring-input-H">Level height H <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-H" step="any" value="3000">
      </div>
    </div>
  </div>

  <div class="calc-section">
    <div class="formula-row">
      <span class="formula">
        <span class="var">k</span>
        <span>=</span>
        <span class="frac">
          <span class="num"><span class="var">E</span> &#215; <span class="var">b</span> &#215; <span class="var">h</span></span>
          <span class="den"><span class="var">H</span></span>
        </span>
        <span>=</span>
        <span class="frac">
          <span class="num" id="spring-formula-num">30 000 &#215; 300 &#215; 300</span>
          <span class="den" id="spring-formula-den">3 000</span>
        </span>
        <span>=</span>
      </span>
      <span class="result-value"><span id="spring-result-k">900 000</span><span class="unit">kN/m</span></span>
      <button type="button" class="copy-btn" id="spring-copy-btn" aria-label="Copy result" title="Copy result">
        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="9" y="9" width="12" height="12" rx="2"></rect>
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
        </svg>
      </button>
    </div>
    <p class="note">Note: E is in N/mm&#178;, b, h and H are in mm; the result is converted to kN/m.</p>
  </div>

</div>

<script>
(function () {
  var lastResult = '';

  function el(id) { return document.getElementById(id); }

  function formatNum(n) {
    var rounded = Math.round(n * 100) / 100;
    var parts = rounded.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
    return parts.join('.');
  }

  function val(id) { return parseFloat(el(id).value); }

  function calculate() {
    var E = val('spring-input-E');
    var b = val('spring-input-b');
    var h = val('spring-input-h');
    var H = val('spring-input-H');

    // Empty inputs fall back to the italic variable letter.
    function sym(letter) { return '<span class="var">' + letter + '</span>'; }

    var eStr = isNaN(E) ? sym('E') : formatNum(E);
    var bStr = isNaN(b) ? sym('b') : formatNum(b);
    var hStr = isNaN(h) ? sym('h') : formatNum(h);
    var hgtStr = isNaN(H) ? sym('H') : formatNum(H);

    el('spring-formula-num').innerHTML = eStr + ' × ' + bStr + ' × ' + hStr;
    el('spring-formula-den').innerHTML = hgtStr;

    if (isNaN(E) || isNaN(b) || isNaN(h) || isNaN(H) || H === 0) {
      el('spring-result-k').textContent = '—';
      lastResult = '';
      return;
    }

    // E [N/mm2], b, h, H [mm] -> raw k is in N/mm, numerically equal to kN/m.
    var kKnm = (E * b * h) / H;
    lastResult = formatNum(Math.round(kKnm));
    el('spring-result-k').textContent = lastResult;
  }

  function copyResult() {
    if (!lastResult) { return; }
    var btn = el('spring-copy-btn');

    var writeFallback = function () {
      var temp = document.createElement('input');
      temp.value = lastResult;
      document.body.appendChild(temp);
      temp.select();
      document.execCommand('copy');
      temp.parentNode.removeChild(temp);
    };

    if (navigator.clipboard && navigator.clipboard.writeText) {
      navigator.clipboard.writeText(lastResult).catch(writeFallback);
    } else {
      writeFallback();
    }

    btn.className = 'copy-btn copied';
    setTimeout(function () { btn.className = 'copy-btn'; }, 1500);
  }

  function init() {
    var ids = ['spring-input-E', 'spring-input-b', 'spring-input-h', 'spring-input-H'];
    for (var i = 0; i < ids.length; i++) {
      el(ids[i]).addEventListener('input', calculate);
    }
    el('spring-copy-btn').addEventListener('click', copyResult);
    calculate();
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>



<p>This value must be entered in <img decoding="async" loading="lazy" width="32" height="31" class="wp-image-4178" style="width: 32px;" src="https://support.buildsoft.eu/wp-content/uploads/2017/03/KnopOndersteuning.png" alt="">:</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" loading="lazy" src="http://buildsoftsupport.com/wp-content/uploads/2017/03/SpringSupport1.png" alt="" class="wp-image-4179" width="477" height="442" srcset="https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport1.png 636w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport1-300x278.png 300w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport1-50x46.png 50w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport1-60x56.png 60w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport1-35x32.png 35w" sizes="(max-width: 477px) 100vw, 477px" /></figure>



<h2 class="wp-block-heading" id="pile">For a foundation pile</h2>



<p>In case of a foundation pile, there are two springs in series: the one for the pile <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-30223aae7f066eef31ab161b2f3d5eed_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#112;" title="Rendered by QuickLaTeX.com" height="18" width="16" style="vertical-align: -6px;"/> and one for the soil <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-85d438dedcd769195afbfb53762535c7_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#103;" title="Rendered by QuickLaTeX.com" height="18" width="16" style="vertical-align: -6px;"/>.</p>



<p><p class="ql-center-displayed-equation" style="line-height: 42px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-6800b7f2e46b12a9cef634aa2db5b868_l3.png" height="42" width="98" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#125;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#95;&#112;&#125;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#95;&#103;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p></p>



<p>If there is no data available on the soil, but you still want to take the effect into account, you could assume that <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-f233b9898dbda6110cb6e5221186e61d_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#103;&#61;&#107;&#95;&#112;" title="Rendered by QuickLaTeX.com" height="18" width="57" style="vertical-align: -6px;"/>. The formula for the spring contant becomes:</p>



<p><p class="ql-center-displayed-equation" style="line-height: 37px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-e34dd1be94cd5c19aecd9577615a6ed7_l3.png" height="37" width="108" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#107;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#107;&#95;&#112;&#125;&#123;&#50;&#125;&#32;&#61;&#32;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#32;&#65;&#125;&#123;&#50;&#32;&#92;&#99;&#100;&#111;&#116;&#32;&#108;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p></p>



<p>The "2" is refered to as the stiffenss ratio <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-1edc883862ceed1a21913f60358e31d8_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#115;" title="Rendered by QuickLaTeX.com" height="8" width="8" style="vertical-align: 0px;"/> in the calculator below.</p>



<style>
  .spring-calc-wrapper {
    --bs-border: #d7d9db;
    --bs-bg: #ffffff;
    --bs-panel-bg: #f7f7f8;
    --bs-text: #2b2e33;
    --bs-muted: #6b6f76;
    --bs-accent: #c0392b;
    --bs-input-bg: #ffffff;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    background: var(--bs-bg);
    border: 1px solid var(--bs-border);
    border-radius: 6px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--bs-text);
    font-size: 14px;
  }
  .spring-calc-wrapper * { box-sizing: border-box; }
  .spring-calc-wrapper .calc-section {
    padding: 20px;
    border-bottom: 1px solid var(--bs-border);
  }
  .spring-calc-wrapper .calc-section:last-child { border-bottom: none; }
  .spring-calc-wrapper .section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--bs-muted);
    margin: 0 0 14px 0;
  }
  .spring-calc-wrapper .field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }
  @media (max-width: 600px) {
    .spring-calc-wrapper .field-grid { grid-template-columns: 1fr; }
  }
  .spring-calc-wrapper .field { display: flex; flex-direction: column; }
  .spring-calc-wrapper .field label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--bs-text);
  }
  .spring-calc-wrapper .field label .unit {
    font-weight: 400;
    color: var(--bs-muted);
  }
  .spring-calc-wrapper .field input[type="number"] {
    border: 1px solid var(--bs-border);
    background: var(--bs-input-bg);
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 14px;
    color: var(--bs-text);
    width: 100%;
  }
  .spring-calc-wrapper .field input[type="number"]:focus {
    outline: none;
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
  }
  .spring-calc-wrapper .formula-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    background: var(--bs-panel-bg);
    border: 1px solid var(--bs-border);
    border-radius: 4px;
    padding: 16px;
  }
  /* Pure CSS formula rendering - replaces MathJax/QuickLaTeX */
  .spring-calc-wrapper .formula {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: "Latin Modern Math", "Cambria Math", Cambria, Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-style: normal;   /* numbers stay upright; only .var is italic */
    line-height: 1.25;
    white-space: nowrap;
  }
  /* Variable letters only - italic, the way maths is normally set */
  .spring-calc-wrapper .formula .var { font-style: italic; }
  .spring-calc-wrapper .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;   /* both rows take the full width of the widest one */
    text-align: center;
    vertical-align: middle;
  }
  /* Bar sits under the numerator, so it spans the whole fraction width */
  .spring-calc-wrapper .frac .num {
    padding: 0 10px 4px 10px;
    border-bottom: 1.5px solid currentColor;
  }
  .spring-calc-wrapper .frac .den { padding: 4px 10px 0 10px; }
  .spring-calc-wrapper .result-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--bs-accent);
    white-space: nowrap;
  }
  .spring-calc-wrapper .result-value .unit {
    font-size: 14px;
    font-weight: 400;
    color: var(--bs-muted);
    margin-left: 6px;
  }
  .spring-calc-wrapper .copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border);
    background: #ffffff;
    color: var(--bs-text);
    border-radius: 4px;
    padding: 8px;
    cursor: pointer;
    line-height: 0;
  }
  .spring-calc-wrapper .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
  }
  .spring-calc-wrapper .copy-btn:hover { border-color: var(--bs-accent); }
  .spring-calc-wrapper .copy-btn.copied {
    border-color: #2e7d32;
    color: #2e7d32;
  }
  .spring-calc-wrapper .note {
    font-size: 12px;
    color: var(--bs-muted);
    margin-top: 10px;
  }
</style>
<div class="spring-calc-wrapper">
  <div class="calc-section">
    <p class="section-title">Input</p>
    <div class="field-grid">
      <div class="field">
        <label for="spring-input-E">Young&#8217;s modulus E <span class="unit">[N/mm&#178;]</span></label>
        <input type="number" id="spring-input-E" step="any" value="30000">
      </div>
      <div class="field">
        <label for="spring-input-b">Width b <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-b" step="any" value="300">
      </div>
      <div class="field">
        <label for="spring-input-h">Length h <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-h" step="any" value="300">
      </div>
      <div class="field">
        <label for="spring-input-H">Level height H <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-H" step="any" value="3000">
      </div>
      <div class="field">
        <label for="spring-input-s">Stiffness ratio s <span class="unit">[-]</span></label>
        <input type="number" id="spring-input-s" step="any" value="2">
      </div>
    </div>
  </div>
  <div class="calc-section">
    <div class="formula-row">
      <span class="formula">
        <span class="var">k</span>
        <span>=</span>
        <span class="frac">
          <span class="num"><span class="var">E</span> &#183; <span class="var">b</span> &#183; <span class="var">h</span></span>
          <span class="den"><span class="var">s</span> &#183; <span class="var">H</span></span>
        </span>
        <span>=</span>
        <span class="frac">
          <span class="num" id="spring-formula-num">27 000 &#183; 300 &#183; 300</span>
          <span class="den" id="spring-formula-den">2 &#183; 3 000</span>
        </span>
        <span>=</span>
      </span>
      <span class="result-value"><span id="spring-result-k">405 000</span><span class="unit">kN/m</span></span>
      <button type="button" class="copy-btn" id="spring-copy-btn" aria-label="Copy result" title="Copy result">
        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="9" y="9" width="12" height="12" rx="2"></rect>
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
        </svg>
      </button>
    </div>
    <p class="note">Note: E is in N/mm&#178; and b, h and H are in mm, so (E&#183;b&#183;h)/(s&#183;H) is in N/mm; 1 N/mm = 1 kN/m.</p>
  </div>
</div>
<script>
(function () {
  var lastResult = '';
  function el(id) { return document.getElementById(id); }
  function formatNum(n) {
    var rounded = Math.round(n * 100) / 100;
    var parts = rounded.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
    return parts.join('.');
  }
  function val(id) { return parseFloat(el(id).value); }
  function calculate() {
    var E = val('spring-input-E');
    var b = val('spring-input-b');
    var h = val('spring-input-h');
    var H = val('spring-input-H');
    var s = val('spring-input-s');
    // Empty inputs fall back to the italic variable letter.
    function sym(letter) { return '<span class="var">' + letter + '</span>'; }
    function show(v, letter) { return isNaN(v) ? sym(letter) : formatNum(v); }
    el('spring-formula-num').innerHTML =
      show(E, 'E') + ' · ' + show(b, 'b') + ' · ' + show(h, 'h');
    el('spring-formula-den').innerHTML = show(s, 's') + ' · ' + show(H, 'H');
    if (isNaN(s) || isNaN(E) || isNaN(b) || isNaN(h) || isNaN(H) || H === 0 || s === 0) {
      el('spring-result-k').textContent = '—';
      lastResult = '';
      return;
    }
    // E [N/mm2], b, h, H [mm] -> k is in N/mm, and 1 N/mm = 1 kN/m.
    var kKnm = (E * b * h) / (s * H);
    lastResult = formatNum(Math.round(kKnm));
    el('spring-result-k').textContent = lastResult;
  }
  function copyResult() {
    if (!lastResult) { return; }
    var btn = el('spring-copy-btn');
    var writeFallback = function () {
      var temp = document.createElement('input');
      temp.value = lastResult;
      document.body.appendChild(temp);
      temp.select();
      document.execCommand('copy');
      temp.parentNode.removeChild(temp);
    };
    if (navigator.clipboard && navigator.clipboard.writeText) {
      navigator.clipboard.writeText(lastResult).catch(writeFallback);
    } else {
      writeFallback();
    }
    btn.className = 'copy-btn copied';
    setTimeout(function () { btn.className = 'copy-btn'; }, 1500);
  }
  function init() {
    var ids = ['spring-input-E', 'spring-input-b', 'spring-input-h', 'spring-input-H', 'spring-input-s'];
    for (var i = 0; i < ids.length; i++) {
      el(ids[i]).addEventListener('input', calculate);
    }
    el('spring-copy-btn').addEventListener('click', copyResult);
    calculate();
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>



<p>This value must be entered in <img decoding="async" loading="lazy" width="32" height="31" class="wp-image-4178" style="width: 32px;" src="https://support.buildsoft.eu/wp-content/uploads/2017/03/KnopOndersteuning.png" alt="">:</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" loading="lazy" src="https://buildsoftsupport.com/wp-content/uploads/2017/03/SpringFoundationPile.png" alt="" class="wp-image-6898" width="477" height="442" srcset="https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPile.png 636w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPile-300x278.png 300w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPile-50x46.png 50w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPile-60x56.png 60w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPile-35x32.png 35w" sizes="(max-width: 477px) 100vw, 477px" /></figure>



<p></p>



<h2 class="wp-block-heading" id="pile">For a wall</h2>



<p>Again Hook's law and the formula for stress are used. But since the length the wall will be modelled as a line support, this dimension is no longer in the formula:<br><p class="ql-center-displayed-equation" style="line-height: 36px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-627967c6d74cca7700d5b2e556ab4923_l3.png" height="36" width="58" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#107;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#32;&#98;&#125;&#123;&#108;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p><br>with</p>



<ul>
<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-638a7387bd72763290cc777a9b509c38_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#69;" title="Rendered by QuickLaTeX.com" height="12" width="14" style="vertical-align: 0px;"/> the modulus of elasticity of the wall</li>



<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-ad69adf868bc701e561aa555db995f1f_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#98;" title="Rendered by QuickLaTeX.com" height="12" width="8" style="vertical-align: 0px;"/> the thickness of the wall</li>



<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-b6280786295cb6f54ae2e0ac2b803e5e_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#108;" title="Rendered by QuickLaTeX.com" height="12" width="5" style="vertical-align: 0px;"/> the height of the wall</li>
</ul>



<style>
  .spring-calc-wrapper {
    --bs-border: #d7d9db;
    --bs-bg: #ffffff;
    --bs-panel-bg: #f7f7f8;
    --bs-text: #2b2e33;
    --bs-muted: #6b6f76;
    --bs-accent: #c0392b;
    --bs-input-bg: #ffffff;

    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    background: var(--bs-bg);
    border: 1px solid var(--bs-border);
    border-radius: 6px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--bs-text);
    font-size: 14px;
  }

  .spring-calc-wrapper * { box-sizing: border-box; }

  .spring-calc-wrapper .calc-section {
    padding: 20px;
    border-bottom: 1px solid var(--bs-border);
  }

  .spring-calc-wrapper .calc-section:last-child { border-bottom: none; }

  .spring-calc-wrapper .section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--bs-muted);
    margin: 0 0 14px 0;
  }

  .spring-calc-wrapper .field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }

  @media (max-width: 600px) {
    .spring-calc-wrapper .field-grid { grid-template-columns: 1fr; }
  }

  .spring-calc-wrapper .field { display: flex; flex-direction: column; }

  .spring-calc-wrapper .field label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--bs-text);
  }

  .spring-calc-wrapper .field label .unit {
    font-weight: 400;
    color: var(--bs-muted);
  }

  .spring-calc-wrapper .field input[type="number"] {
    border: 1px solid var(--bs-border);
    background: var(--bs-input-bg);
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 14px;
    color: var(--bs-text);
    width: 100%;
  }

  .spring-calc-wrapper .field input[type="number"]:focus {
    outline: none;
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
  }

  .spring-calc-wrapper .formula-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    background: var(--bs-panel-bg);
    border: 1px solid var(--bs-border);
    border-radius: 4px;
    padding: 16px;
  }

  /* Pure CSS formula rendering - replaces MathJax/QuickLaTeX */
  .spring-calc-wrapper .formula {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: "Latin Modern Math", "Cambria Math", Cambria, Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-style: normal;   /* numbers stay upright; only .var is italic */
    line-height: 1.25;
    white-space: nowrap;
  }

  /* Variable letters only - italic, the way maths is normally set */
  .spring-calc-wrapper .formula .var { font-style: italic; }

  .spring-calc-wrapper .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;   /* both rows take the full width of the widest one */
    text-align: center;
    vertical-align: middle;
  }

  /* Bar sits under the numerator, so it spans the whole fraction width */
  .spring-calc-wrapper .frac .num {
    padding: 0 10px 4px 10px;
    border-bottom: 1.5px solid currentColor;
  }

  .spring-calc-wrapper .frac .den { padding: 4px 10px 0 10px; }

  .spring-calc-wrapper .result-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--bs-accent);
    white-space: nowrap;
  }

  .spring-calc-wrapper .result-value .unit {
    font-size: 14px;
    font-weight: 400;
    color: var(--bs-muted);
    margin-left: 6px;
  }

  .spring-calc-wrapper .copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border);
    background: #ffffff;
    color: var(--bs-text);
    border-radius: 4px;
    padding: 8px;
    cursor: pointer;
    line-height: 0;
  }

  .spring-calc-wrapper .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
  }

  .spring-calc-wrapper .copy-btn:hover { border-color: var(--bs-accent); }

  .spring-calc-wrapper .copy-btn.copied {
    border-color: #2e7d32;
    color: #2e7d32;
  }

  .spring-calc-wrapper .note {
    font-size: 12px;
    color: var(--bs-muted);
    margin-top: 10px;
  }
</style>

<div class="spring-calc-wrapper">

  <div class="calc-section">
    <p class="section-title">Input</p>
    <div class="field-grid">
      <div class="field">
        <label for="spring-input-E">Young&#8217;s modulus E <span class="unit">[N/mm&#178;]</span></label>
        <input type="number" id="spring-input-E" step="any" value="6170">
      </div>
      <div class="field">
        <label for="spring-input-b">Width b <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-b" step="any" value="140">
      </div>
      <div class="field">
        <label for="spring-input-H">Level height H <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-H" step="any" value="3000">
      </div>
    </div>
  </div>

  <div class="calc-section">
    <div class="formula-row">
      <span class="formula">
        <span class="var">k</span>
        <span>=</span>
        <span class="frac">
          <span class="num"><span class="var">E</span> &#215; <span class="var">b</span></span>
          <span class="den"><span class="var">H</span></span>
        </span>
        <span>=</span>
        <span class="frac">
          <span class="num" id="spring-formula-num">6 170 &#215; 140</span>
          <span class="den" id="spring-formula-den">3 000</span>
        </span>
        <span>=</span>
      </span>
      <span class="result-value"><span id="spring-result-k">287 933</span><span class="unit">kN/m&#178;</span></span>
      <button type="button" class="copy-btn" id="spring-copy-btn" aria-label="Copy result" title="Copy result">
        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="9" y="9" width="12" height="12" rx="2"></rect>
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
        </svg>
      </button>
    </div>
    <p class="note">Note: E is in N/mm&#178;, b and H are in mm; the result is converted to kN/m&#178;.</p>
  </div>

</div>

<script>
(function () {
  var lastResult = '';

  function el(id) { return document.getElementById(id); }

  function formatNum(n) {
    var rounded = Math.round(n * 100) / 100;
    var parts = rounded.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
    return parts.join('.');
  }

  function val(id) { return parseFloat(el(id).value); }

  function calculate() {
    var E = val('spring-input-E');
    var b = val('spring-input-b');
    var H = val('spring-input-H');

    // Empty inputs fall back to the italic variable letter.
    function sym(letter) { return '<span class="var">' + letter + '</span>'; }

    var eStr = isNaN(E) ? sym('E') : formatNum(E);
    var bStr = isNaN(b) ? sym('b') : formatNum(b);
    var hgtStr = isNaN(H) ? sym('H') : formatNum(H);

    el('spring-formula-num').innerHTML = eStr + ' × ' + bStr;
    el('spring-formula-den').innerHTML = hgtStr;

    if (isNaN(E) || isNaN(b) || isNaN(H) || H === 0) {
      el('spring-result-k').textContent = '—';
      lastResult = '';
      return;
    }

    // E [N/mm2], b and H [mm] -> raw k is in N/mm2 (stiffness per running metre).
    // 1 N/mm2 = 1000 kN/m2, so unlike the kN/m case the factor does NOT cancel.
    var kKnm2 = ((E * b) / H) * 1000;
    lastResult = formatNum(Math.round(kKnm2));
    el('spring-result-k').textContent = lastResult;
  }

  function copyResult() {
    if (!lastResult) { return; }
    var btn = el('spring-copy-btn');

    var writeFallback = function () {
      var temp = document.createElement('input');
      temp.value = lastResult;
      document.body.appendChild(temp);
      temp.select();
      document.execCommand('copy');
      temp.parentNode.removeChild(temp);
    };

    if (navigator.clipboard && navigator.clipboard.writeText) {
      navigator.clipboard.writeText(lastResult).catch(writeFallback);
    } else {
      writeFallback();
    }

    btn.className = 'copy-btn copied';
    setTimeout(function () { btn.className = 'copy-btn'; }, 1500);
  }

  function init() {
    var ids = ['spring-input-E', 'spring-input-b', 'spring-input-H'];
    for (var i = 0; i < ids.length; i++) {
      el(ids[i]).addEventListener('input', calculate);
    }
    el('spring-copy-btn').addEventListener('click', copyResult);
    calculate();
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>



<p>This value must be entered in <img decoding="async" loading="lazy" width="32" height="31" class="wp-image-4178" style="width: 32px;" src="https://support.buildsoft.eu/wp-content/uploads/2017/03/KnopOndersteuning.png" alt="">:</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" loading="lazy" src="http://buildsoftsupport.com/wp-content/uploads/2017/03/SpringSupport3b.png" alt="" class="wp-image-4183" width="477" height="442" srcset="https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport3b.png 636w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport3b-300x278.png 300w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport3b-50x46.png 50w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport3b-60x56.png 60w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringSupport3b-35x32.png 35w" sizes="(max-width: 477px) 100vw, 477px" /></figure>



<h2 class="wp-block-heading">For a foundation pit (supported area)</h2>



<p>Again, there are two springs in series: the one for the pit <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-30223aae7f066eef31ab161b2f3d5eed_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#112;" title="Rendered by QuickLaTeX.com" height="18" width="16" style="vertical-align: -6px;"/> and one for the soil <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-85d438dedcd769195afbfb53762535c7_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#103;" title="Rendered by QuickLaTeX.com" height="18" width="16" style="vertical-align: -6px;"/>.</p>



<p><p class="ql-center-displayed-equation" style="line-height: 42px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-6800b7f2e46b12a9cef634aa2db5b868_l3.png" height="42" width="98" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#125;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#95;&#112;&#125;&#32;&#43;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#49;&#125;&#123;&#107;&#95;&#103;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p></p>



<p>If there is no data available on the soil, but you still want to take the effect into account, you could assume that <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-f233b9898dbda6110cb6e5221186e61d_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;&#95;&#103;&#61;&#107;&#95;&#112;" title="Rendered by QuickLaTeX.com" height="18" width="57" style="vertical-align: -6px;"/>. Both dimensions of the surface support will be modelled. Which gives this as the formula for the spring constant <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-d42bc2203d6f76ad01b27ac9acc0bee1_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#107;" title="Rendered by QuickLaTeX.com" height="12" width="9" style="vertical-align: 0px;"/>:</p>



<p><p class="ql-center-displayed-equation" style="line-height: 36px;"><span class="ql-right-eqno"> &nbsp; </span><span class="ql-left-eqno"> &nbsp; </span><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-c0a6f205ffc8845b32789fd0101465d9_l3.png" height="36" width="108" class="ql-img-displayed-equation quicklatex-auto-format" alt="&#92;&#91;&#107;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#107;&#95;&#112;&#125;&#123;&#50;&#125;&#32;&#61;&#32;&#92;&#102;&#114;&#97;&#99;&#123;&#69;&#125;&#123;&#50;&#32;&#92;&#99;&#100;&#111;&#116;&#32;&#108;&#125;&#92;&#93;" title="Rendered by QuickLaTeX.com"/></p><br>with</p>



<ul>
<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-638a7387bd72763290cc777a9b509c38_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#69;" title="Rendered by QuickLaTeX.com" height="12" width="14" style="vertical-align: 0px;"/> the modulus of elasticity of the surface support</li>



<li><img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-b6280786295cb6f54ae2e0ac2b803e5e_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#108;" title="Rendered by QuickLaTeX.com" height="12" width="5" style="vertical-align: 0px;"/> the height of the pit</li>



<li>The "2" is refered to as the stiffenss ratio <img decoding="async" loading="lazy" src="https://support.buildsoft.eu/wp-content/ql-cache/quicklatex.com-1edc883862ceed1a21913f60358e31d8_l3.png" class="ql-img-inline-formula quicklatex-auto-format" alt="&#115;" title="Rendered by QuickLaTeX.com" height="8" width="8" style="vertical-align: 0px;"/> in the calculator below.</li>
</ul>



<style>
  .spring-calc-wrapper {
    --bs-border: #d7d9db;
    --bs-bg: #ffffff;
    --bs-panel-bg: #f7f7f8;
    --bs-text: #2b2e33;
    --bs-muted: #6b6f76;
    --bs-accent: #c0392b;
    --bs-input-bg: #ffffff;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    background: var(--bs-bg);
    border: 1px solid var(--bs-border);
    border-radius: 6px;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--bs-text);
    font-size: 14px;
  }
  .spring-calc-wrapper * { box-sizing: border-box; }
  .spring-calc-wrapper .calc-section {
    padding: 20px;
    border-bottom: 1px solid var(--bs-border);
  }
  .spring-calc-wrapper .calc-section:last-child { border-bottom: none; }
  .spring-calc-wrapper .section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--bs-muted);
    margin: 0 0 14px 0;
  }
  .spring-calc-wrapper .field-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
  }
  @media (max-width: 600px) {
    .spring-calc-wrapper .field-grid { grid-template-columns: 1fr; }
  }
  .spring-calc-wrapper .field { display: flex; flex-direction: column; }
  .spring-calc-wrapper .field label {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--bs-text);
  }
  .spring-calc-wrapper .field label .unit {
    font-weight: 400;
    color: var(--bs-muted);
  }
  .spring-calc-wrapper .field input[type="number"] {
    border: 1px solid var(--bs-border);
    background: var(--bs-input-bg);
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 14px;
    color: var(--bs-text);
    width: 100%;
  }
  .spring-calc-wrapper .field input[type="number"]:focus {
    outline: none;
    border-color: var(--bs-accent);
    box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.12);
  }
  .spring-calc-wrapper .formula-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    background: var(--bs-panel-bg);
    border: 1px solid var(--bs-border);
    border-radius: 4px;
    padding: 16px;
  }
  /* Pure CSS formula rendering - replaces MathJax/QuickLaTeX */
  .spring-calc-wrapper .formula {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: "Latin Modern Math", "Cambria Math", Cambria, Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-style: normal;   /* numbers stay upright; only .var is italic */
    line-height: 1.25;
    white-space: nowrap;
  }
  /* Variable letters only - italic, the way maths is normally set */
  .spring-calc-wrapper .formula .var { font-style: italic; }
  .spring-calc-wrapper .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;   /* both rows take the full width of the widest one */
    text-align: center;
    vertical-align: middle;
  }
  /* Bar sits under the numerator, so it spans the whole fraction width */
  .spring-calc-wrapper .frac .num {
    padding: 0 10px 4px 10px;
    border-bottom: 1.5px solid currentColor;
  }
  .spring-calc-wrapper .frac .den { padding: 4px 10px 0 10px; }
  .spring-calc-wrapper .result-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--bs-accent);
    white-space: nowrap;
  }
  .spring-calc-wrapper .result-value .unit {
    font-size: 14px;
    font-weight: 400;
    color: var(--bs-muted);
    margin-left: 6px;
  }
  .spring-calc-wrapper .copy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bs-border);
    background: #ffffff;
    color: var(--bs-text);
    border-radius: 4px;
    padding: 8px;
    cursor: pointer;
    line-height: 0;
  }
  .spring-calc-wrapper .copy-btn svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
  }
  .spring-calc-wrapper .copy-btn:hover { border-color: var(--bs-accent); }
  .spring-calc-wrapper .copy-btn.copied {
    border-color: #2e7d32;
    color: #2e7d32;
  }
  .spring-calc-wrapper .note {
    font-size: 12px;
    color: var(--bs-muted);
    margin-top: 10px;
  }
</style>
<div class="spring-calc-wrapper">
  <div class="calc-section">
    <p class="section-title">Input</p>
    <div class="field-grid">
      <div class="field">
        <label for="spring-input-E">Young&#8217;s modulus E <span class="unit">[N/mm&#178;]</span></label>
        <input type="number" id="spring-input-E" step="any" value="27000">
      </div>
      <div class="field">
        <label for="spring-input-H">Level height H <span class="unit">[mm]</span></label>
        <input type="number" id="spring-input-H" step="any" value="3000">
      </div>
      <div class="field">
        <label for="spring-input-s">Stiffness ratio s <span class="unit">[-]</span></label>
        <input type="number" id="spring-input-s" step="any" value="2">
      </div>
    </div>
  </div>
  <div class="calc-section">
    <div class="formula-row">
      <span class="formula">
        <span class="var">k</span>
        <span>=</span>
        <span class="frac">
          <span class="num"><span class="var">E</span></span>
          <span class="den"><span class="var">s</span> &#183; <span class="var">H</span></span>
        </span>
        <span>=</span>
        <span class="frac">
          <span class="num" id="spring-formula-num">27 000</span>
          <span class="den" id="spring-formula-den">2 &#183; 3 000</span>
        </span>
        <span>=</span>
      </span>
      <span class="result-value"><span id="spring-result-k">4 500 000</span><span class="unit">kN/m&#179;</span></span>
      <button type="button" class="copy-btn" id="spring-copy-btn" aria-label="Copy result" title="Copy result">
        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="9" y="9" width="12" height="12" rx="2"></rect>
          <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
        </svg>
      </button>
    </div>
    <p class="note">Note: E is in N/mm&#178; and H is in mm; the result is converted to kN/m&#179;.</p>
  </div>
</div>
<script>
(function () {
  var lastResult = '';
  function el(id) { return document.getElementById(id); }
  function formatNum(n) {
    var rounded = Math.round(n * 100) / 100;
    var parts = rounded.toString().split('.');
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
    return parts.join('.');
  }
  function val(id) { return parseFloat(el(id).value); }
  function calculate() {
    var E = val('spring-input-E');
    var H = val('spring-input-H');
    var s = val('spring-input-s');
    // Empty inputs fall back to the italic variable letter.
    function sym(letter) { return '<span class="var">' + letter + '</span>'; }
    function show(v, letter) { return isNaN(v) ? sym(letter) : formatNum(v); }
    el('spring-formula-num').innerHTML = show(E, 'E');
    el('spring-formula-den').innerHTML = show(s, 's') + ' · ' + show(H, 'H');
    if (isNaN(E) || isNaN(s) || isNaN(H) || H === 0 || s === 0) {
      el('spring-result-k').textContent = '—';
      lastResult = '';
      return;
    }
    // E [N/mm2] and H [mm] -> raw k is in N/mm3 (stiffness per unit area).
    // 1 N/mm3 = 1 000 000 kN/m3, so the factor does NOT cancel.
    var kKnm3 = (E / (s * H)) * 1000000;
    lastResult = formatNum(Math.round(kKnm3));
    el('spring-result-k').textContent = lastResult;
  }
  function copyResult() {
    if (!lastResult) { return; }
    var btn = el('spring-copy-btn');
    var writeFallback = function () {
      var temp = document.createElement('input');
      temp.value = lastResult;
      document.body.appendChild(temp);
      temp.select();
      document.execCommand('copy');
      temp.parentNode.removeChild(temp);
    };
    if (navigator.clipboard && navigator.clipboard.writeText) {
      navigator.clipboard.writeText(lastResult).catch(writeFallback);
    } else {
      writeFallback();
    }
    btn.className = 'copy-btn copied';
    setTimeout(function () { btn.className = 'copy-btn'; }, 1500);
  }
  function init() {
    var ids = ['spring-input-E', 'spring-input-H', 'spring-input-s'];
    for (var i = 0; i < ids.length; i++) {
      el(ids[i]).addEventListener('input', calculate);
    }
    el('spring-copy-btn').addEventListener('click', copyResult);
    calculate();
  }
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init);
  } else {
    init();
  }
})();
</script>



<p>This value must be entered in <img decoding="async" loading="lazy" width="32" height="31" class="wp-image-4178" style="width: 32px;" src="https://support.buildsoft.eu/wp-content/uploads/2017/03/KnopOndersteuning.png" alt="">:</p>



<figure class="wp-block-image aligncenter is-resized"><img decoding="async" loading="lazy" src="https://buildsoftsupport.com/wp-content/uploads/2017/03/SpringFoundationPit.png" alt="" class="wp-image-6897" width="477" height="442" srcset="https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPit.png 636w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPit-300x278.png 300w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPit-50x46.png 50w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPit-60x56.png 60w, https://support.buildsoft.eu/wp-content/uploads/2017/03/SpringFoundationPit-35x32.png 35w" sizes="(max-width: 477px) 100vw, 477px" /></figure>



<p class="wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-alert">Replacing surface supports (like foundation pits) with springs, implies that you to model the circumference of the foundation pit. Therefor it is advised to apply this type of spring constant only to smaller models. For example: in a model that only contains the foundation slab and not all floors above it</p>
]]></content:encoded>
					
					<wfw:commentRss>https://support.buildsoft.eu/knowledge-base/how-to-model-a-wall-or-a-column-as-a-spring/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
