Hallo,
ich möchte in meinem Model gerne Hauptspannungsrichtungen untersuchen und habe festgestellt, dass es außer die Möglichkeit sich im Symbol Plot die Richtungen visuell anzusehen, keine Möglichkeit gibt, die Richtung der Hauptspannungen in Form eines Vektors oder in Form von Winkeln aus einer .odb in CAE zu extrahieren.
Das führt mich zu meiner ersten Frage: Gibt es möglicherweise doch einen Weg an die Richtungen in CAE zu kommen?
Nach einiger Recherche bin ich auf ein Python-Skript gestoßen, dass anscheinend irgendwann einmal im Abaqus Support veröffentlich wurde. Ich weiss leider nicht, ob es legal ist, es zu verbreiten. Die Methode, die in diesem Skript implementiert wurde, orientiert sich angeblich an der Subroutine, die in Abaqus verwendet wird und hat den Methodenkopf "sprind(s,lstr,ndi,nshr)". Ich hoffe, dass dem einen oder anderen diese Methode bekannt ist.
Die Methode erwartet u.a. den Spannungstensor s und berechnet die Eigenwerte und Eigenvektoren, die wiederrum nichts anderes darstellen als die Hauptspannungen bzw. die Hauptspannungsrichtungen. Output der Funktion ist ein Tupel "ps[i]" i=1,2,3 und ein Tupel "an[i][j]" i,j=1,2,3. Dabei soll z.B. ps[1] die erste Hauptspannung sein und an[1][j] die dazugehörigen Richtungskosinus.
Leider habe ich Probleme die Ergebnisse richtig zu interpretieren. Ich habe beispielsweise den Tensor
20 60
60 180
berechnen lassen und erhalte als Ergebnis:
print sprind(s=[20,180,60],lstr=1,ndi=2,nshr=1) ->
([0.0, 200.0, 0.0], [ [0.948683298050514, 0.316227766016838, 0.0], [-0.316227766016838, 0.948683298050514, 0.0], [0.0, 0.0, 1.0] ])
Wie lese ich jetzt das 2. Tupel, also an[i][j], das die Richtungskosinus darstellen soll?
So wie ich das Skript verstanden habe, sind die Hauptspannungen 0 und 200, und die Hauptspannungsrichtungen die Vektoren [0.948683298050514, 0.316227766016838, 0.0] und [-0.316227766016838, 0.948683298050514, 0.0] in transponierter Form. Die Proberechung des 2. Vektors und Eigenwerts a la Tensor * Vektor = Eigenwert * Vektor wird leider nicht erfüllt.
Ich hoffe, das jemand hier im Forum das Skript kennt und mir sagen kann, was schief läuft.
Matlab liefert für dieses Problem beispielsweise folgendes Ergebnis, welches die Probe erfüllt:
>> [V,D]=eig([20 60; 60 180])
V =
-0.9487 0.3162
0.3162 0.9487
D =
0 0
0 200
Ich kann und möchte nicht auf Matlab für meine Analysen zurückgreifen müssen.
Gruß & Dank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP