Datei:Stream function.png
Erscheinungsbild
Aus MOOCsWiki Staging
Größe dieser Vorschau: 300 × 600 Pixel. Weitere Auflösungen: 120 × 240 Pixel | 600 × 1.200 Pixel.
Originaldatei (600 × 1.200 Pixel, Dateigröße: 201 KB, MIME-Typ: image/png)

🌐Deutsch
Personen-Konto
Werkzeuge
Seitenwerkzeuge
Diese Datei stammt aus Wikimedia Commons und kann von anderen Projekten verwendet werden. Die Beschreibung von deren Dateibeschreibungsseite wird unten angezeigt.
NEWS0LernweltNOAH fragenBeschreibung
| BeschreibungStream function.png |
English: The w:stream function (below) can be used to make streamlines in velocity fields (red, above). |
| Datum | |
| Quelle | Eigenes Werk |
| Urheber | Nanite |
| PNG‑Erstellung InfoField |
Lizenz
Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
| Diese Datei wird unter der Creative-Commons-Lizenz CC0 1.0 Verzicht auf das Copyright zur Verfügung gestellt. | |
| Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
Source code
Python source code.
#!/usr/bin/python3
"""
Make a stream function for a vector field.
We are going to cheat a bit for simplicity - make the stream function first
then derive vector field from it.
"""
import numpy as np
from matplotlib import pyplot as plt
# make a 1001 x 1001 grid
x = np.linspace(0,10,1001)
y = np.linspace(0,10,1001)[:,None]
dx = x[1]-x[0]
dy = y[1,0] - y[0,0]
extent = (x[0] - 0.5*dx, x[-1] + 0.5*dx, y[0,0] - 0.5*dy, y[-1,0] + 0.5*dy)
def vort(x0,y0,r):
return -np.log(np.sqrt((x - x0)**2 + (y - y0)**2 + r**2))
# construct some stream function with
# overall background flow in x direction
streamfunc = 0*x + 0.15*y
# put an irrotational vortex (singular) with negative vorticity
streamfunc -= 0.50 * vort(3.5,4.5,0)
# make a spread-out vortex with positive vorticity
streamfunc += 0.40 * vort(7,6,0.5)
# Create a hole in the domain by cutting off the singular vortex
streamfunc[(streamfunc < (+0.0)) & (y>2)] = np.nan
streammin = np.nanmin(streamfunc)
streammax = np.nanmax(streamfunc)
#calculate velocities; just forward difference for laziness.
ux = np.diff(streamfunc,axis=0) / dy
uy = np.diff(streamfunc,axis=1) / -dx
Nlevels = 9
contour_levels = (np.arange(0.5,(Nlevels+1))/(Nlevels+1)) * (streammax - streammin) + streammin
fig = plt.figure(figsize=(2,4), dpi=300)
# bottom axes: 3D plot
ax = fig.add_axes((0,0,1,0.5),projection = '3d', computed_zorder=False)
ax.view_init(30, -60, 0)
ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])
ax.plot_surface(x, y, streamfunc, cmap='RdYlGn',
linewidth=0, antialiased=False,
)
ax.contour(x,y[:,0],streamfunc, levels=contour_levels, colors='k', linestyles='--', linewidths=0.5, zorder=1000)
ax = plt.axes((0,0.5,0.997,0.5))
ax.set_xticks([])
ax.set_yticks([])
# draw the hole in the domain as gray
plt.imshow(np.isnan(streamfunc), origin='lower', extent=extent, cmap='gray_r', vmin=0,vmax=4)
# plot every 67th velocity arrow
slicer = slice(33,None,67)
plt.quiver(x[slicer], y[slicer,:], ux[slicer,slicer], uy[slicer,slicer], scale=8., width=0.015, color='red')
plt.contour(x,y[:,0],streamfunc, levels=contour_levels, colors='k', linestyles='--', linewidths=0.75)
fig.savefig('stream function.png')
fig = plt.figure(figsize=(2,2), dpi=300)
ax = plt.axes((0,0,0.997,1))
plt.imshow(streamfunc, extent=extent, origin='lower')
plt.contour(x,y[:,0],streamfunc, levels=contour_levels, colors='k', linestyles='--', linewidths=0.75)
fig.savefig('stream function imshow.png')
Kurzbeschreibungen
Ergänze eine einzeilige Erklärung, was diese Datei darstellt.
The [[:w:stream function]] (below) can be used to make streamlines in velocity fields (red, above).
In dieser Datei abgebildete Objekte
Motiv
Einige Werte ohne einen Wikidata-Eintrag
3. März 2025
205.968 Byte
1.200 Pixel
600 Pixel
image/png
c41fdc2061b5dd7981e876f272522383dbf64a82
Dateiversionen
Klicke auf einen Zeitpunkt, um diese Version zu laden.
| Version vom | Vorschaubild | Maße | Benutzer | Kommentar | |
|---|---|---|---|---|---|
| aktuell | 05:49, 8. Mär. 2025 | 600 × 1.200 (201 KB) | wikimediacommons>Nanite | using actual compact vortices now (formula wrong before) |
Dateiverwendung
Die folgende Seite verwendet diese Datei:
Metadaten

🌐Deutsch
Personen-Konto
Werkzeuge
Seitenwerkzeuge
Diese Datei enthält weitere Informationen, die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.
| Software |
|
|---|---|
| Horizontale Auflösung | 118,11 dpc |
| Vertikale Auflösung | 118,11 dpc |
NEWS0LernweltNOAH fragen