Mesh Generation for Computational Science in Python
Ich habe ein Bedürfnis für ein Python-Modul/- Paket bietet ein Gitter, auf dem ich tun kann, computational science? Tue ich nicht-Grafik, also ich denke nicht, dass die blender-Paket ist, was ich will.
Kennt jemand ein gutes Paket?
- Ein Gitter für was? Eine planare region? Eine Oberfläche? Eine solide? Welche Art von Berechnung wollen Sie tun, auf dem Netz?
- Ich habe gerade einen 1+ D kartesischen Gitter; d.h., viele Kisten. Ich bin mir nicht sicher, welche Art von Berechnungen, die ich tun werde (noch). Ich versuche nur, um mich vorbereitet, wenn ich die Berechnungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden, wenn Sie versuchen zu lösen, FE-oder CFD-Stil Gleichungen auf einem Gitter, die Sie verwenden können MeshPy in 2 und 3 Dimensionen. Meshpy ist ein netter wrapper um die vorhandenen Werkzeuge tetgen und Dreieck.
Wenn Sie auf der Suche nach mehr typische Grafik-Stil Maschen, es war ein interessanter Vortrag bei PyCon 2011 "Die Algorithmische Erzeugung von OpenGL Geometrie", die beschrieben werden, einen pragmatischen Ansatz für die prozedurale mesh generation. Der code aus der Präsentation zur Verfügung online
Wenn Sie Interesse an der Rekonstruktion von Oberflächen anhand von Daten, Sie kann nicht gehen, vorbei an der Standford 3D Scanning Repository, der Heimat der Stanford Bunny
Edit:
Einer Abhängigkeit freie alternative kann sein, etwas zu verwenden, wie gmsh, das ist Plattform-unabhängig und verwendet ähnliche tools zu meshpy in Ihre back-end.
Nützlich, die meisten Pakete gibt es vielleicht
Habe ich ein repo präsentiert eine Reihe von Beispielen.
(Disclaimer: ich bin der Autor von pygmsh, pygalmesh, und dmsh.)
Empfehle ich die Verwendung von NumPy (vor allem, wenn Sie verwendet haben, MATLAB vor). Vielen computational Wissenschaftler /Maschinenbau-Ingenieure arbeiten in python könnte Stimmen, aber ich bin voreingenommen, wie es gefunden, es ist so viel in dem letzten Jahr meiner Forschung. Es ist ein Teil von SciPy: http://numpy.scipy.org/
Ich war fasziniert von numpy.linspace(a,b,N), das einen N-Vektor der Länge äquidistante Werte von a bis b. Sie können mit numpy.ndarray, um eine N x M-matrix, oder wenn Sie möchten 2D-arrays mit numpy.meshgrid.