Ich versuche, die Vtk-Bibliothek unter Python zu verwenden, um Stromlinien für einen Datensatz zu verfolgen. Ich brauche die Positionen entlang Stromlinien für weitere Berechnungen. Es ist mir jedoch nicht gelungen, die Daten aus dem vtk StreamLine-Objekt zu extrahieren.So extrahieren Streamline-Daten von vtk StreamTracer Objekt
Ich arbeite unter IPython (Python 2.7.12) mit einer Paraview-Bibliothek Version 5.0.1.
Derzeit bin Laden ich die Daten, die Samen der Einrichtung und verfolgen die Stromlinien:
import paraview.simple as pv
b0vtk = pv.LegacyVTKReader(FileNames=['B0.vtk'])
streamTracer = pv.StreamTracer(Input=b0vtk, SeedType='Point Source')
streamTracer.Vectors = ['POINTS', 'bfield']
streamTracer.MaximumStreamlineLength = 50
streamTracer.SeedType.Center = [0, 0, 0]
streamTracer.SeedType.NumberOfPoints = 1000
streamTracer.SeedType.Radius = 1.6
streamTracer.UpdatePipeline()
Der letzte Schritt scheint tatsächlich die Stromlinien zu verfolgen.
Gemäß der Dokumentation sollte dies Polylinien (Zellendaten) als Ausgabe erzeugen, die die tatsächlichen Feldlinien sind, und die Daten mit den Positionen entlang der Feldlinien zeigen. Allerdings konnte ich das nirgendwo im StreamLine-Objekt finden. Die vorhandenen Zelldaten scheinen unterschiedlich zu sein.