File:Navier Stokes Laminar.svg
- Податотека
- Историја на податотеката
- Употреба на податотеката
- Глобална употреба на податотеката
- Метаподатоци
Изворна податотека (SVG податотека, номинално 900 × 720 пиксели, големина: 9,37 МБ)
Описи
Опис[уреди]
ОписNavier Stokes Laminar.svg |
English: SVG illustration of the classic Navier-Stokes obstructed duct problem, which is stated as follows. There is air flowing in the 2-dimensional rectangular duct. In the middle of the duct, there is a point obstructing the flow. We may leverage Navier-Stokes equation to simulate the air velocity at each point within the duct. This plot gives the air velocity component of the direction along the duct. One may refer to [1], in which Eq. (3) is a little simplified version compared with ours. |
Датум | |
Извор |
сопствено дело
The following code leverages some numerical methods to simulate the solution of the 2-dimensional Navier-Stokes equation. We choose the simplified incompressible flow Navier-Stokes Equation as follows: The iterations here are based on the velocity change rate, which is given by Or in X coordinates: |
Автор | IkamusumeFan |
Други верзии | |
SVG разработка InfoField | Оваа векторска слика е изработена со Matplotlib |
Изворен код InfoField | Python codefrom __future__ import division
from numpy import arange, meshgrid, sqrt, zeros, sum
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.ticker import ScalarFormatter
from matplotlib import rcParams
rcParams['font.family'] = 'serif'
rcParams['font.size'] = 16
# the layout of the duct laminar
x_max = 5 # duct length
y_max = 1 # duct width
# draw the frames, including the angles and labels
ax = Axes3D(plt.figure(figsize=(10, 8)), azim=20, elev=20)
ax.set_xlabel(r"$x$", fontsize=20)
ax.set_ylabel(r"$y$", fontsize=20)
ax.zaxis.set_rotate_label(False)
ax.set_zlabel(r"$v_x$", fontsize=20, rotation='horizontal')
formatter = ScalarFormatter(useMathText=True)
formatter = ScalarFormatter()
formatter.set_scientific(True)
formatter.set_powerlimits((-2,2))
ax.w_zaxis.set_major_formatter(formatter)
ax.set_xlim([0, x_max])
ax.set_ylim([0, y_max])
# initial speed of the air
ini_v = 3e-3
mu = 1e-5
rho = 1.3
# the acceptable difference when termination
accept_diff = 1e-5
# time interval
time_delta = 1.0
# coordinate interval
delta = 1e-2;
X = arange(0, x_max + delta, delta)
Y = arange(0, y_max + delta, delta)
# number of coordinate points
x_size = len(X) - 1
y_size = len(Y) - 1
Vx = zeros((len(X), len(Y)))
Vy = zeros((len(X), len(Y)))
new_Vx = zeros((len(X), len(Y)))
new_Vy = zeros((len(X), len(Y)))
# initial conditions
Vx[1: x_size - 1, 2:y_size - 1] = ini_v
# start evolution and computation
res = 1 + accept_diff
rounds = 0
alpha = mu/(rho * delta**2)
while (res>accept_diff and rounds<100):
"""
The iterations here are based on the velocity change rate, which
is given by
\frac{\partial v}{\partial t} = \alpha\nabla^2 v - v \cdot \nabla v
with \alpha = \mu/\rho.
"""
new_Vx[2:-2, 2:-2] = Vx[2:-2, 2:-2] + time_delta*(alpha*(Vx[3:-1, 2:-2] +
Vx[2:-2, 3:-1] - 4*Vx[2:-2, 2:-2] + Vx[2:-2, 1:-3] + Vx[1:-3, 2:-2]) -
0.5/delta * (Vx[2:-2, 2:-2] * (Vx[3:-1, 2:-2] - Vx[1:-3, 2:-2]) +
Vy[2:-2, 2:-2]*(Vx[2:-2, 3:-1] - Vx[2:-2, 1:-3])))
new_Vy[2:-2, 2:-2] = Vy[2:-2, 2:-2] + time_delta*(alpha*(Vy[3:-1, 2:-2] +
Vy[2:-2, 3:-1] - 4*Vy[2:-2, 2:-2] + Vy[2:-2, 1:-3] + Vy[1:-3, 2:-2]) -
0.5/delta * (Vy[2:-2, 2:-2] * (Vy[2:-2, 3:-1] - Vy[2:-2, 3:-1]) +
Vx[2:-2, 2:-2]*(Vy[3:-1, 2:-2] - Vy[1:-3, 2:-2])))
rounds = rounds + 1
# copy the new values
Vx[2:-2, 2:-2] = new_Vx[2:-2, 2:-2]
Vy[2:-2, 2:-2] = new_Vy[2:-2, 2:-2]
# set free boundary conditions: dv_x/dx = dv_y/dx = 0.
Vx[-1, 1:-1] = Vx[-3, 1:-1]
Vx[-2, 1:-1] = Vx[-3, 1:-1]
Vy[-1, 1:-1] = Vy[-3, 1:-1]
Vy[-2, 1:-1] = Vy[-3, 1:-1]
# there exists a still object in the plane
Vx[x_size//3:x_size//1.5, y_size//2.0] = 0
Vy[x_size//3:x_size//1.5, y_size//2.0] = 0
# calculate the residual of Vx
res = (Vx[3:-1, 2:-2] + Vx[2:-2, 3:-1] -
Vx[1:-3, 2:-2] - Vx[2:-2, 1:-3])**2
res = sum(res)/(4 * delta**2 * x_size * y_size)
# prepare the plot data
Z = sqrt(Vx**2)
# refine the region boundary
Z[0, 1:-2] = Z[1, 1:-2]
Z[-2, 1:-2] = Z[-3, 1:-2]
Z[-1, 1:-2] = Z[-3, 1:-2]
Y, X = meshgrid(Y, X);
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="summer", lw=0.1,
edgecolors="k")
plt.savefig("Navier_Stokes_Laminar.svg")
|
Лиценцирање[уреди]
- Можете:
- да споделите – да го умножувате, распространувате и емитувате делото
- да преработувате – да преработувате
- Под следните услови:
- наведи извор – Ќе мора да дадете прикладен припис, да ставите врска до лиценцата и да укажете дали има направено промени. Ова може да биде направено на било кој разумен начин, но без да оддава впечаток дека лиценцодавецот стои зад Вас и Вашата употреба.
- сподели под исти услови – Ако го измените или преобразите делото, или пак ако основате друго дело на него, добиеното дело (придонесот) морате да го распространувате (објавувате) само под истата или складна лиценца на изворната.
- ↑ Fan, Chien, and Bei-Tse Chao. "Unsteady, laminar, incompressible flow through rectangular ducts." Zeitschrift für angewandte Mathematik und Physik ZAMP 16, no. 3 (1965): 351-360.
Историја на податотеката
Стиснете на датум/време за да ја видите податотеката како изгледала тогаш.
Датум/време | Минијатура | Димензии | Корисник | Коментар | |
---|---|---|---|---|---|
тековна | 01:06, 15 март 2016 | 900 × 720 (9,37 МБ) | Nicoguaro (разговор | придонеси) | Smaller version | |
00:58, 15 март 2016 | 900 × 720 (11,08 МБ) | Nicoguaro (разговор | придонеси) | Change the jet colormap, since it is recognized as a bad option, in general. Formatting, and pythonic code (and vectorized operations). | ||
23:34, 6 ноември 2014 | 720 × 540 (14,23 МБ) | IkamusumeFan (разговор | придонеси) | User created page with UploadWizard |
Не можете да презапишете врз податотекава.
Употреба на податотеката
Податотекава се користи во следниве 5 страници:
Глобална употреба на податотеката
Оваа податотека ја користат и следниве викија:
- Употреба на ar.wikipedia.org
- Употреба на ary.wikipedia.org
- Употреба на bcl.wikipedia.org
- Употреба на ca.wikipedia.org
- Equació diferencial
- Anàlisi d'elements finits
- Plantilla:Equacions Diferencials
- Retrat de fase
- Mètode del volum finit
- Equació característica (càlcul)
- Equació diferencial homogènia
- Estabilitat de Liapunov
- Exponent de Liapunov
- Estabilitat exponencial
- Estabilitat estructural
- Teoria de les pertorbacions
- Teoria de la pertorbació (mecànica quàntica)
- Estabilitat marginal
- Recurrència lineal amb coeficients constants
- Principi màxim
- Principi de màxim de Hopf
- Mètodes numèrics per a equacions diferencials ordinàries
- Употреба на cy.wikipedia.org
- Употреба на en.wikipedia.org
- Употреба на eu.wikipedia.org
- Употреба на hi.wikipedia.org
- Употреба на hy.wikipedia.org
- Употреба на id.wikipedia.org
- Употреба на ja.wikipedia.org
Погледајте ја останатата глобална употреба на податотекава.
Метаподатоци
Оваа податотека содржи дополнителни информации, најверојатно додадени од дигиталниот апарат или отсликувач. Ако притоа податотеката претрпела промени, некои податоци може да не соодветствуваат во целост по промената на податотеката.
Ширина | 720pt |
---|---|
Висина | 576pt |