Autor
|
Thema: Neigung aus .odb auslesen (2002 mal gelesen)
|
Darkviral Mitglied Student
Beiträge: 56 Registriert: 14.04.2010
|
erstellt am: 14. Nov. 2011 18:43 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle, heute habe ich mal eine Frage zu den Output Variablen in Abaqus. Ich bräuchte für einen einfachen Balken die Neigung (1.Ableitung der Biegelinie) an jedem Knoten. Dazu sind mir zwei Vorgehensweisen eingefallen. Erstens ich kann die Neigung direkt aus der .odb auslesen oder zweitens ich lese die Knotenverschiebungen aus und nehme eine Ansatzfunktion und ermittle mit so nummerisch einen Biegelinie. Nun ist die zweite Vorgehensweise möglicherweise fehlerbehaftet und mir wäre die erste Varainte lieber. Leider hab ich noch keine entsprechende Output-Variable gefunden. Somit die Frage kennt jemand diese? Mit freundlichen Grüßen Darkviral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goldstein Mitglied
Beiträge: 970 Registriert: 21.01.2005
|
erstellt am: 14. Nov. 2011 19:36 <-- editieren / zitieren --> Unities abgeben: Nur für Darkviral
|
Darkviral Mitglied Student
Beiträge: 56 Registriert: 14.04.2010
|
erstellt am: 15. Nov. 2011 13:30 <-- editieren / zitieren --> Unities abgeben:
Grüße, danke für den schnellen Tipp. Leider habe ich folgendes Problem ich betrachte nicht die Balkentheorie aus der technischen Mechanik sondern nehme die Formulierung in Abaqus. Hier hat der Balken nicht nur eine Durchbiegung w sondern auch eine Verschiebung in Längsrichtung u. Diese beiden Paramter sind für mein Problem auch notwendig und ich bräuchte sowohl für die Durchbiegung die erste Ableitung als auch für die Längsverschiebung (jeweils einzeln). Tut mir leid das ich mich da nicht von Anfang an konkret genug ausgedrückt habe. Hast du vielleicht trotzdem noch eine Idee. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goldstein Mitglied
Beiträge: 970 Registriert: 21.01.2005
|
erstellt am: 15. Nov. 2011 16:00 <-- editieren / zitieren --> Unities abgeben: Nur für Darkviral
Sorry, verstehs noch nicht ganz. Hast Du den Balken nun ausmodelliert mit z.B. Volumenelementen? Welche Elemente verwendest Du ? Hast Du Details zu der Abaqus-eigenen Balkentheorie ? Nach welcher Größe willst Du die Längsverschiebung differenzieren ? [Diese Nachricht wurde von Goldstein am 15. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darkviral Mitglied Student
Beiträge: 56 Registriert: 14.04.2010
|
erstellt am: 15. Nov. 2011 18:45 <-- editieren / zitieren --> Unities abgeben:
Grüße, das Problem ist folgendes, ich will einen bewegten Draht modellieren und das nun schon seit einer ganzen Weile ;-). Nach verschieden rangehensweisen habe ich mich jetzt mit meinen Mitstreitern entschieden die durch die Vorschubgeschwindigkeit entstehenden Trägheitsterme iterativ mittels einem Python Script aufzubringen. Das ist soweit auch kein Problem, nur das sich der Trägerheitsterm (in DGL enthalten) halt aus der Geschwindigkeit, der Ableitung der Durchbiegung w,x und der Ableitung der Längsausdehnung u,x zusammen setzt (x = Längsrichtung). Dies sind alles keine linearen Funktionen und haben somit eine erste Ableitung. Am einfachsten wäre es jetzt natürlich wenn Abaqus mir diese Werte direkt ausgeben kann (w,x und u,x). Sollte das nicht möglich sein kann ich mir die Ableitungen auch durch nummerische Differentation oder eine Ansatzfunktion berechnen (hier könnten aber Fehlerquellen liegen). Für die Modellierung in Abaqus verwende ich Beam Elemente. Was ich aber meinte ist, das diese laut dem Theory Manual nicht wie Bernoulli Balkenelemente in Abaqus implementiert sind. Wäre dies der Fall, so würde es nur ein w also eine Durchbiegung geben. Nachweislich ist aber auch eine Längsverschiebung u wie sie vom Stab bekannt ist enthalten. Somit ist das Beam-Element in Abaqus eine Kombination der Balken und Stab-Theorie aus der TM. Ich hoffe mein Problem ist jetzt besser verständlich. Eine hoffentlich funktionierende Lösung (Konvergenz des Problems ist noch nicht bewiesen) habe ich ja mit den Ansatzfunktionen, mein Ziel jetzt ist nur die Fehlerquellen zu minimieren. Schönen Abend noch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goldstein Mitglied
Beiträge: 970 Registriert: 21.01.2005
|
erstellt am: 16. Nov. 2011 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für Darkviral
du/dx ist doch die Längsdehnung (beim Balken E11). Und dw/dx würde ich als Tangens der Knotenverdrehung (z.B. U6) veranschlagen. Einfach mal an einem Mini-Modell, dessen Lösung bekannt ist, nachrechnen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darkviral Mitglied Student
Beiträge: 56 Registriert: 14.04.2010
|
erstellt am: 29. Nov. 2011 14:12 <-- editieren / zitieren --> Unities abgeben:
Grüße, sorry das ich mich erst jetzt wieder melde aber die letzten Tage waren doch etwas stressig ;-). Leider bin ich noch nicht dazu gekommen deine Idee mal gegenzurechnen und im Moment wird eine von unserem Betreuer vorgegebene Ansatzfunktion zur Bestimmung der Größen verwendet. Leider tritt nun ein neues Problem auf. Zum Aufbringen der entstehenden Kräfte hätte ich gerne zu jedem Knoten ein Node-Set erstellt. Meine Ansatz war im Script war der folgende: # #Knotenset erstellen # for i in range(1,Knotenanzahl+1): m="Nodes-%.i" %i mdb.models['Bewegter Draht'].rootAssembly.SetFromNodeLabels(name=m, nodeLabels=(('Draht',(i,)),)) Führe ich dieses Skript nun in Abaqus Cae aus kommt folgende Warnung und die Sets sind werder in der Cae noch im Inputfile vorhanden. "Warning: The element set "Nodes-1" was not imported." Diese Warnung kommt für jedes NodeSet das ich definiere. Mein Ziel bei der Verwendung von SetFromNodeLabels ist, dass das Node-Set "Nodes-1" auch den Knoten 1 enthält und so weiter. Ich hoffe jemand kann mir helfen. MFG Darkviral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Darkviral Mitglied Student
Beiträge: 56 Registriert: 14.04.2010
|
erstellt am: 30. Nov. 2011 11:05 <-- editieren / zitieren --> Unities abgeben:
Grüße, so nach vielen Versuchen und studieren des Scripting Reference Manuels habe ich in einem Nebensatz meinen Fehler gefunden. Das NodeLabel gibt es im Abaqus nur im Instance nicht aber in der Assembly. Nach dem ändern meines Skriptes auf diesen Sachverhalt läuft jetzt alles wie gewünscht. Trotzdem danke an alle die über mein Problem nachgedacht haben. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |