Wie berechnet man das Hauptträgheitsmoment richtig?

Ich schreibe ein Programm, das die Berechnung des Hauptträgheitsmoments für einen Proteinrest auf der Grundlage der XYZ-Koordinaten seines Komponentenatoms beinhaltet. Ich bin äußerst verwirrt darüber, welche Formeln ich zur Berechnung des Hauptträgheitsmoments für meine Situation verwenden soll.

Bisher macht mein Programm folgendes:

  1. Berechnen Sie Elemente (Ixx, Iyy, Izz usw.) der symmetrischen Matrix A
  2. Finden Sie die Eigenwerte (und damit die Hauptträgheitsmomente)

Die Formeln, die ich ursprünglich zur Berechnung der Elemente in Schritt 1 verwendet habe, stammten von pg. 5 dieses Dokuments . Wenn man sich jedoch Wikipedia ansieht , sind die Formeln für die symmetrischen Matrixelemente unterschiedlich.

Ich habe auch das Internet durchsucht und Open-Source-Code gefunden, bei dem der Massenschwerpunkt von den x-, y- und z-Koordinaten abgezogen wird, bevor mit der Berechnung der Elemente Ixx, Iyy, Izz usw. begonnen wird.

Welche Formeln/Algorithmus verwende ich, um das Hauptträgheitsmoment für meinen Fall zu berechnen? Ich bin mir nicht sicher, wo ich mit der Auswahl der zu verwendenden Formeln anfangen soll. Gibt es eine Quelle, die für diejenigen mit einem schwachen physikalischen Hintergrund zugänglich ist, die mir hilft zu verstehen, welche Formel / welchen Algorithmus ich zur Berechnung des Hauptträgheitsmoments verwenden soll?

Antworten (1)

Die Formeln aus dem NASA-Dokument und Wikipedia befinden sich einfach in unterschiedlichen Rahmen: Die in Wikipedia gehen von einem Koordinatenrahmen aus, dessen Achsen durch den Massenmittelpunkt gehen, während das NASA-Dokument einen beliebigen kartesischen Koordinatenrahmen annimmt.

Die Großbuchstaben X i , Y i und Z i bezeichnen Koordinaten des i-ten Atoms in einem beliebigen kartesischen Koordinatenrahmen O und x i , y i und z i bezeichnen entsprechende Koordinaten im Rahmen O com , übersetzt zum Massenmittelpunkt des Moleküls .

Die Koordinaten des Massenschwerpunkts des Moleküls im O-Koordinatensystem sind:

X C Ö M = 1 M ich M ich X ich Y C Ö M = 1 M ich M ich Y ich Z C Ö M = 1 M ich M ich Z ich

Die Transformation von O nach O com ist einfach eine Übersetzung durch [-X com , -Y com , -Z com ]:

X ich = X ich X C Ö M = X ich 1 M ich M ich X ich j ich = Y ich Y C Ö M = Y ich 1 M ich M ich Y ich z ich = Z ich Z C Ö M = Z ich 1 M ich M ich Z ich

Nehmen wir nun zum Beispiel die Formel für I xx im O-Frame:

ICH X X = ich M ich ( j ich 2 + z ich 2 )

(Beachten Sie, dass die Zweitermsumme in der Klammer einfach der euklidische Abstand zwischen dem i-ten Atom und der x-Achse ist, genau wie man es erwarten würde.)

Durch Einsetzen der obigen Formeln für y i und z i haben wir

ICH X X = ich M ich [ ( Y ich Y C Ö M ) 2 + ( Z ich Z C Ö M ) 2 ] ICH X X = ich M ich ( Y ich 2 + Z ich 2 ) + ich M ich ( Y C Ö M 2 + Z C Ö M 2 ) 2 ich M ich ( Y ich Y C Ö M + Z ich Z C Ö M ) ICH X X = ich M ich ( Y ich 2 + Z ich 2 ) + M ( Y C Ö M 2 + Z C Ö M 2 ) 2 M ( Y C Ö M 2 + Z C Ö M 2 ) ICH X X = ich M ich ( Y ich 2 + Z ich 2 ) 1 M ( ich M ich Y ich ) 2 1 M ( ich M ich Z ich ) 2

das ist genau die Formel für I xx im NASA-Dokument. Analog für die anderen Formeln.

Interessanterweise ist die Summe der letzten beiden Terme in der endgültigen Formel genau das, was man vom Parallelachsensatz erwarten würde .

Die Schlussfolgerung ist, dass Sie die Formeln verwenden sollten, die zu Ihrem Koordinatensystem passen. Wenn der Mittelpunkt Ihres Koordinatenrahmens mit dem Massenschwerpunkt des Moleküls zusammenfällt, können Sie die einfacheren Formeln von Wikipedia verwenden. Andernfalls sollten Sie die aus dem NASA-Dokument verwenden.

Mein Programm gibt viel größere Zahlen zurück als erwartet (ich bekomme 30000 für die Eigenwerte, wenn ich etwas zwischen 0 und 40 erwarte). Welche Einheiten sollte ich für die Atommasse verwenden? Ich verwende das auf Wikipedia angegebene Standardatomgewicht, also ist Stickstoff zum Beispiel nur 14,0067.
Wie immer können Sie beliebige Einheiten verwenden, solange Sie konsistent bleiben. Es ist einfacher, wenn Sie potenzielle Variablendeklarationen und Code mit den Einheiten kommentieren/kommentieren, die Sie in jeder Phase der Eingabe, Berechnung und Ausgabe verwenden. Insbesondere wenn Sie die erhaltenen Eigenwerte mit dem vergleichen, was Sie erwarten, müssen auch die Einheiten gleich sein.