12  Boden, Sehne, Faszie

In Kapitel 10 wurde die Ferse zu einem Netz aus P1-Dreieck-Elementen und daraus die große Steifigkeitsmatrix \(K\) zusammengebaut, und in Kapitel 11 wurde dieses Handnetz mit festem Talus-Lager und den drei Kräften eines Schrittmoments zum ersten Mal vollständig durchgerechnet. Dort standen die Randbedingungen bereits fest; dieses Kapitel tritt einen Schritt zurück und ordnet sie systematisch. Denn ein Netz allein schwebt im Leeren: Ohne Angabe, wo es festgehalten wird und wo Kräfte angreifen, ist \(K\,u = f\) nicht eindeutig lösbar (1).

Dieses Kapitel verbindet das Netz mit der Welt. An der Ferse gibt es vier Orte, an denen die Umgebung auf den Knochen wirkt: das Sprunggelenk oben, die Achillessehne hinten, der Boden unten und die Plantarfaszie vorn unten. Mathematisch sind es nur drei Sorten Randbedingung: Entweder ist die Verschiebung vorgegeben, oder die Kraft, oder beide hängen über eine Feder zusammen. Jede der drei kannst du am eigenen Fuß spüren. Die Feder ist die Einlage, und an ihr zeigt sich am deutlichsten, was eine Randbedingung kann und was nicht.

Lernziele

Nach diesem Kapitel kannst du

  1. die drei Sorten Randbedingung unterscheiden (Verschiebung vorgegeben, Kraft vorgegeben, Feder) und jedem der vier Orte an der Ferse (Talus, Achillessehne, Boden, Faszienansatz) die richtige zuordnen,
  2. erklären, warum eine feste Lagerung nötig ist (eindeutige Lösung,
    1. und wo sie in der Ferse sitzt,
  3. den Unterschied zwischen einer Punktkraft und einer über eine Fläche verteilten Last benennen und seine Folge für die Spannung angeben (Vorschau Kerbe, Kapitel 13),
  4. den Faszienzug an der Enthese als Randbedingung beschreiben — Ort, Richtung, Größe — und sagen, warum die Kapitel 16 bis 18 gerade dort hinsehen,
  5. die elastische Bettung als Feder-Teppich unter der Ferse deuten und sagen, was dieses Modell über eine Einlage aussagt und was nicht.

Bevor das erste Bild entsteht, wird das Rechenwerk dieses Kapitels eingerichtet. Zwei Zellen tun das, und beide sind eingeklappt: Wer wissen will, woher ein Name in einem späteren Block kommt, klappt sie auf und findet ihn. Die erste sammelt die Zeichenwerkzeuge — die echte Kalkaneus-Kontur, das mittlere Buchnetz, die Orientierungszeile mit Maßstab und die Farbskala, die jedes Feldbild dieses Kapitels benutzt.

Das Rechenwerk dieses Kapitels — Kontur, Netz und Farbskala, zum Nachlesen aufklappen
# --- Nur Zeichenhilfen (numpy/matplotlib): echte Kontur, echtes Buchnetz,
# Orientierung, Farbskala. KEINE Lehr-Mathematik — die steht in der reinen
# Python-Zelle darunter.
import json
import pathlib

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter

_kontur = json.loads(
    pathlib.Path("../geometrie/kalkaneus_kontur.json").read_text())
KONTUR = np.array(_kontur["punkte"]) * 1000.0        # m -> mm

NETZ_MITTEL = json.loads(pathlib.Path("netze/netz_mittel.json").read_text())

def orientierung(ax, mit_massstab=True):
    """„oben ↑"-Pfeil, hinten/vorn und 10-mm-Maßstabsbalken."""
    ax.text(-13, 43, "hinten (Ferse)", fontsize=8, color="#666")
    ax.text(44, 43, "vorn (Zehen)", fontsize=8, color="#666")
    ax.annotate("oben", xy=(-11, 40), xytext=(-11, 26), fontsize=8, color="#444",
                ha="center", arrowprops=dict(arrowstyle="->", color="#444", lw=1.4))
    if mit_massstab:
        ax.plot([54, 64], [-2, -2], color="#333", lw=2.4, solid_capstyle="butt")
        ax.plot([54, 54], [-3.2, -0.8], color="#333", lw=1.2)
        ax.plot([64, 64], [-3.2, -0.8], color="#333", lw=1.2)
        ax.text(59, -5.4, "10 mm", ha="center", fontsize=8, color="#333")

def farbskala_mpa(fig, ax, tpc):
    """Werte-Legende (turbo, 0–10 MPa) — Farbbalken nie höher als das Bild.
    Warum 0–10 statt der sonst üblichen 0–1000 kPa: siehe den Absatz „Warum
    diese Zahlen zehnmal größer sind" im Abschnitt zum Bodendruck."""
    cb = fig.colorbar(tpc, ax=ax, fraction=0.046, pad=0.03)
    cb.set_label("Von-Mises (MPa)", fontsize=8)
    return cb

Die zweite Zelle ist der Lehrcode selbst: reines Python ohne Bibliotheken. In ihr stehen der FEM-Kern aus Kapitel 10 (Zeltsteigungen, Elementmatrix, Assemblierung, Gauß-Löser), die vier Bauformen der Randbedingung als je eine Funktion und das Handnetz mit den Zahlen aus dem Zahlenanhang. Jede Zahl, die dieses Kapitel später in einer Tabelle zeigt, kommt aus diesen Funktionen — sie ist gerechnet, nicht hingeschrieben. Eingeklappt bleibt die Zelle, weil sie den Vorhersagefragen weiter unten nichts vorwegnehmen soll.

Der Lehrcode dieses Kapitels — FEM-Kern und die vier Randbedingungen, zum Aufklappen
# Reines Python (KEINE Bibliotheken): der sichtbare Lehrcode dieses Kapitels.
# Eingeklappt gehalten — er darf rechnen, nimmt aber keiner Vorhersage etwas
# vorweg; die Tabellen weiter unten rufen diese Funktionen erst nach Frage,
# Darstellung, Deutung und Formel. Das Buch prüft bei jedem Bau, dass dieser
# Code, seine Fassung im Browser und eine unabhängige Rechnung mit scikit-fem
# dieselben Zahlen liefern (< 10⁻¹⁰). Der FEM-Kern (Zeltsteigungen,
# Elementmatrix, Assemblierung, Gauß) ist derselbe wie in Kapitel 10; hier
# kommen die vier Randbedingungen dazu.
import math

def komma(x, stellen=2):
    """Deutsche Kommadarstellung mit Endnullen-Trimmung; Minuszeichen −."""
    s = f"{x:.{stellen}f}"
    if "." in s:
        s = s.rstrip("0").rstrip(".")
    return s.replace("-", "−").replace(".", ",")

def komma_sig(x, n=3):
    """Deutsche Darstellung mit n signifikanten Stellen (ohne e-Notation);
    echte Rundungsreste (< 10⁻¹²) werden als 0 gezeigt, sonst NIE nullgeschnappt."""
    if abs(x) < 1e-12:
        return "0"
    s = f"{x:.{n}g}"
    if "e" in s or "E" in s:
        s = f"{x:.12f}".rstrip("0").rstrip(".")
    return s.replace("-", "−").replace(".", ",")

# --- FEM-Kern (wie Kapitel 10) ---------------------------------------------
def zeltsteigungen(ecken):
    (xa, ya), (xb, yb), (xc, yc) = ecken[0], ecken[1], ecken[2]
    zwei = xa * (yb - yc) + xb * (yc - ya) + xc * (ya - yb)
    if zwei == 0.0:
        raise ValueError(f"Dreieck entartet (Fläche null): {ecken}")
    b = [(yb - yc) / zwei, (yc - ya) / zwei, (ya - yb) / zwei]
    c = [(xc - xb) / zwei, (xa - xc) / zwei, (xb - xa) / zwei]
    return b, c, abs(zwei) / 2.0

def materialtabelle(e_modul, nu):
    if e_modul <= 0.0:
        raise ValueError(f"E-Modul muss positiv sein: {e_modul}")
    if not (0.0 <= nu < 0.5):
        raise ValueError(f"Querkontraktion ν muss in [0; 0,5) liegen: {nu}")
    faktor = e_modul / (1.0 - nu * nu)
    schub = (1.0 - nu) / 2.0
    return [[faktor, faktor * nu, 0.0],
            [faktor * nu, faktor, 0.0],
            [0.0, 0.0, faktor * schub]]

def b_tabelle(ecken):
    b, c, _ = zeltsteigungen(ecken)
    tab = [[0.0] * 6, [0.0] * 6, [0.0] * 6]
    for e in range(3):
        tab[0][2 * e] = b[e]
        tab[1][2 * e + 1] = c[e]
        tab[2][2 * e] = c[e]
        tab[2][2 * e + 1] = b[e]
    return tab

def elementmatrix(ecken, e_modul, nu, tiefe):
    B = b_tabelle(ecken)
    C = materialtabelle(e_modul, nu)
    _, _, flaeche = zeltsteigungen(ecken)
    cb = [[0.0] * 6 for _ in range(3)]
    for z in range(3):
        for s in range(6):
            summe = 0.0
            for k in range(3):
                summe = summe + C[z][k] * B[k][s]
            cb[z][s] = summe
    Ke = [[0.0] * 6 for _ in range(6)]
    for i in range(6):
        for j in range(6):
            summe = 0.0
            for k in range(3):
                summe = summe + B[k][i] * cb[k][j]
            Ke[i][j] = summe * tiefe * flaeche
    return Ke

def leeres_system(dof):
    return [[0.0] * dof for _ in range(dof)]

def assembliere(knoten, dreiecke, e_modul, nu, tiefe):
    K = leeres_system(2 * len(knoten))
    for dr in dreiecke:
        ecken = [knoten[dr[0]], knoten[dr[1]], knoten[dr[2]]]
        Ke = elementmatrix(ecken, e_modul, nu, tiefe)
        dofs = []
        for e in range(3):
            dofs.append(2 * dr[e])
            dofs.append(2 * dr[e] + 1)
        for a in range(6):
            for b in range(6):
                K[dofs[a]][dofs[b]] = K[dofs[a]][dofs[b]] + Ke[a][b]
    return K

def gauss_loese(A, rhs):
    n = len(rhs)
    a = [zeile[:] for zeile in A]
    b = rhs[:]
    for s in range(n):
        p = s
        for r in range(s + 1, n):
            if abs(a[r][s]) > abs(a[p][s]):
                p = r
        if a[p][s] == 0.0:
            raise ValueError("System nicht lösbar (Pivot null)")
        if p != s:
            a[s], a[p] = a[p], a[s]
            b[s], b[p] = b[p], b[s]
        for r in range(s + 1, n):
            faktor = a[r][s] / a[s][s]
            if faktor != 0.0:
                for c in range(s, n):
                    a[r][c] = a[r][c] - faktor * a[s][c]
                b[r] = b[r] - faktor * b[s]
    x = [0.0] * n
    for r in range(n - 1, -1, -1):
        summe = b[r]
        for c in range(r + 1, n):
            summe = summe - a[r][c] * x[c]
        x[r] = summe / a[r][r]
    return x

# --- Die vier Randbedingungen ----------------------------------------------
def feste_dofs(knoten_liste):
    """Feste Freiheitsgrade einer Knotenliste (Dirichlet-Randbedingung):
    beide Richtungen jedes gelagerten Knotens werden festgehalten."""
    feste = []
    for k in knoten_liste:
        feste.append(2 * k)
        feste.append(2 * k + 1)
    return feste

def verteilte_last(n_knoten, facetten, kraft_xy):
    """Verteilte Last: eine Gesamtkraft (fx, fy) konsistent über die Facetten
    (i, j, L) — jede trägt den Anteil L/L_gesamt, je zur Hälfte auf ihre beiden
    Endknoten. Die Summe der Knotenkräfte ist exakt die Gesamtkraft."""
    f = [0.0] * (2 * n_knoten)
    laenge_gesamt = 0.0
    for fac in facetten:
        laenge_gesamt = laenge_gesamt + fac[2]
    if laenge_gesamt <= 0.0:
        raise ValueError("Randgruppe ohne Facetten")
    fx, fy = kraft_xy
    for (i, j, laenge) in facetten:
        anteil = 0.5 * laenge / laenge_gesamt
        f[2 * i] = f[2 * i] + anteil * fx
        f[2 * i + 1] = f[2 * i + 1] + anteil * fy
        f[2 * j] = f[2 * j] + anteil * fx
        f[2 * j + 1] = f[2 * j + 1] + anteil * fy
    return f

def einzelkraft(n_knoten, knoten_index, kraft_xy):
    """Einzelkraft (Punktlast): die ganze Kraft (fx, fy) an EINEM Knoten."""
    f = [0.0] * (2 * n_knoten)
    f[2 * knoten_index] = kraft_xy[0]
    f[2 * knoten_index + 1] = kraft_xy[1]
    return f

def bettung_federn(n_knoten, boden_facetten, e_material):
    """Elastische Bettung: ein vertikaler Winkler-Federwert je plantarem Knoten
    (der Feder-Teppich der Einlage). Bettungsmodul k = E_material / Kissendicke;
    jede Bodenfacette der Länge L verteilt k·L·Dicke hälftig auf ihre Endknoten.
    Rückgabe: Federsteife je Freiheitsgrad (nur senkrecht besetzt)."""
    feder = [0.0] * (2 * n_knoten)
    if e_material <= 0.0:
        return feder
    k_linie = e_material / KISSEN_DICKE
    for (i, j, laenge) in boden_facetten:
        beitrag = k_linie * (laenge / 2.0) * TIEFE
        feder[2 * i + 1] = feder[2 * i + 1] + beitrag
        feder[2 * j + 1] = feder[2 * j + 1] + beitrag
    return feder

def loese_randwert(K, kraefte, feste_liste, federn):
    """Löst K·u = f mit fester Lagerung und (optionalen) Bettungsfedern auf der
    Diagonale: erst die Federn zur Diagonale addieren, dann die festen
    Freiheitsgrade ausbauen und das Restsystem lösen."""
    dof = len(K)
    Km = [zeile[:] for zeile in K]
    if federn is not None:
        for d in range(dof):
            Km[d][d] = Km[d][d] + federn[d]
    feste = set(feste_liste)
    frei = [d for d in range(dof) if d not in feste]
    Kr = [[Km[i][j] for j in frei] for i in frei]
    fr = [kraefte[i] for i in frei]
    loesung = gauss_loese(Kr, fr)
    u = [0.0] * dof
    for stelle in range(len(frei)):
        u[frei[stelle]] = loesung[stelle]
    return u

def mittlere_uy_mm(u, knoten_liste):
    """Mittlere senkrechte Verschiebung einer Knotenmenge, in mm — MIT Vorzeichen
    (plus = nach oben). Kein Betrag: die Richtung soll ablesbar bleiben."""
    summe = 0.0
    for k in knoten_liste:
        summe = summe + u[2 * k + 1]
    return summe / len(knoten_liste) * 1000.0

def lagerreaktion(K, u, kraefte, knoten_liste):
    """Lagerreaktion: die Auflagerkraft an den festen Freiheitsgraden als
    R = K·u − f, aufsummiert zur Gesamt-Reaktionskraft (fx, fy). An einem festen
    Knoten ohne aufgebrachte Last ist f null, dort ist R = K·u."""
    fx, fy = 0.0, 0.0
    for k in knoten_liste:
        rx, ry = -kraefte[2 * k], -kraefte[2 * k + 1]
        for j in range(len(K)):
            rx = rx + K[2 * k][j] * u[j]
            ry = ry + K[2 * k + 1][j] * u[j]
        fx = fx + rx
        fy = fy + ry
    return {"fx": fx, "fy": fy}

# --- Das Handnetz (13 Knoten, 13 Dreiecke) — identisch mit Kapitel 10 -------
# Doppelfächer: zwei innere Knoten 8 (links) und 11 (rechts), zwischen ihnen
# ein Verbindungsband (Dreiecke (1,11,8) und (5,8,11)). Der plantare Fächerteil
# 0 → 9 → 10 → 1 bildet den vorderen unteren Abhang nach: Knoten 9 (21,8/0,0 mm)
# ist der tiefste Punkt (medialer Fortsatz), Knoten 10 (25,9/7,1 mm) das obere
# Ende des Abhangs; die Facette 9 → 10 ist die Enthese am realen Sporn-Ort.
# Am hinteren Rand liegt Knoten 12 (4,0/22,0 mm) zwischen den Knoten
# 6 und 7; die Dreiecke (6,12,8) und (12,7,8) füllen den Rand dort aus.
# Lager und Lastgruppen sind dieselben wie in Kapitel 11: fest sind die drei
# Knoten der Talus-Gelenkfläche oben (4, 5, 6), belastet sind die drei
# Bodenfacetten unten (0-7, 0-9, 9-10). Last- und Lagerknoten sind disjunkt.
HANDNETZ_KNOTEN = [
    (0.006, 0.0000), (0.033, 0.0134), (0.052, 0.006), (0.066, 0.018),
    (0.050, 0.033), (0.030, 0.032), (0.012, 0.032), (0.001, 0.012),
    (0.016, 0.015), (0.0218, 0.0000), (0.0259, 0.0071), (0.036, 0.024),
    (0.004, 0.022)]
HANDNETZ_DREIECKE = [
    (7, 0, 8), (0, 9, 8), (9, 10, 8), (10, 1, 8),
    (5, 6, 8), (6, 12, 8), (12, 7, 8),
    (1, 2, 11), (2, 3, 11), (3, 4, 11), (4, 5, 11),
    (1, 11, 8), (5, 8, 11)]
HAND_LAGER = (4, 5, 6)          # feste Lagerung: die Talus-Gelenkfläche oben
                                #   (dieselben Knoten wie in Kapitel 11)
HAND_BODEN_KANTEN = [(0, 7), (0, 9), (9, 10)]   # die drei Bodenfacetten
HAND_BODEN = (0, 7, 9, 10)      # die Knoten der Auftrittsfläche
E_KORTIKAL = 17.0e9            # Pa, kortikaler Knochen (Zahlenkanon)
NU_KNOCHEN = 0.30             # Querkontraktion Knochen (Zahlenkanon)
TIEFE = 0.033                 # m, Ersatzdicke der 2D-Scheibe (Zahlenkanon)
KG = 736.0                   # N, Körpergewicht der Referenzperson (Zahlenkanon)
KISSEN_DICKE = 0.010          # m, angenommene Dicke des Einlagenkissens
F_BODEN = 2.5 * KG            # N, aktive Bodenreaktion 2,5 · KG (Zahlenkanon)

# Die drei Bodenfacetten des Handnetzes, jede mit ihrer Länge.
def _kantenlaenge(i, j):
    (xa, ya), (xb, yb) = HANDNETZ_KNOTEN[i], HANDNETZ_KNOTEN[j]
    return math.sqrt((xb - xa) ** 2 + (yb - ya) ** 2)

HAND_BODEN_FAC = [(i, j, _kantenlaenge(i, j)) for (i, j) in HAND_BODEN_KANTEN]
HAND_K = assembliere(HANDNETZ_KNOTEN, HANDNETZ_DREIECKE,
                     E_KORTIKAL, NU_KNOCHEN, TIEFE)

def hand_verteilt_uy():
    f = verteilte_last(len(HANDNETZ_KNOTEN), HAND_BODEN_FAC, (0.0, F_BODEN))
    u = loese_randwert(HAND_K, f, feste_dofs(HAND_LAGER), None)
    return mittlere_uy_mm(u, HAND_BODEN)

def hand_punkt_uy():
    f = einzelkraft(len(HANDNETZ_KNOTEN), HAND_BODEN[0], (0.0, F_BODEN))
    u = loese_randwert(HAND_K, f, feste_dofs(HAND_LAGER), None)
    return mittlere_uy_mm(u, HAND_BODEN)

def hand_bettung_reaktion(e_material):
    """Vom Feder-Teppich getragene Vertikalkraft auf dem Handnetz: Summe der
    Federkräfte k·u_y. Sie wächst mit der Einlagensteife."""
    f = verteilte_last(len(HANDNETZ_KNOTEN), HAND_BODEN_FAC, (0.0, F_BODEN))
    federn = bettung_federn(len(HANDNETZ_KNOTEN), HAND_BODEN_FAC, e_material)
    u = loese_randwert(HAND_K, f, feste_dofs(HAND_LAGER), federn)
    reaktion = 0.0
    for d in range(len(federn)):
        reaktion = reaktion + federn[d] * u[d]
    return reaktion

def hand_lagerbilanz():
    f = verteilte_last(len(HANDNETZ_KNOTEN), HAND_BODEN_FAC, (0.0, F_BODEN))
    u = loese_randwert(HAND_K, f, feste_dofs(HAND_LAGER), None)
    reaktion = lagerreaktion(HAND_K, u, f, HAND_LAGER)
    last_fy = sum(f[1::2])
    return {"last_fy": last_fy, "reaktion_fy": reaktion["fy"],
            "residuum_fy": last_fy + reaktion["fy"]}

12.1 Der Aufhänger: vier Selbstversuche am eigenen Fuß

Vier kleine Versuche, bevor eine Formel fällt. Erstens: Stell dich fest auf den Boden und spüre, wie sich das Gewicht über die ganze Sohle verteilt — das ist eine verteilte Last, eine vorgegebene Kraft. Zweitens: Geh auf die Zehenspitzen und taste hinten über der Ferse die Achillessehne, die sich anspannt — auch das ist eine vorgegebene Kraft, ein Zug über die kleine Ansatzfläche der Sehne. Drittens: Bleib auf den Zehenspitzen und streich mit dem Daumen unter der Fußsohle nach hinten bis zur Ferse; das straffe Band, das du dort spürst, ist die Plantarfaszie, und sie zieht an ihrem Ansatz am Fersenbein — die dritte vorgegebene Kraft. Viertens: Leg ein weiches Gelkissen unter die Ferse und tritt auf — das Kissen federt, es koppelt Kraft und Nachgeben über eine Feder. Und die ganze Zeit hält ein Gelenk oben die Ferse an ihrem Platz, ohne dass sie ausweichen kann: dort ist die Verschiebung vorgegeben.

Vier Orte, drei Sorten. Die Frage des Kapitels: Welche dieser drei Sorten ändert die Belastung des Fersenbeins am stärksten — und welche ist es, an der eine Einlage überhaupt ansetzt? Wo die vier Orte an der echten Anatomie sitzen, zeigt Abbildung 12.1.

Abbildung 12.1: Knochen, Sehnen und Bänder des Fußes von der Seite (Sagittalschnitt, Ferse hinten/links, Zehen vorn/rechts; Bild vom Autor bereitgestellt, siehe buch/bilder/QUELLEN.md, schematisch und nicht maßstäblich): unten hinten das Fersenbein (Kalkaneus), darüber das Sprungbein (Talus), dahinter Schienbein und Wadenbein. Oben hinten setzt die Achillessehne an der Rückseite des Fersenbeins an (Randkraft), unten verläuft die Plantarfaszie entlang der Sohle nach vorn (Zug an der Enthese), die Sohle drückt gegen den Boden (verteilte Last), und die Gelenkfläche zum Sprungbein hält die Ferse (feste Lagerung). Genau diese vier Orte sind die Randbedingungen unseres Modells.

12.2 Warum das Netz Ränder braucht

Das Netz aus Kapitel 10 ist ein reines Gebilde aus Dreiecken — es weiß nicht, wo es festgehalten wird. In 1 wurde gezeigt, warum das ein Problem ist: Ein Körper ohne Lagerung kann sich als Ganzes verschieben oder drehen, ohne sich zu verformen (eine starre Verschiebung), und dann hat \(K\,u = f\) keine eindeutige Lösung — die Steifigkeitsmatrix ist singulär. Eine Randbedingung gibt am Rand des Gebiets vor, was dort gilt, und macht das System lösbar.

An der Ferse gibt es vier Orte, aber nur drei mathematische Klassen von Randbedingung, und die schwache Form aus Kapitel 9 hat sie schon vorbereitet. Die erste Klasse gibt die Verschiebung selbst vor (die Dirichlet-Randbedingung: „hier bewegt sich nichts“) — das feste Talus-Lager; sie muss man vor dem Lösen einbauen. Die zweite gibt eine Randkraft vor (die Neumann-Randbedingung: „hier zieht oder drückt es mit dieser Last“); sie taucht in der schwachen Form als natürlicher Randterm auf und wird auf die rechte Seite \(f\) geschrieben. Drei der vier Orte gehören zu ihr: der Bodendruck unter der Sohle, der Achillessehnenzug hinten und der Faszienzug vorn unten. Alle drei sind über eine Fläche verteilt; die auf einen Punkt konzentrierte Einzelkraft ist keine Randbedingung der Ferse, sondern ein Warnbeispiel, das weiter unten zeigt, was schiefgeht, wenn man eine Last zusammenzieht. Die dritte Klasse koppelt Kraft und Verschiebung über eine Feder (die Robin-Randbedingung: „hier drückt es zurück, je nachdem wie weit es nachgibt“) — die elastische Bettung, und die Einlage ist ihr Beispiel. Abbildung 12.2 stellt die vier Orte und ihre Klassen zusammen.

Diese drei Namen sind die Zeile „festhalten, ziehen, betten“ aus der Studiums-Tabelle im Vorwort: Dirichlet, Neumann, Robin. Mehr Sorten gibt es in der linearen Elastizität nicht.

Eine Bemerkung zur ersten Klasse, weil Kapitel 11 sie angekündigt hat: Eine vorgegebene Verschiebung muss nicht null sein. Man kann einen Rand auch um einen bekannten Betrag verschieben — etwa, um zu rechnen, was passiert, wenn der Talus die Ferse um einen Zehntelmillimeter nach unten drückt. Rechnerisch ändert das wenig: Die betroffenen Freiheitsgrade werden wieder aus dem System genommen, aber ihre bekannten Werte lassen in den übrigen Zeilen einen Beitrag zurück, der auf die rechte Seite wandert und dort wie eine zusätzliche Last wirkt. Dieses Kapitel rechnet durchgehend mit dem festen Lager (Verschiebung null); der verschobene Fall kommt im Buch nicht mehr vor.

Code
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import FancyArrow

fig, ax = plt.subplots(figsize=(7.0, 5.0))
ax.fill(KONTUR[:, 0], KONTUR[:, 1], color="#f0e2d0", ec="#8a6a4a", lw=1.6, zorder=0)

# feste Lagerung (Talus) — grüne Kante auf der oberen Gelenkfläche.
talus = np.array(NETZ_MITTEL["knoten"])[NETZ_MITTEL["rand_talus"]] * 1000.0
ax.plot(talus[:, 0], talus[:, 1], "s", color="#2a7d2a", ms=5, zorder=3)
for (x, y) in talus[::3]:
    ax.plot([x, x - 2.2], [y, y + 2.2], color="#2a7d2a", lw=1.0)
ax.text(41, 46, "feste Lagerung (Talus)", color="#2a7d2a", fontsize=9, ha="center")

# Achillessehnenzug — rote Resultierende oben hinten (verteilte Traktion).
ax.add_patch(FancyArrow(2.5, 25, -0.30 * 12, 0.954 * 12, width=0.5,
             head_width=2.6, length_includes_head=True, color="#c0392b", zorder=4))
ax.text(-15, 17, "Achillessehnenzug\n(Neumann, verteilt)", color="#c0392b", fontsize=9)

# Faszienzug — violette Resultierende am vorderen unteren Abhang (Enthese).
ax.add_patch(FancyArrow(24.0, 3.4, 0.985 * 12, -0.174 * 12, width=0.5,
             head_width=2.6, length_includes_head=True, color="#7d3c98", zorder=4))
ax.text(37, 4.5, "Faszienzug an der Enthese\n(Neumann, verteilt)",
        color="#7d3c98", fontsize=9)

# Bodendruck — blaue Pfeilreihe von unten (verteilte Last).
for x in np.linspace(2, 21, 9):
    ax.add_patch(FancyArrow(x, -4, 0, 3.3, width=0.25, head_width=1.4,
                 length_includes_head=True, color="#1f6fb4", zorder=4))
ax.text(11.5, -6.6, "Bodendruck (verteilte Last)", color="#1f6fb4", fontsize=9,
        ha="center")

# elastische Bettung — türkise Federn DARUNTER (eigene Höhe, damit sie nicht in
# die Bodenpfeile laufen).
for x in np.linspace(2, 21, 9):
    ys = np.linspace(-9.0, -13.0, 9)
    xs = x + 0.7 * np.array([0, 1, -1, 1, -1, 1, -1, 1, 0])
    ax.plot(xs, ys, color="#17a2a2", lw=1.4, zorder=2)
ax.plot([0, 23], [-13.6, -13.6], color="#17a2a2", lw=1.6, zorder=2)
ax.text(11.5, -16.4, "Einlage (elastische Bettung)", color="#17a2a2", fontsize=9,
        ha="center")

orientierung(ax)
ax.set_xlim(-16, 70); ax.set_ylim(-19, 52)
ax.set_aspect("equal"); ax.axis("off")
plt.tight_layout()
plt.show()
Abbildung 12.2: Die vier Orte der Randbedingung an der Ferse und ihre drei Klassen (frei gewählte Schemazeichnung auf der echten Kalkaneus-Kontur, nicht maßstäblich für die Kräfte). Grün die feste Lagerung an der oberen Talus-Gelenkfläche (Dirichlet); rot der Achillessehnenzug oben hinten und violett der Faszienzug am vorderen unteren Abhang (beide Neumann, je eine über ihre Ansatzfacetten verteilte Traktion, hier als eine Resultierende gezeichnet); blau der Bodendruck über die plantare Auftrittsfläche (Neumann, verteilte Last); türkis der Feder-Teppich der Einlage unter der Ferse (Robin, elastische Bettung). Sagittalschnitt, x nach vorn, y nach oben; Maßstab 10 mm.

Deutung. Vier Orte, drei Klassen. Das Lager oben (grün) gibt eine Verschiebung vor, und zwar null. Die drei Lasten — Boden (blau), Achillessehne (rot), Faszie (violett) — geben Kräfte vor; sie unterscheiden sich in Ort, Richtung und Größe, nicht in ihrer Art. Die Federn unter der Sohle (türkis) sind die einzige Randbedingung, die weder das eine noch das andere festlegt, sondern beides aneinanderbindet. Die folgenden Abschnitte nehmen die vier Orte der Reihe nach; die Bettung kommt zuletzt, weil sie am meisten Erklärung braucht.

12.3 Die feste Lagerung: der Talus hält die Ferse

Zuerst das Lager. Damit die Ferse nicht als Ganzes davonschwebt, wird eine Kante festgehalten — die obere Gelenkfläche zum Sprungbein (Talus). Dort sitzt im echten Fuß das Gelenk, das die Last ins Bein weiterreicht. Modelliert wird das als Einspannung: An allen Knoten dieser Kante werden beide Verschiebungen auf null gesetzt (die Dirichlet-Randbedingung). Das nimmt die starre Verschiebung heraus und macht das Gleichungssystem eindeutig lösbar.

Als Gegenleistung liefert das Lager eine Kraft: die Lagerreaktion. Sie ist nicht vorgegeben, sondern ergibt sich aus der Rechnung — genau so groß und so gerichtet, dass sie alle angreifenden Lasten ausgleicht. Im echten Fuß ist das die Gelenkreaktion, die der Talus auf das Fersenbein ausübt: die vierte Kraft, die Kapitel 2 benannt und offen gelassen hat. Am Handnetz steht sie bereits in Tabelle 11.9, knotenweise und mit \(4{,}30 \cdot\) KG als Betrag; hier zeigt sich dieselbe Größe am feinen Netz und als Bild. Abbildung 12.3 zeigt die drei aufgebrachten Lasten und die eine Reaktion — als Pfeile, die sich zu null summieren.

Code
import sys
import pathlib

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import FancyArrow

sys.path.insert(0, str(pathlib.Path("programme/kap12").resolve()))
sys.path.insert(0, str(pathlib.Path("programme/gemeinsam").resolve()))
import randbedingungen

modell = randbedingungen.neues_fersenmodell(NETZ_MITTEL)
lb = modell.lagerbilanz()

fig, ax = plt.subplots(figsize=(7.0, 5.0))
ax.fill(KONTUR[:, 0], KONTUR[:, 1], color="#f0e2d0", ec="#8a6a4a", lw=1.6, zorder=0)
sk = 8.0 / 3200.0                      # Pfeil-Längenmaßstab: mm je Newton

def pfeil(x, y, fx, fy, farbe):
    ax.add_patch(FancyArrow(x, y, fx * sk, fy * sk, width=0.5, head_width=2.6,
                 length_includes_head=True, color=farbe, zorder=4))

# aufgebrachte Lasten an ihren Angriffsorten (Anker Boden/Achilles/Enthese).
pfeil(8.0, 1.0, lb["teile"]["boden"]["fx"], lb["teile"]["boden"]["fy"], "#1f6fb4")
pfeil(2.5, 23.0, lb["teile"]["achilles"]["fx"], lb["teile"]["achilles"]["fy"], "#1f6fb4")
pfeil(24.0, 3.4, lb["teile"]["faszie"]["fx"], lb["teile"]["faszie"]["fy"], "#1f6fb4")
# Talus-Reaktion: die GERECHNETE Auflagerkraft (reaktion_fx/fy = R = K·u − f).
pfeil(lb["talus_x_mm"], lb["talus_y_mm"], lb["reaktion_fx"], lb["reaktion_fy"], "#2a7d2a")
ax.text(lb["talus_x_mm"] - 4, lb["talus_y_mm"] + 3, "Talus-Reaktion", color="#2a7d2a", fontsize=9)
ax.text(6, -8, "aufgebrachte Lasten (blau) — Bodendruck, Achilles, Faszie", color="#1f6fb4", fontsize=9)
# Kraftmaßstab (1000 N) und Geometriemaßstab (10 mm) parallel.
ax.plot([40, 40 + 1000 * sk], [-11, -11], color="#333", lw=2.4)
ax.text(40 + 500 * sk, -13.6, "1000 N", ha="center", fontsize=8, color="#333")
ax.plot([54, 64], [-11, -11], color="#333", lw=2.4)
ax.text(59, -13.6, "10 mm", ha="center", fontsize=8, color="#333")

orientierung(ax, mit_massstab=False)
ax.set_xlim(-16, 70); ax.set_ylim(-16, 52)
ax.set_aspect("equal"); ax.axis("off")
plt.tight_layout()
plt.show()

print("Aufgebrachte Last:  Fx =", komma(lb["last_fx"], 1), "N,  Fy =",
      komma(lb["last_fy"], 1), "N,  Moment =", komma(lb["last_m"], 3), "N·m")
print("Talus-Reaktion:     Fx =", komma(lb["reaktion_fx"], 1), "N,  Fy =",
      komma(lb["reaktion_fy"], 1), "N,  Moment =", komma(lb["reaktion_m"], 3), "N·m")
print("Residuum:  Fx =", komma_sig(lb["residuum_fx"], 2),
      "N,  Fy =", komma_sig(lb["residuum_fy"], 2),
      "N,  Moment =", komma_sig(lb["residuum_m"], 2), "N·m  (alle ≈ 0)")
Abbildung 12.3: Lagerreaktion im Gleichgewicht (mittlere Standphase, live auf dem Buchnetz gerechnet). Blau die aufgebrachten Lasten — Bodendruck, Achillessehnenzug, Faszienzug; grün die aus der Lösung berechnete Talus-Reaktion R = K·u − f (nicht die gespiegelte Last, sondern die tatsächlichen Auflager-Knotenkräfte, zu einer Resultierenden zusammengefasst). Die Pfeile sind an ihren realen Angriffsorten gezeichnet, Richtungen und Längen stammen aus den berechneten Kraftsummen; unten der Kraftmaßstab (1000 N) und der Geometriemaßstab (10 mm) parallel. Kraft- UND Momentenbilanz gehen im Modell zu null auf — der Bilanztest wird in Kapitel 13 zum Prüfstein. Sagittalschnitt, x nach vorn, y nach oben.
Aufgebrachte Last:  Fx = −6,6 N,  Fy = 3167,4 N,  Moment = 30,372 N·m
Talus-Reaktion:     Fx = 6,6 N,  Fy = −3167,4 N,  Moment = −30,372 N·m
Residuum:  Fx = −0,000000000169 N,  Fy = 0,00000000025 N,  Moment = 0,000000000002 N·m  (alle ≈ 0)

Deutung unter der Ausgabe. Die aufgebrachten Lasten und die gerechnete Talus-Reaktion halten sich exakt die Waage — und zwar in drei Bilanzen zugleich: die waagerechten Kräfte, die senkrechten Kräfte und die Drehmomente um den Ursprung summieren sich je bis auf Rundungsreste zu null. Wichtig ist, wie die Reaktion entsteht: Sie ist nicht die umgedrehte Last, sondern wird als \(R = K\,u - f\) aus der Lösung berechnet — an den festen Talus-Knoten liefert das Gleichungssystem die Auflagerkräfte, und erst der Test zeigt, dass ihre Summe die Last ausgleicht. Dass Kraft- und Momentenbilanz aufgehen, ist ein starkes Indiz, dass das Modell rechnet, was es soll; zum vollen Prüfstein wird das in Kapitel 13.

12.4 Die Randkraft: der Achillessehnenzug

Die erste Last ist der Zug der Achillessehne. Sie setzt an der oberen Rückwand des Tubers an und zieht schräg nach hinten-oben zur Wade. Im Modell ist das eine Randkraft — eine Neumann-Randbedingung, der natürliche Randterm aus Kapitel 9. Die Sehne zieht nicht in einem Punkt, sondern über ihre kleine Ansatzfläche; im Modell ist der Sehnenzug deshalb eine über die Ansatzfacetten verteilte Traktion, deren Resultierende die Kraft aus dem Zahlenanhang trägt (Achillessehnenkraft \(3{,}5 \cdot\) KG beim Laufen; der Anhang nennt dort auch den Sensitivitätsbereich der Literatur bis etwa \(7 \cdot\) KG, und genau diesen Bereich fährt der Regler ab). Die auf einen einzigen Punkt konzentrierte Einzelkraft ist etwas anderes — sie ist der Grenzfall, den der Punktlast-Vergleich im nächsten Abschnitt zeigt.

Am Regler lässt sich der Sehnenzug zwischen diesen Werten verstellen, während Bodendruck und Faszienzug fest bleiben. Bevor du ihn bewegst, eine Vorhersage.

WichtigVorhersage-Punkt

Bevor du schiebst: Mehr Sehnenzug oben hinten — steigt die plantare Von-Mises-Spitze (die innere Beanspruchung an der Fersenunterseite) mit, obwohl die Sehne nach oben zieht, oder bleibt sie unberührt? Lege dich fest. (Der Bodendruck selbst bleibt als Randlast vorgegeben; gefragt ist die Spannung, die im Knochen daraus entsteht.)

Deutung. Das ist die Antwort auf die Vorhersagefrage: Mehr Sehnenzug erhöht die innere Beanspruchung an der Fersenunterseite — die plantare Von-Mises-Spitze steigt, obwohl die Sehne nach oben zieht. Der Grund ist Hebelwirkung: Die Sehne zieht die Rückseite des Tubers hoch, und weil das Fersenbein oben am Talus gelagert ist, kippt es um dieses Lager und presst seine Unterseite stärker gegen die Auflage. Über den ganzen Reglerbereich wächst die plantare Spitze um gut die Hälfte — den genauen Wert liest du am Regler ab, er steht bewusst nicht hier. Wichtig ist die saubere Sprechweise: Der Bodendruck ist eine vorgegebene Randlast und ändert sich nicht; was steigt, ist die Spannung, die im Knochen daraus entsteht. Eine Kraft an einem Ort verändert die Beanspruchung an einem ganz anderen — das ist der Kern davon, warum man ein ganzes Modell rechnet und nicht an einer Stelle schätzt.

12.5 Die verteilte Last: der Bodendruck über die Auftrittsfläche

Die zweite Last ist der Bodendruck. Der Boden drückt beim Auftritt gegen die Sohle — aber nicht in einem Punkt, sondern über eine Fläche, die Auftrittsfläche. Deshalb wird der Bodendruck als verteilte Last angesetzt: die Gesamtkraft konsistent über die Randfacetten der Kontaktzone verteilt (jede Facette trägt ihren Längenanteil, halb auf jeden Endknoten).

Warum nicht einfacher als eine einzige Punktkraft? Weil eine Punktkraft eine physikalisch unmögliche Vorstellung ist — eine endliche Kraft auf eine Fläche null wäre ein unendlicher Druck. Im FE-Modell zeigt sich das als Singularität der konzentrierten Lasteinleitung: eine Spannungsspitze, die immer weiter wächst, je feiner man das Netz macht, statt sich einem Wert zu nähern. Das ist ein Konvergenzproblem, verwandt mit der Kerbsingularität an scharfen Ecken, die Kapitel 13 untersucht. Abbildung 12.4 stellt beides gegenüber — dieselbe Gesamtkraft einmal über die Auftrittsfläche verteilt, einmal auf den festen Punktlast-Knoten (einen netzstufenfesten physischen Ort) — und rechnet die plantare Spitze auf allen drei Buchnetzen.

HinweisWarum diese Zahlen zehnmal größer sind als die des Zahlenanhangs

Die feste Spannungsskala dieses Buches reicht von 0 bis 1000 kPa, also bis 1 MPa, und der Zahlenanhang nennt für den Fersenknochen Werte um 139 kPa beim Stehen und 188 kPa beim Laufen. Die Felder dieses Kapitels laufen dagegen bis 10 MPa und sind an der Talus-Kante sogar dort noch gesättigt — ein Faktor fünfzig gegenüber den Zahlen aus der Literatur. Das ist kein Rechenfehler, sondern der Preis des Modells, und er hat drei Gründe. Erstens der Knochen: Die Kapitel 10 bis 15 rechnen die Ferse als einen einzigen, homogen gedachten Knochen mit dem E-Modul der harten Außenschale (17 GPa, Kapitel 10, Absatz „Welcher Knochen hier steckt”). Ein Körper, der überall so steif ist wie seine Rinde, leitet die Last über wenige schmale Pfade statt über ein weiches Inneres — und schmale Pfade tragen hohe Spannungen. Zweitens das Lager: Die Talus-Gelenkfläche ist hart eingespannt, und eine harte Einspannung erzeugt an ihrer Kante eine Spitze, die mit jeder Netzverfeinerung weiterwächst (Kapitel 13). Drittens der Ort: Die Literaturzahlen sind Mittelwerte über größere Bereiche des Knochens, die Zahlen hier sind Maxima einzelner Dreiecke. Deshalb steht an jeder Abbildung dieses Kapitels der Bereich 0 bis 10 MPa ausdrücklich dabei, statt stillschweigend umzuskalieren. Was diese Zahlen tragen, ist die Verteilung — wo viel und wo wenig ist —, nicht der Absolutwert. Welche Modelle dieses Buch nebeneinander rechnet und welche Zahl aus welchem stammt, stellt Kapitel 13 zusammen.

Code
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.tri import Triangulation

kn = np.array(NETZ_MITTEL["knoten"]) * 1000.0
tri = Triangulation(kn[:, 0], kn[:, 1], np.array(NETZ_MITTEL["dreiecke"]))
pv = modell.punkt_und_verteilt()

# Zwei Felder UNTEREINANDER, je mit Orientierung und Maßstab.
# Beide auf derselben Skala (turbo, 0-10 MPa) — deshalb EINE gemeinsame
# Colorbar für die Reihe statt einer je Panel.
fig = plt.figure(figsize=(6.4, 9.0), layout="constrained")
achsen_oben = []
for reihe, (titel, feld) in enumerate(
        [("verteilte Last über die Auftrittsfläche", pv["verteilt_vonmises"]),
         ("Einzelkraft auf einen Knoten (Punktlast)", pv["punkt_vonmises"])]):
    ax = fig.add_subplot(3, 1, reihe + 1)
    vm = np.array(feld) / 1e6
    n_sat = int((vm >= 10.0).sum())
    tpc = ax.tripcolor(tri, facecolors=np.clip(vm, 0, 10), cmap="turbo",
                       vmin=0, vmax=10)
    # Zweizeiliger Titel (statt einer langen Zeile): Die gemeinsame Colorbar
    # verschmälert das Panel, eine einzeilige Fassung liefe in ihre Spalte.
    ax.set_title(f"{titel}\nplantare Spitze "
                 f"{komma_sig(vm[modell.plantar].max(), 3)} MPa "
                 f"({n_sat} Elemente ≥ 10 MPa)", fontsize=9, pad=8)
    orientierung(ax)
    ax.set_xlim(-16, 70); ax.set_ylim(-8, 52); ax.set_aspect("equal"); ax.axis("off")
    achsen_oben.append(ax)
cb = fig.colorbar(tpc, ax=achsen_oben, fraction=0.046, pad=0.03)
cb.set_label("Von-Mises (MPa)", fontsize=8)
cb.ax.set_title("▲", fontsize=8)

# Netzfeinheit-Verlauf der plantaren Spitze (dritte Reihe).
axb = fig.add_subplot(3, 1, 3)
stufen, knz, sp_v, sp_p = [], [], [], []
for stufe in ("grob", "mittel", "fein"):
    daten = json.loads(pathlib.Path(f"netze/netz_{stufe}.json").read_text())
    e = randbedingungen.neues_fersenmodell(daten).punkt_und_verteilt()
    stufen.append(stufe); knz.append(daten["n_knoten"])
    sp_v.append(e["verteilt_plantar_mpa"]); sp_p.append(e["punkt_plantar_mpa"])
axb.plot(knz, sp_v, "o-", color="#1f6fb4", label="verteilte Last")
axb.plot(knz, sp_p, "s-", color="#c0392b", label="Punktlast (ein Knoten)")
for x, y, s in zip(knz, sp_p, stufen):
    axb.annotate(s, (x, y), textcoords="offset points", xytext=(0, 6), fontsize=8)
axb.set_xlabel("Knoten im Netz"); axb.set_ylabel("plantare Spitze (MPa)")
axb.set_ylim(0, max(sp_p) * 1.1)
axb.xaxis.set_major_formatter(FuncFormatter(lambda v, _p: komma_sig(v, 3)))
axb.yaxis.set_major_formatter(FuncFormatter(lambda v, _p: komma_sig(v, 3)))
axb.legend(fontsize=8); axb.grid(alpha=0.3)
plt.show()

def faktor(werte):
    return werte[-1] / werte[0]
print("plantare Spitze verteilt (grob/mittel/fein):",
      ", ".join(komma_sig(v, 3) for v in sp_v),
      "MPa  (Faktor", komma_sig(faktor(sp_v), 3) + ")")
print("plantare Spitze Punktlast (grob/mittel/fein):",
      ", ".join(komma_sig(v, 3) for v in sp_p),
      "MPa  (Faktor", komma_sig(faktor(sp_p), 3) + ")")
Abbildung 12.4: Punktkraft gegen verteilte Last (live auf den drei Buchnetzen). Oben, untereinander, die Von-Mises-Felder auf dem mittleren Netz: die Bodenkraft (2,5 · KG) einmal konsistent über die Auftrittsfläche verteilt, einmal als Einzelkraft auf den festen Punktlast-Knoten (Skala turbo, 0–10 MPa; Werte ≥ 10 MPa mit ▲ ausgewiesen, an der Talus-Lagerkante gesättigt). Unten die plantare Von-Mises-Spitze über die Netzfeinheit: die verteilte Last wächst nur langsam (rund 3–4 MPa; die abrupte Kante der Kontaktzone am medialen Fortsatz bei x ≈ 22 mm ist eine schwache Singularität), die Punktkraft-Spitze vervielfacht sich (starke Singularität der konzentrierten Lasteinleitung, Kapitel 13). Sagittalschnitt, x nach vorn, y nach oben; Maßstab 10 mm.
plantare Spitze verteilt (grob/mittel/fein): 3,27, 3,75, 4,23 MPa  (Faktor 1,29)
plantare Spitze Punktlast (grob/mittel/fein): 22,1, 34, 59,3 MPa  (Faktor 2,69)

Deutung unter der Ausgabe. Beide Spitzen wachsen mit der Netzfeinheit, aber ungleich schnell. Die verteilte Last wächst nur langsam (rund \(3\) auf \(4\) MPa, Faktor knapp \(1{,}3\) über die drei Stufen): Sie ist physikalisch, ihre einzige Schwäche ist die abrupte Kante der Kontaktzone am medialen Fortsatz bei rund \(22\) mm, wo die Traktion plötzlich auf null springt — eine schwache Singularität. Die Punktkraft dagegen vervielfacht ihre Spitze (Faktor über \(2{,}5\)) und friert nicht ein: Ein FE-Modell kann eine echte Punktkraft nicht darstellen, es malt an ihre Stelle eine immer schärfere Spitze — eine starke Singularität der konzentrierten Lasteinleitung. Deshalb setzt man Lasten über Flächen an, und deshalb braucht es Kapitel 13, um netzabhängige Spitzen von echten Werten zu unterscheiden.

Wie breit die Auftrittsfläche ist, ändert die Spitze ebenfalls. Der folgende Regler verteilt dieselbe Gesamtkraft über eine schmale bis breite Kontaktzone.

WichtigVorhersage-Punkt

Bevor du schiebst: Verteilst du dieselbe Bodenkraft über eine kleinere Fläche — steigt die plantare Spitze genau umgekehrt proportional zur Breite (halbe Breite, doppelte Spitze), stärker oder schwächer? Lege dich fest.

Deutung. Die Antwort auf die Vorhersagefrage: Gegenüber der vollen Fläche steigt die Spitze beim Verschmälern über weite Strecken nahezu umgekehrt proportional zur Breite — halbe Breite, knapp doppelte Spitze; die einfache \(1/\text{Breite}\)-Schätzung trifft es im mittleren Bereich gut. Erst bei starker Verschmälerung bleibt der Anstieg spürbar hinter \(1/\text{Breite}\) zurück: Der Regler zeigt an seiner schmalsten Stufe eine Spitze, die deutlich unter dem liegt, was die einfache Schätzung verlangte — vergleiche die beiden Faktoren, die er dir ausgibt. Dort staut sich die Last zwar an den Rändern der schrumpfenden Kontaktzone, aber ihr Zuwachs bleibt zurück, weil sich die Spannung über die Nachbarschaft verteilt und das Netz die immer schärfere Spitze nicht mehr voll auflöst (verwandt mit der Punktlast-Singularität oben). Die Kontaktzone wächst dabei von der Ferse aus zusammenhängend nach vorn, sie zerfällt nicht in verstreute Randstücke. Eine Einlage, die die Auftrittsfläche vergrößert, senkt also die Spitze spürbar — im mittleren Bereich etwa im Verhältnis der Breiten, bei sehr schmaler Auflage etwas weniger stark. Genau deshalb ist die Form der Einlage entscheidend, nicht nur ihr Vorhandensein — eine Frage, die dieses Buch nicht weiterverfolgt.

12.6 Der Faszienzug an der Enthese

Die dritte Kraft ist die leiseste und für dieses Buch die wichtigste. Die Plantarfaszie spannt sich von der Unterseite der Ferse nach vorn zu den Zehen; bei jedem Abstoß strafft sie sich und zieht an ihrem Ansatz am Fersenbein, der Enthese, nach vorn und ein wenig nach unten. Im Modell ist das eine über die Facetten am vorderen unteren Abhang verteilte Traktion, mit der Richtung aus dem Zahlenanhang und einer Kraft, die im Kräftefahrplan (Tabelle 2.2) von \(0{,}6 \cdot\) KG in der mittleren Standphase auf \(2{,}0 \cdot\) KG beim Abstoß steigt. Genau an dieser Facette werden Kapitel 17 und Kapitel 18 fragen, warum Knochen dort wächst.

Zwei Dinge sind an dieser Randbedingung erklärungsbedürftig. Warum vorn unten und nicht am tiefsten Punkt? Der Faszienursprung sitzt nicht unter der Mitte der Ferse, sondern am vorderen unteren Abhang des Fersenbeinhöckers — zwischen den Knoten 9 und 10 des Handnetzes, rund \(22\) bis \(26\) mm vor dem Nullpunkt. Dort, und nicht am tiefsten Punkt der Kontur, sitzt im Röntgenbild auch der Fersensporn. Warum schräg nach vorn-unten und nicht entlang der Sohle? Weil die Faszie am Ansatz nicht waagerecht ansetzt, sondern flach abfällt: Die Richtung des Zahlenanhangs ist \((0{,}985;\ -0{,}174)\), also rund zehn Grad unter der Waagerechten. Der kleine Anteil nach unten ist es, der die Enthese vom Knochen wegzieht, statt nur an ihr entlangzuschieben.

Der Regler lässt den Faszienzug über den Bereich des Kräftefahrplans wachsen, während Bodendruck und Achillessehnenzug auf den Werten der mittleren Standphase stehen bleiben. Gemessen wird die Von-Mises-Spitze in der Enthese-Zone — den Dreiecken, die an der Ansatzfacette hängen. Diese Zone ist eine Festlegung dieses Modells, keine anatomische Grenze; sie folgt der Facettenliste des Netzes.

WichtigVorhersage-Punkt

Bevor du schiebst: Der Faszienzug wächst von \(0{,}6\) auf \(2{,}0 \cdot\) KG, also gut auf das Dreifache. Wächst die Von-Mises-Spitze an der Enthese ungefähr im selben Verhältnis mit, deutlich stärker, oder bleibt sie fast stehen, weil zwei andere Kräfte unverändert weiterziehen? Und: bleibt die höchste Spannung der ganzen Fersenunterseite dort, wo sie bei kleinem Faszienzug sitzt? Lege dich fest.

Deutung. Zwei Antworten, und die zweite ist die wichtigere. Erstens: Die Spitze an der Enthese wächst kräftig mit, aber nicht ganz proportional — bei kleinem Faszienzug tragen Bodendruck und Sehnenzug einen Sockel bei, den die Faszie nicht wegnehmen kann, und erst darüber addiert sich ihr eigener Beitrag. Das ist das Superpositionsprinzip aus 1 in Aktion: drei Lasten, drei Antworten, aufaddiert. Zweitens, und das ist der Grund, warum dieses Buch weitergeht: Beim größten Faszienzug wandert die höchste Spannung der ganzen Fersenunterseite an die Enthese. Was vorher eine Stelle unter vielen war, ist im Abstoß die am stärksten beanspruchte Stelle der Sohle — und sie liegt genau dort, wo beim Menschen der Sporn wächst. Das ist nicht die Eigenart einer Netzstufe: Auf allen drei Buchnetzen kippt das Maximum beim größten Faszienzug in die Enthese-Zone und beim kleinsten nicht. Mehr behauptet dieses Kapitel nicht: Es zeigt, dass die Randbedingung diese Stelle auszeichnet. Kapitel 16 bis Kapitel 18 fragen danach, was der Knochen daraus macht.

12.7 Die dritte Klasse: die elastische Bettung

Die dritte mathematische Klasse ist die einzige, die Kraft und Verschiebung nicht vorgibt, sondern aneinanderbindet: die elastische Bettung, die Robin-Randbedingung. Statt zu sagen „hier bewegt sich nichts“ oder „hier drückt es mit dieser Kraft“ sagt sie: je weiter der Rand nachgibt, desto stärker drückt es zurück. Im Gleichungssystem ist das ein Zuschlag auf der Diagonale — die Federsteife wird zu \(K\) addiert, an genau den Freiheitsgraden, an denen der Rand federt. Mehr Sorten Randbedingung gibt es in der linearen Elastizität nicht: vorgegebene Verschiebung, vorgegebene Kraft, Feder dazwischen.

Ihr anschauliches Beispiel an der Ferse ist die Einlage. Sie wird nicht als eigener Körper modelliert (das wäre Kontakt zwischen zwei Körpern, eine andere und schwierigere Aufgabe), sondern als Teppich aus lauter kleinen, unabhängigen Federn unter der Sohle. Jeder plantare Knoten bekommt eine senkrechte Feder; drückt sich die Ferse hinein, drückt die Feder zurück. Je steifer das Einlagenmaterial, desto steifer die Federn — Silikon ist weich (rund \(0{,}5\) MPa), EVA mittel (rund \(5\) MPa), Kork steif (rund \(10\) MPa; alle drei aus dem Zahlenanhang, eingeführt in Kapitel 6).

Bevor die Federn ins Spiel kommen, ein verbreiteter Irrtum darüber, was eine Einlage überhaupt tut.

WarnungEine Einlage nimmt keine Last weg — sie verteilt sie um

Vermutung: „Ein weiches Polster schluckt die Kraft, dann kommt weniger im Knochen an.“

Warum sie naheliegt: Ein weiches Kissen fühlt sich an, als würde es den Aufprall „aufsaugen“.

Was stattdessen gilt: Die Bodenreaktionskraft ist durch Körpergewicht und Bewegung festgelegt — sie muss den Körper tragen und kann nicht verschwinden. Die Einlage kann sie nur über eine größere Fläche verteilen und umlenken, nicht wegnehmen. Die Studienlage stützt die Vorsicht: Ob eine Einlage etwas bewirkt, hängt an ihrer Form und daran, wie weit nach vorn sie reicht — nicht schon an ihrem Vorhandensein. Die Regler weiter unten zeigen dasselbe Grundmuster am Modell — aber wie stark, das sollst du erst selbst vorhersagen.

Wie sich der Feder-Teppich mit steigender Steifigkeit füllt, zeigt die Animation. Sie zeigt die vom Teppich getragene Vertikalkraft — wie viel Newton die Federn aufnehmen — real gerechnet am Handnetz. Vorher die Vorhersage.

WichtigVorhersage-Punkt

Bevor du abspielst: Wenn der Feder-Teppich von weich zu steif wächst — trägt er dann einen großen Teil der rund 1840 N Bodenreaktion, oder bleibt seine Kraft klein dagegen? Lege dich fest.

Deutung. Steifere Federn tragen etwas mehr, aber es bleiben wenige Newton gegen rund 1840 N Bodenreaktion. Bevor du daraus etwas über Einlagen schließt, sieh dir den Aufbau an: Die Bodenkraft ist in diesem Modell als Randlast vorgegeben, sie wirkt in jedem Fall in voller Höhe auf die Sohle. Die Federn darunter können nur auf das antworten, was sich der Knochen unter dieser Last noch verformt, und das sind bei einem 17-GPa-Knochen Hundertstel eines Millimeters. Deshalb tragen sie fast nichts. In Wirklichkeit läuft die ganze Bodenkraft durch die Einlage hindurch; darüber sagt dieses Modell nichts, weil es die Kraft schon am Knochen angreifen lässt. Was es zeigt, ist enger: Eine Federschicht unter einer vorgegebenen Last verschiebt die Verteilung ein wenig, sie nimmt nichts weg. Das ist die Aussage des Kastens oben, und mehr trägt dieser Versuch nicht.

Am Regler lässt sich das Material durchschalten und die Wirkung im ganzen Feld ablesen. Auch hier zuerst die Vorhersage.

WichtigVorhersage-Punkt

Bevor du schiebst: Steifere Einlage — sinkt die maximale plantare Von-Mises-Spitze, und wird dabei wirklich das ganze plantare Feld entlastet, oder steigen einzelne Stellen sogar an? Lege dich fest.

Deutung. Die Antwort auf die Vorhersagefrage: Die maximale plantare Von-Mises-Spitze sinkt mit steiferer Einlage — aber nur geringfügig, um Bruchteile eines Prozents. Und nein, es wird nicht das ganze Feld entlastet: Das Differenzfeld gegenüber „ohne” zeigt, dass einige wenige Elemente sogar leicht steigen, während die meisten sinken. Der Feder-Teppich trägt dabei nur wenige Newton — aus dem Grund, der bei der Animation steht: Die Bodenkraft ist vorgegeben, die Federn antworten nur auf die verbleibende Eigenverformung des Knochens. Was du hier siehst, ist also die Wirkung einer Federschicht unter einer festgehaltenen Last, nicht die Wirkung einer Einlage unter einem Fuß. Eine getrennt gerechnete Vergleichsrechnung auf einem anderen Netz zeigt dasselbe kleine, monotone Muster (die Einsenkung sinkt von ohne über Silikon und EVA zu Kork). Ob eine bestimmte Einlagenform mehr bewirkt, ist eine eigene Frage, die dieses Buch nicht beantwortet — hier zählt, dass die Bettung als Randbedingung rechnet und sich vorhersagbar verhält.

HinweisEine Bettung ist kein Kontakt

Die elastische Bettung ist eine Vereinfachung. Eine echte Einlage ist ein eigener Körper, der die Sohle berührt, sich verformt und dabei nur drücken, nie ziehen kann — das ist Kontaktmechanik, mit einer Bedingung, die je nach Last mal gilt und mal nicht. Der Feder-Teppich ersetzt das durch feste, lineare Federn, die immer haften und auch ziehen könnten. Für die Frage „wie verschiebt eine Einlage die Last?“ reicht das; für Ablösen und Rutschen reicht es nicht. Dieselbe Idee ist übrigens ein bekannter Ausweg an einer ganz anderen Stelle: Das feste Talus-Lager erzeugt an seiner Kante eine Spannungsspitze (die Lagerrand-Konzentration aus Kapitel 13). Ersetzt man die harte Einspannung dort durch eine elastische Bettung — den Gelenkknorpel als Federschicht —, verschwindet die Spitze. Das ist ein Vorgriff auf Kapitel 13; hier wird es nur benannt.

Damit steht die Einlage zum zweiten Mal im Buch, und wieder lohnt der Kasten aus Kapitel 1: Wer sagt hier eigentlich was?

HinweisDas Modell sagt · die Studienlage sagt · dein Arzt sagt

Das Modell sagt: Eine Federschicht unter der Sohle verschiebt die Beanspruchung im Knochen ein wenig; sie nimmt nichts weg. Das ist eine Aussage über dieses Modell, in dem die Bodenkraft vorgegeben ist und der Knochen so steif gerechnet wird wie seine harte Außenschale — nicht über eine Einlage unter einem wirklichen Fuß.

Die Studienlage sagt: Ob eine Einlage etwas bewirkt, hängt an ihrer Form und daran, wie weit nach vorn sie reicht; für die Fersenerhöhung ist die Evidenzlage ausdrücklich uneindeutig. Ein weiches Material allein ist kein Wirkprinzip.

Dein Arzt sagt: Ob eine Einlage an einem bestimmten Fuß hilft und welche, entscheidet eine Untersuchung, keine Rechnung. Dieses Buch gibt dazu keine Empfehlung und ersetzt keine.

12.8 Von Hand nachgerechnet: die vier Randbedingungen am Handnetz

Was die Regler im Browser rechnen, lässt sich auf dem winzigen Handnetz aus Kapitel 10 von Hand nachvollziehen — dreizehn Knoten, dreizehn Dreiecke. Ränder und Lager sind dabei genau die aus Kapitel 11, damit die Leserin nicht zwei verschiedene Handnetze im Kopf behalten muss: fest gelagert sind die drei Knoten der Talus-Gelenkfläche oben (4, 5 und 6), belastet sind die drei Bodenfacetten unten (die Kanten 0–7, 0–9 und 9–10). Ein Unterschied bleibt, und er ist Absicht: Kapitel 11 bringt alle drei Kräfte gleichzeitig auf, hier wirkt nur der Bodendruck (\(2{,}5 \cdot\) KG). Nur so lassen sich die beiden Lastformen sauber gegeneinanderstellen, ohne dass Sehnen- und Faszienzug den Unterschied überdecken.

Der sichtbare Lehrcode bringt also dieselbe Bodenkraft einmal als verteilte Last über die drei Bodenfacetten auf, einmal als Einzelkraft auf einen einzigen Knoten — das Lager bleibt beide Male fest — und misst je die mittlere senkrechte Verschiebung der Bodenknoten (mit Vorzeichen, plus = nach oben). Tabelle 12.1 stellt die beiden Werte gegenüber:

Tabelle 12.1: Dieselbe Bodenkraft (2,5 · KG) auf dem Handnetz, zweimal anders eingetragen. Gemessen ist die mittlere senkrechte Verschiebung der vier Bodenknoten, mit Vorzeichen (plus = nach oben).
Randbedingung mittleres \(u_y\) der Bodenknoten (mm)
verteilte Last über die drei Bodenfacetten 0,0045
Einzelkraft an einem Knoten 0,00578

Deutung unter der Tabelle. Beide Male ist es dieselbe Gesamtkraft und dasselbe Lager — nur die Randbedingung ist anders eingetragen, und schon fällt die Verschiebung anders aus. Auf dem groben Handnetz ist der Unterschied noch zahm; im feinen Buchnetz wird er deutlich, und zwar örtlich. Der folgende Block rechnet dieselben zwei Lastformen auf dem feinen Buchnetz aus und trägt nicht ihren Mittelwert auf, sondern die senkrechte Verschiebung \(u_y\) je Bodenknoten über seiner Lage entlang der Sohle — Abbildung 12.5. So wird die Spitze der Einzelkraft an ihrem Angriffsort sichtbar, statt nur behauptet zu werden.

Verteilte Last gegen Einzelkraft: u_y je Bodenknoten holen
import sys
import pathlib

sys.path.insert(0, str(pathlib.Path("programme/kap12").resolve()))
sys.path.insert(0, str(pathlib.Path("programme/gemeinsam").resolve()))
import randbedingungen
from werkbank_bilder import zeichne_uy_ueber_facette

# Feines Buchnetz laden, beide Lastformen rechnen, u_y je Bodenknoten holen.
NETZ_FEIN = json.loads(pathlib.Path("netze/netz_fein.json").read_text())
modell_fein = randbedingungen.neues_fersenmodell(NETZ_FEIN)
uy = modell_fein.punkt_und_verteilt_uy()

spitze_punkt = max(uy["uy_punkt_mm"])
spitze_verteilt = max(uy["uy_verteilt_mm"])
print("größtes u_y verteilte Last:", komma_sig(spitze_verteilt, 3), "mm")
print("größtes u_y Einzelkraft:   ", komma_sig(spitze_punkt, 3), "mm",
      "(am Angriffsort bei x =", komma_sig(uy["punktlast_x_mm"], 3), "mm)")

# u_y über die Facettenlage auftragen; Zeichenmechanik in programme/kap12.
zeichne_uy_ueber_facette(uy["x_mm"], uy["uy_verteilt_mm"], uy["uy_punkt_mm"],
                         uy["punktlast_x_mm"])
größtes u_y verteilte Last: 0,0191 mm
größtes u_y Einzelkraft:    0,0252 mm (am Angriffsort bei x = 8,54 mm)
Abbildung 12.5: Senkrechte Verschiebung u_y je Bodenknoten über der Lage entlang der Sohle (feines Buchnetz, dieselbe Gesamt-Bodenkraft 2,5 · KG). Blau die über die Auftrittsfläche verteilte Last — ein glatter, breiter Verlauf; rot die Einzelkraft auf einen Knoten — mit einer scharfen örtlichen Spitze genau am Angriffsort (rot gepunktete senkrechte Linie). Beide heben den Rand nach oben (positives u_y), aber die Einzelkraft zieht die Verschiebung an ihrer Stelle lokal heraus. x nach vorn: die Ferse liegt hinten bei kleinem x, die Auftrittsfläche läuft nach vorn zu größerem x.

Deutung unter der Ausgabe. Der Unterschied ist nun nicht mehr eine Behauptung, sondern eine Kurvenform: Die verteilte Last hebt die ganze Sohle in einem sanften, breiten Bogen; die Einzelkraft dagegen reißt genau an ihrem Angriffsknoten eine scharfe Spitze heraus, während sie die Nachbarn weniger bewegt. Was der Mittelwert auf dem Handnetz nur andeutet, zeigt sich hier als das eigentliche Kennzeichen der konzentrierten Last — die örtliche Überhöhung. Feiner vernetzt wird diese Verschiebungsüberhöhung noch schärfer aufgelöst; die zugehörige, unbeschränkt wachsende Spannungssingularität der idealen Punktlast untersucht Kapitel 13. In der inneren Spannung fällt der Unterschied zwischen den beiden Lastformen noch drastischer aus als in der Verschiebung (Abbildung 12.4).

Nun kommt die Einlage dazu — der Feder-Teppich unter den drei Bodenfacetten. Der Lehrcode rechnet dieselbe verteilte Bodenlast für vier Materialien durch und misst, wie viel Vertikalkraft die Federn tragen (die Summe der Federkräfte \(k \cdot u_y\)); Tabelle 12.2 hält das Ergebnis fest:

Tabelle 12.2: Die vom Feder-Teppich getragene Vertikalkraft auf dem Handnetz, für die vier Einlagenstufen des Zahlenanhangs — gegen eine aufgebrachte Bodenreaktion von 1840 N.
Einlage E-Modul (MPa) getragene Vertikalkraft (N)
ohne 0 0
Silikon 0,5 0,301
EVA 5 3,01
Kork 10 6

Deutung unter der Tabelle. Die getragene Vertikalkraft steigt Zeile für Zeile mit steiferer Einlage — dasselbe monotone Muster wie am Regler, nur klein genug, um es von Hand nachzurechnen. Und sie bleibt winzig: Selbst der steife Kork trägt wenige Newton gegen die aufgebrachten 1840 N. Der Grund steht oben und ist kein Befund über Einlagen, sondern einer über diesen Aufbau: Die Bodenkraft ist vorgegeben, die Federn antworten nur auf die Eigenverformung des Knochens darüber.

Und das feste Lager? Es muss die ganze aufgebrachte Last aufnehmen, sonst wäre der Knochen nicht im Gleichgewicht. Tabelle 12.3 stellt beide Größen und ihre Summe gegenüber:

Tabelle 12.3: Kräftebilanz des Handnetzes in senkrechter Richtung: die Lagerreaktion ist nicht vorgegeben, sondern wird als \(R = K\,u - f\) aus der Lösung berechnet — und gleicht die Last exakt aus.
Größe (senkrecht) Wert (N)
aufgebrachte Last 1840
Lagerreaktion an der Talus-Fläche (Knoten 4, 5, 6) −1840
Summe (Residuum) −0,000000000001

Deutung unter der Tabelle. Das feste Lager trägt exakt die ganze aufgebrachte Last; das Residuum ist null. Es liefert also die Gegenkraft, die das Gleichgewicht schließt — genau die Bilanz, die Abbildung 12.3 auf dem Buchnetz als Pfeilbild zeigt, und dieselbe, die Tabelle 11.9 knotenweise aufschlüsselt. Dass der sichtbare Lehrcode hier Zahl für Zahl dieselben Werte liefert wie der schnelle Löser hinter den Reglern und wie eine unabhängige Rechnung mit einer FEM-Bibliothek, prüft das Buch bei jedem Bau nach (Abweichung unter \(10^{-10}\)).

Editierbare Zelle. Der folgende Block rechnet dasselbe Handnetz noch einmal von Grund auf — und stellt eine eigene Frage: Wie steif müsste die Bettung sein, damit der Feder-Teppich wenigstens ein Prozent der Bodenreaktion trägt? Der Block sucht dafür den kleinsten E-Modul aus einer Liste von Kandidaten und zeichnet daneben die Balken der vier Einlagenstufen. Verändere ziel_anteil oder die Kandidatenliste kandidaten und führe die Zelle aus. Wer den Block überspringt, verliert keinen Gedanken: Die Antwort steht in der Deutung darunter.

Deutung unter der Ausgabe. Die gesuchte Steifigkeit liegt weit jenseits jedes Einlagenmaterials — mehrere Dutzend Megapascal, ein Vielfaches von Kork, und selbst dann trägt der Teppich nur ein Hundertstel. Das ist die deutlichste Form des Befundes von oben: Nicht die Einlage ist zu weich, sondern der Aufbau lässt ihr nichts zu tragen übrig. Die Bodenkraft greift in diesem Modell direkt am Knochen an; die Federn bekommen nur das ab, was sich der Knochen unter dieser Last noch verformt. Wer wissen will, was eine Einlage wirklich unter dem Fuß tut, muss die Berührung selbst rechnen — und das tut kein Modell dieses Buches.

Übungen

Ü 12.1 (Verstehen). Ordne jedem der vier Orte an der Ferse eine Alltagswahrnehmung am eigenen Fuß zu und benenne seine Klasse (Verschiebung vorgegeben, Kraft vorgegeben, Feder).

Talus-Gelenkfläche: das Sprunggelenk hält die Ferse — eine vorgegebene Verschiebung (Dirichlet). Achillessehnenzug: die Sehne, die man beim Zehenstand hinten spürt — eine vorgegebene Kraft, über die kleine Ansatzfläche verteilt (Neumann). Boden: das Gewicht auf der Sohle beim Stehen — ebenfalls eine vorgegebene Kraft, über die Auftrittsfläche verteilt (Neumann). Faszienansatz: das straffe Band unter der Sohle, das sich beim Zehenstand spannt — die dritte vorgegebene Kraft, über die Enthese-Facetten verteilt und nach vorn-unten gerichtet (Neumann). Vier Orte, drei Klassen — denn drei der vier teilen sich dieselbe. Die Einlage ist kein fünfter Ort, sondern die vierte Möglichkeit an einem schon besetzten: Unter der Sohle kann statt einer Kraft auch eine Feder stehen (Robin). Die auf einen Punkt konzentrierte Einzelkraft ist keine eigene Klasse, sondern ein Grenzfall der vorgegebenen Kraft — und ein Warnbeispiel.

Ü 12.2 (Verändern). Öffne den Bettungs-Regler und protokolliere die plantare Von-Mises-Spitze für ohne, Silikon, EVA, Kork. Sage vorher, ob sie monoton sinkt. Was beobachtest du bei der Größe der Änderung — und wird wirklich das ganze Feld entlastet?

Die plantare Von-Mises-Spitze sinkt mit jeder steiferen Stufe (ohne > Silikon > EVA > Kork), also monoton. Die Änderung ist aber sehr klein (Bruchteile eines Prozents), und das Differenzfeld zeigt, dass einige wenige Elemente sogar steigen: Die Federschicht verteilt die Beanspruchung räumlich um, sie nimmt sie nicht weg und entlastet nicht überall. Wer eine große, flächendeckende Entlastung erwartet hatte, wird widerlegt. Zur Einordnung gehört der zweite Satz: Dass die Wirkung so klein ausfällt, liegt am Aufbau dieses Modells — die Bodenkraft ist vorgegeben, den Federn bleibt nur die Eigenverformung des Knochens.

Ü 12.3 (Übertragen). Begründe, warum man den Bodendruck nicht als eine einzelne Punktkraft ansetzt, und was das für die berechnete Spannung an der Sohle hieße.

Eine Punktkraft wäre eine endliche Kraft auf eine Fläche null — ein unendlicher Druck. Im FE-Modell zeigt sich das als plantare Spitze, die mit jeder Netzverfeinerung stark wächst und nicht gegen einen Wert strebt (Singularität der konzentrierten Lasteinleitung, Abbildung 12.4). Die berechnete Spannung an der Sohle wäre dann kein Materialwert mehr, sondern ein Artefakt der Netzfeinheit. Über eine Fläche verteilt wächst die Spitze nur langsam und bleibt aussagekräftig; wie man solche netzabhängigen Spitzen erkennt, ist Sache von Kapitel 13.

Ü 12.4 (Verändern). Öffne den Faszien-Regler und notiere die Von-Mises-Spitze in der Enthese-Zone für den kleinsten und den größten Faszienzug. Bilde das Verhältnis der beiden Spitzen und vergleiche es mit dem Verhältnis der beiden Kräfte. Warum ist das eine kleiner als das andere?

Die Kraft wächst auf gut das Dreifache, die Spitze an der Enthese auf weniger. Der Grund ist die Zerlegung in drei Lasten: Bodendruck und Achillessehnenzug bleiben unverändert und erzeugen an der Enthese schon ohne jeden Faszienzug eine Grundbeanspruchung. Weil sich die drei Antworten addieren (1), verdreifacht sich nur der Anteil der Faszie, nicht die Summe. Wäre der Faszienzug die einzige Last, wäre das Verhältnis genau drei — das ist die Probe aufs Exempel für die Linearität des Modells.

Roter Faden

Wo kam das schon vor, wo kommt es wieder? Zurück: Die Notwendigkeit einer Lagerung ist die Einspannung aus 1, jetzt an der echten Talus-Gelenkfläche; die drei Kräfte aus Kapitel 2 (Boden, Achilles, Faszie) werden hier zu Randlasten, jede mit ihrer Klasse; der natürliche Randterm der verteilten Last kommt aus der schwachen Form von Kapitel 9; das Handnetz mit Lager, Lastgruppen und Lagerreaktion steht in Kapitel 11, und dieses Kapitel rechnet an genau demselben weiter. Die vierte Kraft, die Kapitel 2 offen ließ, ist mit der Talus-Reaktion eingelöst. Damit ist auch die Zeile „festhalten, ziehen, betten — was am Rand vorgegeben wird“ aus der Studiums-Tabelle im Vorwort eingelöst: Sie heißt im Studium Dirichlet-, Neumann- und Robin-Randbedingung. Abgehakt wird sie am Ende von Teil IV, in Kapitel 13. Vor: Die Punktkraft-Spitze führt direkt in Kapitel 13 (Singularität und Netzkonvergenz, Bilanztest); die verteilten Lasten werden in Teil V zu den fünf gewichteten Lastfällen (Kapitel 14); die Enthese-Zone, die der Faszienzug hier auszeichnet, ist die Region, in der Kapitel 16 bis Kapitel 18 nach dem Wachsen des Knochens fragen; die elastische Bettung bleibt der Ort, an dem eine Einlage im Modell überhaupt vorkommt.

Was dieses Kapitel NICHT tut

Es rechnet keine Kontaktmechanik: Die Einlage ist eine elastische Bettung aus festen Federn, kein eigener Körper, der die Sohle berührt und nur drücken kann. Es modelliert kein Reibungsmodell und keine zeitabhängigen Lasten — die mittlere Standphase ist ein festgehaltener Moment, kein Zeitverlauf (Teil V mittelt fünf Momente, statt die Zeit aufzulösen). Es optimiert die Einlagenform nicht — der Bettungs-Regler schaltet nur die Materialsteifigkeit —, und weil es die Bodenkraft vorgibt, statt die Berührung mit dem Boden zu rechnen, sagt es über die Wirkung einer Einlage unter einem wirklichen Fuß nichts. Es klärt nicht, wie fein das Netz sein muss, und deutet die Punktkraft-Spitze nur als Vorschau — die Konvergenz- und Bilanzanalyse ist Kapitel 13. Die gezeigten Spannungen und Verschiebungen sind Modellwerte dieser Netzfamilie, keine klinische Aussage. Es sagt nicht, ob und warum an der Enthese Knochen wächst — es zeigt nur, dass der Faszienzug diese Stelle auszeichnet; die Frage stellen Kapitel 16 bis Kapitel 18. Die plantare Spitze meint stets das Maximum der Von-Mises-Spannung in der plantaren Auswertezone — den Elementen mit Schwerpunkt unter \(6\) mm, derselben Grenze, an der auch die Bodenkontaktzone endet; die Enthese-Zone meint die Dreiecke an den Faszien-Ansatzfacetten. Nur die drei Klassen der Randbedingung und ihre vier Orte an der Ferse — mehr will dieses Kapitel nicht.