用python语言12步求解纳维斯托克斯方程

import numpy as np
import sympy
校园网规划设计
from sympy import init_printing
init_printing(use_latex=True)
x, nu, t = sympy.symbols('x nu t')
phi = p(-(x-4*t)**2/(4*nu*(t+1))) + p(-(x-4*t-2*np.pi)**2/(4*nu*(t+1)))
亿目phi
phiprime = phi.diff(x)
phiprime
print phiprime
from sympy.utilities.lambdify import lambdify
王子伦理
u = -2*nu*(phiprime/phi)+4
print u
ufunc = lambdify((t, x, nu), u)
print ufunc(1,4,3)
粮油加工与食品机械import matplotlib.pyplot as plt
###variable declarations
nx = 101
nt = 100
dx = 2*np.pi/(nx-1)
nu = .07
dt = dx*nu
x = np.linspace(0, 2*np.pi, nx)
#u = np.empty(nx)
un = np.empty(nx)
t = 0
u = np.asarray([ufunc(t, x0, nu) for x0 in x])上海天平
u
plt.figure(figsize=(11,7), dpi=100)
plt.plot(x,u, marker='o', lw=2)
plt.xlim([0,2*np.pi])
plt.ylim([0,10])
plt.show()
for n in range(nt):
un = u.copy()
for i in range(nx-1):
u[i] = un[i] - un[i] * dt/dx *(un[i] - un[i-1]) + nu*dt/dx**2*\
(un[i+1]-2*un[i]+un[i-1])
u[-1] = un[-1] - un[-1] * dt/dx * (un[-1] - un[-2]) + nu*dt/dx**2*\
(un[0]-2*un[-1]+un[-2])
7月份CPI同比上涨
u_analytical = np.asarray([ufunc(nt*dt, xi, nu) for xi in x])
plt.figure(figsize=(11,7), dpi=100)
plt.plot(x,u, marker='o', lw=2, label='Computational')
plt.plot(x, u_analytical, label='Analytical')
plt.xlim([0,2*np.pi])
plt.ylim([0,10])
plt.legend()
plt.show()

本文发布于:2024-09-21 05:34:36,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/584107.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设计   食品机械   天平   月份   规划
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议