Einheit 10 / 11

Automatisierung technischer Berechnungen mit Python

Gewinne:

  • Möglichkeit zur Automatisierung technischer Berechnungen, Einheitenverwaltung und Datenverarbeitung mit KI-gestütztem Python-Code
  • Möglichkeit zur Validierung von KI-Code mit Unit-Checking, Known-Result-Tests und Randfällen
  • Sich angewöhnen, wiederholbare, nachvollziehbare und versionierte Kontodokumente zu erstellen

Im Maschinenbau wird immer wieder die gleiche Rechnung durchgeführt: Beanspruchungen einer Teilefamilie, Pumpenleistung für verschiedene Betriebspunkte, Eigenschaftstabellen bei unterschiedlichen Temperaturen. Dies manuell durchzuführen ist sowohl langsam als auch fehleranfällig. Python (eine leicht zu erlernende Programmiersprache mit umfangreichen Bibliotheken für die Technik) automatisiert diese Iterationen; Dadurch wird das Konto wiederholbar, nachvollziehbar und versioniert. Künstliche Intelligenz (KI) Python ist unglaublich schnell bei der Codegenerierung: eine Formel in eine Funktion umwandeln, Einheitenverwaltung hinzufügen, Daten lesen, Diagramme zeichnen. Doch hier liegt ein gefährlicher Irrtum vor: Nur weil der Code fehlerfrei funktioniert, heißt das nicht, dass er auch korrekt rechnet. Der AI-Code kann aufgrund falscher Einheitenumrechnungen, falscher Formeln oder in Grenzfällen stillschweigend falsche Ergebnisse zurückgeben, und das Programm läuft ohne Fehler weiter. Aus diesem Grund wurde jeder technische Code mit KI erstellt. Testeingaben mit bekannten Ergebnissen sind ohne Überprüfung durch Einheitenprüfung (Größenprüfung) und Randfallversuche unzuverlässig. In dieser Einheit erfahren Sie, wie Sie die Python-Kontoautomatisierung mit KI sicher einrichten.

Warum Codekonto? Rückverfolgbarkeit und Reproduzierbarkeit

Eine manuelle Berechnung ist einmalig; Wenn sich eine Eingabe ändert, erfolgt sie von Grund auf neu und Zwischenschritte gehen verloren. Im Code durchgeführte Berechnungen sind wie ein Dokument: Eingaben, Formeln und Ausgaben sind klar geschrieben; Sie ändern eine Eingabe und erhalten innerhalb von Sekunden ein neues Ergebnis; Mit der Versionskontrolle (wie git) kann nachverfolgt werden, „was ich mit welchem ​​Wert an welchem ​​Datum berechnet habe“. Dies ist im Hinblick auf Kontrolle und Verantwortlichkeit von unschätzbarem Wert. Aber diese Macht hängt von der Richtigkeit des Codes ab; Ein falscher Code führt zum falschen Ergebnis, auch reproduzierbar und schnell.

Tipp: Schreiben Sie einen Test für jede Rechenfunktion mit einem bekannten wahren Ergebnis daneben (Assert in Python). Beispielsweise sollte Ihre Spannungsfunktion in einer bekannten Probe 28,1 MPa ergeben. Dieser Test warnt Sie sofort, wenn bei einer zukünftigen Änderung des Codes etwas kaputt geht. Nicht getesteter technischer Code ist ein nicht verifiziertes Konto.

Volume-Management: Die häufigste Fehlerquelle

Im technischen Code stammen die meisten Fehler aus Einheiten: N mit kN, m mit mm, Pa mit MPa, die um den Faktor 1000 oder 1.000.000 verwechselt werden können. Es gibt zwei Verteidigungen. Die erste ist Disziplin: Von Anfang an ein einzelnes Einheitensystem wählen (z. B. N, mm, MPa) und alle Eingaben in dieses umwandeln und Einheiten zu den Variablennamen hinzufügen (Länge_mm, Kraft_N). Das zweite ist das Tool: Eine Bibliothek wie pint trägt die Einheiten im Code und fängt die inkonsistente Operation als Fehler ab.

Ansatz

Wie funktioniert es

Vorteil

Disziplin benennen

wie Kraft_N, Länge_mm

Einfach, keine Abhängigkeiten

Ein-Einheiten-System

Alles umgerechnet in N-mm-MPa

Einfachheit, Geschwindigkeit

Pint-Bibliothek

Verschiebt Einheit um Variable

Erkennt Inkonsistenzen automatisch

Bekannter Ergebnistest

Referenz mit Assert

Fängt Formel-/Einheitenfehler ab

Achtung: Möglicherweise fehlt oder ist eine Einheitenumrechnung im KI-generierten Code falsch und der Code wird trotzdem „funktionieren“. Wenn der Durchmesser beispielsweise mm beträgt und die Fläche voraussichtlich m² beträgt, weicht das Ergebnis um das 1.000.000-fache ab, das Programm gibt jedoch keinen Fehler aus. Bevor Sie den Code ausführen, kommentieren Sie die Einheiten der Ein- und Ausgabe aus. Geben Sie dann das Ergebnis anhand eines bekannten Beispiels an.

Schritt für Schritt: AI-überprüfbarer Kontocode

  1. Klären Sie das Problem und das Einheitensystem. Eingänge, Ausgänge, Einheiten.
  2. Generieren Sie die Funktion. Einzelverantwortlich, interpretierend, vereint.
  3. Fügen Sie den Test mit bekannten Ergebnissen hinzu. Behaupten Sie mit Referenzbeispiel.
  4. Probieren Sie Randfälle aus. Null, negativ, sehr große/kleine Eingabe.
  5. Führen Sie einen Gerätecheck durch. Entspricht die Ausgabeeinheit den Erwartungen?
  6. Dokument und Version. Annahmen, Quelle, Datum; Rückverfolgbarkeit mit Git.

Eingabeaufforderung, die Funktionen und Tests generiert

Rolle: Erfahrener Python-Entwickler, der technische Berechnungen schreibt. Aufgabe: Schreiben Sie eine Funktion, die die maximale Biegespannung in einem freitragenden Träger mit rechteckigem Querschnitt berechnet. Eingabe: F (N), L (mm), b (mm), h (mm). Ausgabe: Sigma (MPa). Konvention: Einheitensystem N-mm-MPa; Kommentieren Sie die Einheit jedes Eintrags. Regel: Verwenden Sie I = b*h^3/12 und Sigma = M*c/I; Kommentieren Sie die Schritte.Regel: Fügen Sie einen Test mit BEKANNTEM ERGEBNIS hinzu: Sigma ~28,1 MPa für F=500,L=300,b=20,h=40; Mit „assert“ prüfen (geringe Toleranz).

Eingabeaufforderung zum Edge-Status

Fügen Sie Randfallprüfungen zur obigen Funktion hinzu: – Wenn b, h oder L Null oder negativ sind, geben Sie einen signifikanten Fehler aus (erhöhen Sie ValueError). – Geben Sie einen Kommentar ab, wenn bei sehr großen/kleinen Eingaben ein Überlauf-/Präzisionsproblem vorliegt. Fügen Sie außerdem drei weitere verschiedene Testeingaben hinzu und schreiben Sie das erwartete Ergebnis. Erklären Sie die Ergebnisse so, dass ich sie manuell überprüfen kann.

Eingabeaufforderung zur Gerätesicherheit (Pint).

Sichern Sie dasselbe Konto mit der Bibliothek „pint“. Lassen Sie Eingaben in Einheiten definieren (z. B. 500 * ureg.newton). Wandeln Sie die Ausgabe in MPa um und drucken Sie sie aus. Fügen Sie ein kleines Beispiel hinzu, das zeigt, wie pint fehlschlägt, wenn eine Eingabe mit der falschen Einheit erfolgt.

Eingabeaufforderung zur Codeüberprüfung

Kritisieren Sie meinen technischen Berechnungscode unten aus der Sicht der Codeüberprüfung, stimmen Sie mir nicht zu. Insbesondere: Ist die Einheitenumrechnung korrekt, ist die Formel korrekt, wurden Randfälle (Null, negativ) berücksichtigt, sind die Tests wirklich bestätigend? Schreiben Sie für jeden Befund, wie Sie ihn beheben können.[Code]

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwache Eingabeaufforderung:

Schreiben Sie Python-Code für die Spannungsberechnung.

Keine Auswahl an Einheiten, Formeln, Eingabedefinitionen und Tests; KI generiert Code, der funktioniert, aber nicht verifiziert ist und dessen Einheit unbekannt ist.

Kraftvolle Aufforderung:

Schreiben Sie die Biegespannungsfunktion im Kragarm. Eingabe F(N), L(mm), b(mm),h(mm); Ausgangssigma (MPa). N-mm-MPa-System, geben Sie jede Einheit im Kommentar an. Fügen Sie einen Test mit bekannten Ergebnissen hinzu (F=500, L=300, b=20, h=40 → ~28,1 MPa, bestätigen). Geben Sie einen Fehler bei der Null-/negativen Eingabe aus. Randfälle interpretieren.

Die zweite Eingabeaufforderung erfordert das Einheitensystem, die Formel, Eingaben, Tests und Randfälle. Es macht den Code überprüfbar.

Drei Mini-Hüllen (nach Zahlen)

Fall 1 – Silent-Volume-Fehler. Die von AI erstellte Flächenberechnung nimmt den Durchmesser in mm und ergibt mm² mit pi*d**2/4, aber die nächste Zeile fügt ihn in eine Formel ein, die m² erwartet; Der Code funktioniert fehlerfrei und sorgt für eine 1.000.000-mal geringere Belastung. Wenn der Techniker den Test mit einem bekannten Ergebnis ausführt (abs(sigma-28,1)<0,5 bestätigen), bricht der Test ab und der Fehler wird abgefangen. Gäbe es keinen Test, wäre unbemerkt das falsche Ergebnis in den Bericht gelangt. Lektion: Arbeitscode ≠ korrekter Code.

Fall 2 – Edge-State-Absturz. Im Code, der eine Schleife für eine Teilefamilie durchläuft, wird die Dicke h=0 in einer Zeile eingegeben; Wenn I = b*h**3/12 = 0, ergibt Sigma = M*c/I einen Division-durch-Null-Fehler. Dank der von AI hinzugefügten Steuerung „if h<=0: raise ValueError“ stoppt der Code mit einer aussagekräftigen Meldung und erzeugt nicht stillschweigend „inf“. Lektion: Randfälle vorher behandeln.

Fall 3 – Wiederholbarkeitsgewinn. Ein Ingenieur brauchte einen halben Tag, um die Pumpenleistung für 40 verschiedene Betriebspunkte manuell zu berechnen. Das in KI geschriebene Skript liest die CSV-Datei, berechnet die Leistung für jede Leitung und überprüft einen bekannten Punkt mit „asser“, wodurch der Arbeitsaufwand auf ca. 2 Minuten reduziert und die Ergebnisse in eine nachverfolgbare Datei geschrieben werden. Wenn sich ein Eintrag ändert, wird die gesamte Tabelle jede Sekunde aktualisiert. Lektion: Verifizierte Automatisierung ist sowohl schnell als auch zuverlässig.

Häufige Fehler

  • „Funktioniert = korrekt“-Irrtum: Die Annahme, dass Code, der fehlerfrei funktioniert, korrekt ist.
  • Keine Tests schreiben: Sich auf Code verlassen, ohne einen Referenztest mit einem bekannten Ergebnis.
  • Einheitenmehrdeutigkeit: Eingabe-/Ausgabeeinheiten werden nicht interpretiert und die Konvertierung wird übersprungen.
  • Randfälle werden ignoriert: Stiller Fehler oder Absturz bei null/negativer Eingabe.
  • Quelle/Annahme nicht dokumentieren: Quelle und Annahme der verwendeten Formel nicht aufschreiben.
  • Keine Versionierung: Belassen des Kontos als einmalige Datei, ohne dass es nachvollziehbar ist (Git).

Zusammenfassend

  • Python macht technische Berechnungen wiederholbar, nachvollziehbar und versioniert.
  • KI ist sehr schnell bei der Codegenerierung; Die Tatsache, dass der Code fehlerfrei funktioniert, bedeutet jedoch nicht, dass er korrekt berechnet.
  • Jeder Code sollte durch Tests bekannter Ergebnisse, Einheitenprüfungen und Grenzfälle validiert werden.
  • Einheitenfehler sind die häufigste und heimtückischste Fehlerquelle; Verteidigen Sie nach dem Einzeleinheitensystem, der Nomenklatur oder dem Pint.
  • Validierte Automatisierung spart Zeit und gibt Vertrauen; Nicht verifizierter Code ist gefährlich.

Anwendungsaufgabe

Wählen Sie eine wiederkehrende technische Berechnung (z. B. Spannung, Pumpenleistung, Wärmelast). Schreiben Sie eine Python-Funktion an die KI, die diese Berechnung durchführt. Kommentieren Sie die Einheit jeder Ein- und Ausgabe aus und fügen Sie einen Assert-Test mit einem bekannten Ergebnis hinzu. Führen Sie den Test durch und prüfen Sie, ob er erfolgreich ist. Führen Sie dann zwei weitere Überprüfungen durch: Versuchen Sie einen Grenzfall (Null oder negative Eingabe), um zu überprüfen, ob der Code einen signifikanten Fehler zurückgibt, und geben Sie die Einheit der Ausgabe manuell in einem Beispiel an. Wenn möglich, lassen Sie auch eine gerätesichere Version in Pint produzieren. Fügen Sie abschließend die Annahmen der Berechnung, die Formelquelle und das Datum als Kurztitel zum Code hinzu und schreiben Sie, warum dieser Code noch der Genehmigung durch den Ingenieur bedarf.

Checkliste

  • [ ] Eingabe- und Ausgabeeinheiten sind im Code klar dokumentiert; Es wurde ein Ein-Einheiten-System gewählt.
  • [ ] Ein Test (Assert) mit bekanntem Ergebnis wurde hinzugefügt und bestanden.
  • [ ] Mindestens ein Randfall (null/negativ) wurde versucht; Der Code gab einen erheblichen Fehler aus.
  • [ ] Die Ausgabeeinheit wurde durch ein manuelles Beispiel bereitgestellt (ohne die Annahme „funktioniert = korrekt“).
  • [ ] Formelquelle, Annahmen und Datum im Code angegeben.
  • [ ] Das Konto bleibt verfolgbar/verfolgt; Die endgültige Genehmigung wurde dem Ingenieur überlassen.