Streamline Plot -> triangulation is empty, U V W must be
Nudelholz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 24.11.2014, 15:31
Titel: Streamline Plot -> triangulation is empty, U V W must be
Hallo zusammen.
Ich arbeite noch nicht zu lange mit Matlab aber auch eine gefühlt ewige Suche hat mich nicht weiter gebracht.
Ich habe ein Programm, welches in Matlab geschrieben ist, das Werte aus einer Datei (die man u.a. mit dem Editor öffnen kann) ausliest und auswertet.
Genau genommen geht es hier in Verbindung mit Abaqus.
Kurze Zusammenfassung des Programms, wie weit es funktioniert:
Es werden Knoten mit ihren Koordinaten, und deren Spannungen (Spannungstensor, S11, S22, S33, S12, ....) ausgelesen. Anschließend werden die Hauptspannungen berechnet und die Referenzvektoren - Eigenwerte und Eigenvektoren Anschließend gibt es ein paar Plots, die nicht relevant sind.
Relevant ist aber ein Plot der über Streamlines laufen soll. Wie schon gesagt, es geht in Verbindung mit Abaqus (FEM ...). Bei einem Solid Bauteil (3D Objekt in 3D Raum) läuft das alles bis auf ein paar Probleme was meine Matlabversion und Rechenleistung angeht super. Es kam, was ich wollte.
Wenn ich aber ein Shell benutze (2D Objekt in 3D Raum) geht das nicht. Ich bekomme zwar die Referenzvektoren wie gewohnt, aber kann nicht über die Streamline Methode diese als durchgehende Linien darstellen, wie bei Solids.
Ich möchte jetzt nicht unbedingt den ganzen Code rausschreiben, bringt wohl soweit sowieso nichts weil Werte von sonst wo übernommen werden, die man hier nicht direkt sieht. Aber ich schreiben mal ein paar Zeilen raus, und auch die Stelle, an denen die Probleme anfangen.
Ist nicht einfach Copy Paste, sonder so, dass man hoffentlich genug versteht, was ich damit will
InterpoliereX = scatteredInterpolant(Knoten,Referenzvektoren); %auch für Y und Z
...
X = interpolaniereX({(minX:SchrittweiteX:maxX,minY:SchrittweiteY:maxY,minZ:SchrittweiteZ:maxZ}); %auch für Y und Z
%HIER KOMMEN WARNINGS
Warning: The underlying triangulation is empty - the points may be coplanar or collinear. - das kommt für X Y und Z dann jeweils 1 Warning.
Code:
...
NewX = zeros(size(X,2),size(X,1),size(X,3)); %auch Y und Z
...
jetzt kommt eine Vertauschung von 123 nach 213 der Spalten
%HIER KOMMT FEHLERMELDUNG:
U,V,W must all be a 3D arrays.
Später käme sowas wie
streamline1 = streamline(streamData);
Was kann ich unter dem Warning verstehen. Was heißt das bzw. wann oder wie kommt sowas zustande?
Wieso soll das am Ende kein 3D sein?
Es war doch bei den Solids auch schon 3D. Ich bekommt beim Shell auch X Y und Z als Koordinaten.
Auch wenn ich die ganzen Z-Koordinaten raus nehme, bekomme ich eine Fehlermeldung in der es heißt, dass ich kein 2x2 Array haben soll...
Ich hoffe mir kann jemand helfen. Auch wenn es nur Ideen sind oder Überlegungen könnte es mir helfen!
Lg!
Nudelholz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 25.11.2014, 13:12
Titel:
Ok, ich habe herausgefunden WARUM bei dem Interpolieren Warnings kommen, und demnach auch WARUM beim stream dementsprechend der Fehler kommt.
-->
beim Interpolieren heißt es für jede Koordinate:
Code:
NodeX = scatteredInterpolant(nodeMatrix,referenceVectorMatrix(:,1));
(auch für Y und Z)
später dann jeweils:
X = NodeX({minX:Schritte:maxX,minY:Schritte:maxNodeY,minZ:Schritte:maxZ});
Der Fehler liegt darin, dass beim 2D Modell der allerletzte Schritt (minZ bis maxZ) von 0 bis 0 geht. (Z ist ja überall null)
Aber warum kann ich das dann nicht als 2D stream plotten (mit stream2)?
Ich nehme jeden Bezug zur 3. Dimension raus und bekomme die Fehlermeldung
Error using stream2 (line 47)
U,V must all be size 2x2 or greater.
Hoffe mir kann da jemand helfen. LG
PS: ich weiß, es ist schwer nachzuvollziehen was ich da habe, aber Ideen würden mir wie gesagt bestimmt auch helfen!
Einstellungen und Berechtigungen
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
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.