WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Modale Transformation bei nicht konstanter Massenmatrix

 

Zajchman
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2014, 18:28     Titel: Modale Transformation bei nicht konstanter Massenmatrix
  Antworten mit Zitat      
Servus miteinander,

ich habe hier ein großes DGL-System (1000+ Freiheisgrade) mit parameterabhängiger Massenmatrix. Dieses wollte ich zur schnelleren Berechnung mit hilfe der Modalen Transformation reduzieren.
Die Modale Transformation ist, wenn Massen- und Steifigkeitsmatrix konstant sind, kein Problem.

Mit
Code:
eig(M,S)  % oder
eigs(m,S,5)


lässt sich die Modalmatrix \Psi berechnen, dann auf die gewünschte Anzahl von Eigenvektoren reduzieren (z.B. 5). Mit dem Ansatz

y = \Psi \cdot q , \\
<br />
\dot y = \Psi \cdot \dot q , \\
<br />
\ddot y = \Psi \cdot \ddot q

lässt sich y und dessen Ableitungen aus der DGL durch die generalisierten Koordinaten q ersetzten. Multipliziert man die gesamte DGL nun von links mit der Transponierten Modalmatrix \Psi^T durch, bleibt ein 5x5 DGL-System, welches sich wesentlich schneller lösen lässt, als ein 1000x1000 System. Idea

Da nun meine Massenmatrix nicht Konstant ist, gibt es für mein System keine allgemein gültige Modalmatrix. Somit fällt die Transvormation, vor der Übergabe der DGL an den Solver aus.
Eine Transformation bei jedem Iterationsschritt ist sicher möglich, ich bezweifle jedoch, dass das einen zeitlichen Vorteil bringt.
Da es sich bei meinem System um ein Rotierendes handelt, könnte ich die 2*pi in eine feste Anzahl von Schritten unterteilen und dann mir die Dazugehörigen Modalmatritzen "auf Halde" legen.
Symbolisch lässt sich das Problem auch nicht lösen, da die Symbolic Math Toolbox nur das Spezielle Eigenwertproblem lösen lässt und wenn ich dieses lösen lasse, hört Matlab nach 25 000 Zeichen in einer Zeile mit der Ausgabe auf.

Hat hier jemand sowas schon mal gemacht und/oder kann mir einen Ratschlag geben, was ich denn probieren könnte?

Grüße Adrian
Private Nachricht senden Benutzer-Profile anzeigen


Zajchman
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 18.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 09:51     Titel:
  Antworten mit Zitat      
Servus zusammen,

die rege Diskussion die ich mit diesem Thema angefacht habe, hat mich dazu bewegt es einfach auszuprobieren. Die zeitliche Ersparnis durch die Reduktion liegt zwischen Faktor 10 und 300!!! So weit so gut.
Jetzt habe ich noch ein kleines Problem.

Da bei jedem Iterationsschritt eine andere Transformationsmatrix verwendet wird, benötige ich für die Rücktransformation der Ergenisse die Information darüber, welche Transformationsmatrix bei welchem Zeitschritt verwendet wurde. Lasse ich bei jedem Iterationsschritt diese Information in einen Vektor Schreiben, dann wird die Info auch bei "fehlerhaften" Iterationsschritten geschrieben. Das hat zur folge, dass der Vektor mit der Info mehr Transformationsmatritzen enthällt, als mein ergebnis Zeitschritte.
Ich habe auch versucht für diesen Vorgang die Event Funktion zu missbrauchen, wobei diese auch bei Fehlerhaften Iterationsschritten ausgeführt wird.

Nun die eigentliche Frage:

Wie kann ich einen ode-Solver dazu bringen mir nur bei "gültigen" Iterationsschritten einen Befehl auszuführen?

Vielen Dank

Adrian
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.