You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python通过积分从二维流场x、y速度分量计算流函数?

二维流场流函数计算的实现尝试

最近我在处理二维流场的流函数计算,已知流场的x和y方向速度分量u、v,按照指定的流函数定义,参考了一种分步积分的方法——先对某一行的v分量做积分,再对所有位置的u分量积分,最后把这两部分结果叠加起来(我理解的是这样)。目前先写了一段基础代码片段,如下:

from scipy import integrate
import numpy

# 生成网格数据
y = numpy.linspace(0, 10, 40)
x = numpy.linspace(0, 10, 50)
X, Y = numpy.meshgrid(x, y)

# 这里可以补充定义x和y方向的速度分量u、v
# u = ...
# v = ...

# 流函数计算核心逻辑
# 先对y=0那一行的v分量沿x方向积分
psi_v = integrate.cumtrapz(v[0, :], x, initial=0)
# 对每个x位置的u分量沿y方向积分
psi_u = numpy.zeros_like(X)
for i in range(len(x)):
    psi_u[:, i] = integrate.cumtrapz(u[:, i], y, initial=0)
# 叠加得到最终流函数
psi = psi_u + psi_v

注:上面的代码补充了流函数计算的核心逻辑,你可以根据实际的u、v定义来调整,要是积分过程中遇到边界条件或者精度问题,还可以进一步优化细节~

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:55:56