| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Systemmatrizen in Ansys (3691 mal gelesen)
|
Brinkley Mitglied Ingenieur
Beiträge: 71 Registriert: 14.08.2009
|
erstellt am: 25. Nov. 2011 09:54 <-- editieren / zitieren --> Unities abgeben:
Hallo liebe Ansys-Nutzer, ich führe in Ansys eine Modalanalyse durch und lasse mir die Systemmatrizen (Massen- und Steifigkeitsmatrix) im Harwell-Boeing-Format ausgeben. In einem anderen Programm lese ich diese wieder ein und berechne mir erneut die Eigenwerte aus diesen Matrizen. Das klappte auch bei einfachen Systemen soweit ganz gut und die Ergebnisse waren auch übereinstimmend mit den in Ansys berechneten Eigenfrequenzen. Das Problem ist nun: bei einem etwas komplizierteren Modell führt Ansys die Modalanalyse zwar durch aber in diesem anderen Programm kommt wegen singulärer Systemmatrizen eine Fehlermeldung. Wie kann das sein? Wie kommen singuläre Systemmatrizen in Ansys zustande? Was kann man dagegen tun? Und wieso kann dann eigentlich Ansys das Eigenwertproblem lösen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Staplerfahrer-Klaus Mitglied
Beiträge: 31 Registriert: 03.11.2011 ANSYS 13.0 Abaqus FEA 6.9
|
erstellt am: 25. Nov. 2011 09:57 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Die Singularitäten können in Ansys aus Randbedingungen resultieren. Wie sieht das Modell denn aus? Sind Lagerungen, Einspannungen vorhanden? Welches andere Programm wird denn verwendet? Matlab? Man könnte sich ja mal die Systemmatrizen anschauen und auf Singularitäten prüfen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brinkley Mitglied Ingenieur
Beiträge: 71 Registriert: 14.08.2009
|
erstellt am: 25. Nov. 2011 10:40 <-- editieren / zitieren --> Unities abgeben:
Ja, Lagerungen sind vorhanden. Die Ergebnisse in Ansys erscheinen auch absolut plausibel (die Eigenfrequenzen stimmen sogar mit dem "echten" Prüfstand in unserer Werkstatt überein). Das andere Programm ist Matlab. Ich weiß nicht genau, wie man in Matlab eine Matrix auf Singularität überprüft, aber wenn Matlab das als Fehlermeldung ausgibt, ist die Matrix wohl singulär. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Staplerfahrer-Klaus Mitglied
Beiträge: 31 Registriert: 03.11.2011 ANSYS 13.0 Abaqus FEA 6.9
|
erstellt am: 25. Nov. 2011 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Dass die Matrix singulär ist wenn Matlab das meldet, bezweifele ich nicht. Ich wollte nur auf Ursachenforschung gehen und herausfinden woher diese kommen und ob das Erggebnis stimmt, wenn man diese entfernt. Hatte das einfache Modell in dem Matlab und Ansys übereinstimmen auch Lagerungen? Wenn nein, dann schau dir die mal genauer an. Soweit ich weiß markiert Ansys zum Beispiel gesperrte Freiheitsgrade durch extrem hohe Steifigkeitswerte. Bei einer Eigenwertberechnung in Ansys werden die dann vermutlich vorher gelöscht, in Matlab sind sie aber noch vorhanden. Du könntest also mal in Matlab deine Matrizen nach großen Werten durchsuchen. Sind solche vorhanden, sollte man sich genauer ansehen, woher die kommen. Ein Test könnte auch sein, die Lagerungen in Ansys zu entfernen und dann wieder mit Matlab vergleichen. [Diese Nachricht wurde von Staplerfahrer-Klaus am 25. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brinkley Mitglied Ingenieur
Beiträge: 71 Registriert: 14.08.2009
|
erstellt am: 25. Nov. 2011 11:33 <-- editieren / zitieren --> Unities abgeben:
Das vereinfachte, funktionierende Modell ist eingespannt. Ich habe die Einspannung mal entfernt und es entstehen in der Tat recht hohe Einträge in der Steifigkeitsmatrix. Ich habe nochmal in mein komplexes, nicht funktionierendes System geschaut und da habe ich auch sehr hohe Einträge in der Steifigkeitsmatrix trotz Einspannung. Kann es vielleicht sein, dass die Einspannung nicht ausreicht (es werden nur einige Knoten an der Seite einer Ringstruktur festgehalten). Weiterhin habe ich auch in Matlab noch etwas ausprobiert. Ich arbeite ja mit dem Befehl 'eigs' und offenbar ist die Massenmatrix singulär. Die Werstoffdaten des funktionierenden und nicht funktionierenden Systems stimmen überein... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Staplerfahrer-Klaus Mitglied
Beiträge: 31 Registriert: 03.11.2011 ANSYS 13.0 Abaqus FEA 6.9
|
erstellt am: 25. Nov. 2011 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Wir haben uns missverstanden. Ich bin der Meinung, dass gerade durch Einspannungen hohe Einträge in der Steifigkeitsmatrix entstehen. Und ich meine dabei auch nicht recht hohe, sondern gigantisch hohe Beträge! Eine feste Einspannung ist ja auch nichts anderes als eine unendlich hohe Steifigkeit des eingespannten Knotens. Singularitäten der Massenmatrix kann ich mir ad-hoc nicht erklären. Muss mal darüber nachdenen. Kannst du herausfinden, welche Einträge die Singularität verursachen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1320 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 26. Nov. 2011 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Moin, Seit wann hat eine Einspannung etwas mit der Gesamtsteifigkeitsmatrix zu tun? Normaler weise führt das dazu das der/die Freiheitsgrad(e) an der Stelle der Einspannung unterdrückt wird, und dann für den entsprechenden Freiheitsgrad auch keine Anteile in der Steifigkeitsmatrix vorhanden sind. Selbst wenn die Therme in der Gesamtsteifigkeitsmatrix erhalten bleiben und dann mit dem expliziten Wert der Verformung (=0) weitergerechnet wird in der Lösung, fürt das halt nicht zu "sehr hohen Werten". Ich denke hier ist mal ein bischen Beschäftigung mit der Theorie angesagt - und die kann in diesem Forum nicht geleistet werden. Das ist jeder selbst gefordert um auch die Ergenisse seiner Rechnung beurteilen zu können. Gerd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Staplerfahrer-Klaus Mitglied
Beiträge: 31 Registriert: 03.11.2011 ANSYS 13.0 Abaqus FEA 6.9
|
erstellt am: 26. Nov. 2011 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Zitat: Original erstellt von smittytomcat: Seit wann hat eine Einspannung etwas mit der Gesamtsteifigkeitsmatrix zu tun? Normaler weise führt das dazu das der/die Freiheitsgrad(e) an der Stelle der Einspannung unterdrückt wird, und dann für den entsprechenden Freiheitsgrad auch keine Anteile in der Steifigkeitsmatrix vorhanden sind. Selbst wenn die Therme in der Gesamtsteifigkeitsmatrix erhalten bleiben und dann mit dem expliziten Wert der Verformung (=0) weitergerechnet wird in der Lösung, fürt das halt nicht zu "sehr hohen Werten".
Ob ein "eingespannter" Freiheitsgrad gelöscht wird, oder mittels Steifigkeitsmatrix "unendlich" steif angebunden wird ist im Ergebnis das selbe. Und wie ich das in Erinnerung habe, machen das die meisten Prepozessoren so (werde ich nächste Woche überprüfen). Das hat vmtl. den Vorteil, dass der Freiheitsgrad nicht gelöscht ist, weil man ihn im Postprozessor zur Animation wieder braucht. In der Lösung führt das sicher nicht zu großen Werten, sondern zu Werten die gegen Null gehen. Hier wird ja auch nicht die Lösung nach Matlab exportiert, sondern die assemblierten Systemmatrizen. Die hohen Werte treten wie beschrieben in der Steifigkeitsmatrix auf. Hohe Werte in der Steifigkeitsmatrix sind bei der Eigenwertberechnung auch garnicht problematisch. Die Massenmatrix darf nicht singulär werden. Warum sie das in diesem Fall tut müßte man sich im Detail anschauen. Im Allgemeinen sollten die Einträge zu den gesperrten Freiheitsgraden einfach keinen Einfluss mehr haben, zumindest im lumped mass Fall. Ich tu mir da aber etwas schwer...
Zitat: Original erstellt von smittytomcat:
Ich denke hier ist mal ein bischen Beschäftigung mit der Theorie angesagt - und die kann in diesem Forum nicht geleistet werden. Das ist jeder selbst gefordert um auch die Ergenisse seiner Rechnung beurteilen zu können.
Genau das geschieht hier doch... Die externe Nachrechnung dient doch genau dem. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1320 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 26. Nov. 2011 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Na, wenn Du alles so weist, warum fragst Du dann hier im Forum? Im Übrigen wird bei vielen Progammen der Verformungsvektor im Postprozesseor neu aufgebaut. Ansonsten könnte man gar nicht die Constraint Equations bzw. die Slave-Verformungen aus diesen Gleichungen darstellen. Gerd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Staplerfahrer-Klaus Mitglied
Beiträge: 31 Registriert: 03.11.2011 ANSYS 13.0 Abaqus FEA 6.9
|
erstellt am: 26. Nov. 2011 15:38 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Das ist hier nicht mein Fred, ich versuche hier nur zu helfen. Ich weiß sicher auch nicht alles, das sind nur Ansätze, die es zu überprüfen gilt. Was der Postprozessor tut, weiß ich nicht, das war nur eine Idee. Ich weiß nicht wieso gesperrte Freiheitsgrade in der Steifigkeitsmatrix markiert werden, ich erinnere mich nur, dass ich das so festgestellt habe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 26. Nov. 2011 16:50 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Zitat: Original erstellt von Staplerfahrer-Klaus: Ich bin der Meinung, dass gerade durch Einspannungen hohe Einträge in der Steifigkeitsmatrix entstehen.
Das stimmt so nicht, die großen Einträge entstehen nicht einfach so. Man kann Randbedingungen mit sog. Penalty-Verfahren einpflegen, diese Verfahren addieren große Zahlen auf einzelne Einträge der Steifigkeitsmatrix. In ANSYS wird das meines Erachtens jedoch anders gemacht, da werden die durch Randbedingungen vorgegebenen Freiheitsgrade aus dem Gleichungssystem eliminiert (dafür spricht zumindest, dass mit zunehmender Anzahl an Randbedingungen das zu lösende GLS kleiner wird). Zu dem eigentlichen Problem: Da du das EWP lösen möchtest, ist die Determinate deiner Steifigkeitsmatrix vollkommen egal. Selbst wenn die Steifigkeitsmatrix singulär sein sollte, dann bekommst du halt einen Nulleigenwert, so what? Problematisch wird es nur, wenn die Massenmatrix singulär wird, zur Lösung des verallgemeinerten Eigenwertproblems werden oft Verfahren verwendet, die eine Invertierbarkeit der Massenmatrix voraussetzen. Welchen Befehl verwendest du denn in MatLab? eigs(K, M), K...Steifigkeitsmatrix, M...Massenmatrix? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brinkley Mitglied Ingenieur
Beiträge: 71 Registriert: 14.08.2009
|
erstellt am: 28. Nov. 2011 10:35 <-- editieren / zitieren --> Unities abgeben:
In Matlab verwende ich den Befehl "eigs" und ich würde auch sagen, dass es an der Massenmatrix liegt, wenn ich das Eigenwertproblem wegen einer singulären Matrix nicht lösen kann. In meinem Modell in Ansys habe ich auch Piezos, welche Nulleinträge in der Massenmatrix verursachen. Diese nehme ich bei der Eigenwertberechnung in Matlab heraus aus der Massenmatrix (d.h. ich sortiere die Massenmatrix so um, dass zunächst nur die Einträge zu den Verschiebungsfreiheitsgraden aufgeführt werden und dann folgen die Einträge zu den elektrischen Freiheitsgraden - in dem Fall also die Nullen - und für die Eigenwertberechnung verwende ich dann nur den Teil der Massenmatrix, der den Verschiebungen zugeordnet ist). Bisher hat das bei mehreren einfachen Systemen super geklappt, aber nun habe ich ein kompliziertes System und es funktioniert nicht mehr. Ich überprüfe nun schon, ob meine Umsortierung der Matrixeinträge in Matlab wirklich konsistent ist oder hier einen Fehler erzeugt. Da es aber bisher funktionierte, frage ich mich eben auch, ob ich nicht auch in meinem Modell in Ansys den Fehler suchen muss. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 28. Nov. 2011 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für Brinkley
Eigentlich darf die Massenmatrix nicht singulär werden. Mit Piezos kenne ich mich nicht aus, aber beeinflussen die denn Einträge in der Massenmatrix, die Beschleunigungsfreiheitsgraden zugeordnet sind? Als erstes könntest du probieren, eine "lumped mass matrix" zu verwenden, die hat Diagonalgestalt und da müsstest du sofort sehen, ob sie singulär ist (das ist sie nämlich genau dann, wenn ein Diagonalelement Null ist). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |