Zum Inhalt springen

Was ist ChainSolve? Ein neuer Ansatz für Ingenieurberechnungen

Eine Einführung in ChainSolve, wie es funktioniert, warum es existiert und wie es sich von Tabellenkalkulationen, Mathcad und herkömmlichen Berechnungswerkzeugen unterscheidet.

BG ben godfrey · · 3 min read
CHAINSOLVE

Das Berechnungsproblem

Betrachten Sie eine typische Aufgabe zur Auslegung einer Pkw-Aufhängung. Sie müssen die Federrate für eine vordere Ecke bestimmen. Dies erfordert:

  1. Eine Zielresonanzfrequenz (abgeleitet aus Anforderungen der Fahrzeugdynamik)
  2. Die Eckenmasse (abgeleitet aus der Gewichtsverteilung des Fahrzeugs)
  3. Das Bewegungsverhältnis (abgeleitet aus der Aufhängungsgeometrie)
  4. Der Federeinbauwinkel
  5. Die Radrate (berechnet aus der Zielfrequenz und der Eckenmasse)
  6. Die Schraubenfederrate (berechnet aus der Radrate, dem Bewegungsverhältnis und dem Einbauwinkel)

Jeder dieser Werte hat eine Quelle. Einige stammen aus Anforderungsdokumenten. Einige stammen aus CAD-Modellen. Einige stammen aus anderen Berechnungen. Einige sind technische Erfahrung. Alle müssen dokumentiert, begründet und nachverfolgbar sein.

In einer Tabellenkalkulation könnte diese Berechnung 30 Zeilen umfassen. Die Abhängigkeiten sind implizit – Zelle B14 verweist auf B8, die auf B3 verweist, die auf einen Wert verweist, den vor sechs Monaten jemand eingegeben hat und dessen Quelle niemand mehr kennt. Ändern Sie das Bewegungsverhältnis, müssen Sie manuell überprüfen, dass jeder nachgelagerte Wert korrekt aktualisiert wurde – vorausgesetzt, Sie können sie alle finden.

ChainSolve verfolgt einen grundlegend anderen Ansatz.

Berechnungen als Graphen

In ChainSolve ist die obige Federratenberechnung keine flache Liste von Zellen. Sie ist ein gerichteter azyklischer Graph von Berechnungsblöcken:

  • Eingaben sind explizit, benannt, typisiert und dokumentiert. Jede Eingabe erfasst ihren Wert, ihre Einheit, ihre Quelle und alle Annahmen.
  • Blöcke sind in sich geschlossene Berechnungsschritte. Ein Block nimmt benannte Eingaben, wendet eine definierte Berechnung an (von einer einfachen Formel bis zu einer komplexen numerischen Methode) und erzeugt benannte Ausgaben.
  • Verbindungen verknüpfen die Ausgaben eines Blocks mit den Eingaben eines anderen. Diese Verbindungen sind explizit und sichtbar, nicht in Zellverweisen verborgen.
  • Ketten sind zusammengesetzte Graphen von Blöcken, die eine vollständige Ingenieurberechnung darstellen.

Wenn Sie eine Eingabe ändern, identifiziert ChainSolve jeden nachgelagerten Block, der betroffen ist, und berechnet ihn in topologischer Reihenfolge neu. Es gibt keine Mehrdeutigkeit darüber, was sich geändert hat und was betroffen ist.

Wie es sich von bestehenden Werkzeugen unterscheidet

Tabellenkalkulationen (Excel, Google Sheets): Tabellenkalkulationen geben Ihnen ein Gitter von Zellen mit Formeln. Abhängigkeiten sind implizit in Zellverweisen. Es gibt keine Typisierung, keine Einheitenprüfung, keine strukturierte Möglichkeit, Annahmen oder Quellen an Werte anzuhängen. Zusammenarbeit bedeutet, Dateien per E-Mail zu versenden oder zu hoffen, dass die Version auf dem gemeinsamen Laufwerk aktuell ist. ChainSolve ersetzt implizite Zellgraphen durch explizite, dokumentierte, zusammensetzbare Berechnungsgraphen.

Mathcad / SMath: Diese Werkzeuge sind hervorragend geeignet, um lesbare, dokumentierte Berechnungen für eine einzelne Analyse zu erstellen. Aber sie sind ihrer Natur nach dokumentorientiert – ein Mathcad-Arbeitsblatt ist eine Seite, keine zusammensetzbare Komponente. Sie können die Balkendurchbiegungsberechnung aus einem Arbeitsblatt nicht programmgesteuert mit einer Lastberechnung aus einem anderen zusammensetzen. ChainSolves Blockmodell macht Komposition zu einer erstklassigen Operation.

Benutzerdefinierte Skripte (Python, MATLAB): Ingenieure, die benutzerdefinierte Skripte schreiben, gewinnen Komposition und Versionskontrolle, verlieren aber Zugänglichkeit. Nicht jeder Ingenieur in einem Team kann Python lesen. Nicht jede Berechnung rechtfertigt das Schreiben und Warten eines Skripts. ChainSolve bietet die Zusammensetzbarkeit von Code mit der Zugänglichkeit eines visuellen Werkzeugs.

PLM-integrierte Werkzeuge: Systeme für Produktlebenszyklusverwaltung bieten Rückverfolgbarkeit, aber mit enormem Aufwand. Sie sind für große Organisationen mit eigenen Administratoren konzipiert. ChainSolve bietet Rückverfolgbarkeit auf Berechnungsebene, ohne dass Unternehmensinfrastruktur erforderlich ist.

Der Kern-Workflow

Ein typischer ChainSolve-Workflow:

  1. Erstellen Sie eine Kette für Ihre Berechnung (z. B. “Federrate der vorderen Aufhängung”)
  2. Definieren Sie Eingabeblöcke für Ihre bekannten Werte: Eckenmasse, Zielfrequenz, Bewegungsverhältnis
  3. Fügen Sie Berechnungsblöcke hinzu, die Eingaben in Ausgaben umwandeln: Radrate aus Frequenz und Masse, Federrate aus Radrate und Bewegungsverhältnis
  4. Verbinden Sie Blöcke, um den Abhängigkeitsgraphen zu erstellen
  5. Führen Sie die Kette aus, um alle Ausgaben zu berechnen
  6. Exportieren Sie die Berechnung als dokumentierten Bericht mit vollständiger Rückverfolgbarkeit

Jede Änderung wird aufgezeichnet. Jede Annahme ist an den Wert angehängt, auf den sie sich bezieht. Jede Berechnung kann versioniert, geteilt und als Komponente in einer größeren Berechnung wiederverwendet werden.

Auf Leistung ausgelegt

ChainSolves Berechnungs-Engine ist in Rust geschrieben und in WebAssembly kompiliert. Dies bedeutet:

  • Berechnungen laufen im Browser mit nahezu nativer Geschwindigkeit, keine Server-Roundtrips für Berechnungen
  • Die gesamte Anwendung funktioniert offline, sobald sie geladen ist
  • Komplexe Ketten mit Hunderten von Blöcken werden in Millisekunden ausgewertet
  • Die gleiche Engine kann serverseitig für Batch-Verarbeitung und CI/CD-Integration ausgeführt werden

Was kommt als Nächstes

ChainSolve befindet sich derzeit in der Entwicklung. Wir arbeiten auf eine erste Veröffentlichung hin, die den oben beschriebenen Kern-Workflow abdeckt, mit Schwerpunkt auf Berechnungen im Bereich Maschinenbau in der Automobil- und Motorsport-Branche.

Wenn Sie frühen Zugang möchten oder der Entwicklung folgen möchten, besuchen Sie chainsolve.co.uk oder abonnieren Sie den RSS-Feed dieses Blogs.

Written by
BG
ben godfrey
Ingenieur bei Godfrey Engineering Ltd.