矢量场可视化工具 返回
Vector Field Visualizer

矢量场·流线·梯度场可视化工具

实时可视化均匀流·点源·点涡·偶极子等矢量场。流线·散度·旋度彩色图显示。点击画布从任意点追踪流线。

场设置
场类型
强度1.00
源位置 x0.00
源位置 y0.00
叠加(第二个源)
第二个场
第二个场强度1.00
流动动画与显示
流动粒子数300

点击画布追踪流线;移动光标可探测该点的散度与旋度。

计算结果
探针 X
探针 Y
散度 ∇·F
旋度 ∇×F
|F| 模值
分类
流动粒子数
平均速度 |F|
矢量场 — 箭头网格 + 流动粒子(点击追踪流线)
箭头网格 F 流动粒子(advection) 流线 探针
理论与主要公式

$$\mathbf{F}(x,y) = P(x,y)\,\mathbf{i} + Q(x,y)\,\mathbf{j}$$

二维矢量场:为每个点分配一个具有大小和方向的矢量。流动粒子按 $\dot{x}=P,\ \dot{y}=Q$ 用 RK4 积分前进。

$$\nabla \times \mathbf{F} = \left(\frac{\partial Q}{\partial x} - \frac{\partial P}{\partial y}\right)\mathbf{k}$$

二维旋度(涡量):表示涡旋强弱与方向的标量场

$$\nabla \cdot \mathbf{F} = \frac{\partial P}{\partial x} + \frac{\partial Q}{\partial y}$$

散度:表示流体涌出·吸入的强弱(在不可压缩流中为0)

已知解校验中…

什么是矢量场与流线

🙋
“矢量场”听起来好抽象啊,它到底是什么?
🎓
简单来说,矢量场就是给空间里每个点都分配一个有方向、有大小的小箭头。比如你想象一下刮风时的气象图,每个地方的风速和风向就是一个小箭头,整张图就是一个风矢量场。在我们的模拟器里,你可以试着在左上角选择“均匀流”,然后拖动“强度”滑块,就能看到整个场里所有箭头的方向和大小一起变化,是不是很直观?
🙋
诶,真的吗?那“流线”又是什么?和那些箭头有什么关系?
🎓
流线就是一条假想的、始终和矢量场箭头方向相切的曲线。你可以把它想象成在河里放很多小树叶,每片树叶的瞬时运动轨迹连起来就是流线。在实际工程中,比如设计飞机机翼,工程师就要看气流流线是否平滑,有没有分离。在模拟器里,你勾选“显示流线”后,就能看到这些曲线。试着把场类型换成“点源”,流线会从中心点像光线一样放射出来,非常有趣!
🙋
原来如此!那“散度”和“旋度”的颜色图又是啥意思?感觉好难。
🎓
别怕,用颜色来表示就很简单。散度(∇·F)看的是一个点像“水源”还是“水漏”。红色表示流体从这里“冒出来”(正散度),蓝色表示“吸进去”(负散度)。旋度(∇×F)看的是一个点附近流体是否在“打转”。比如你选“点涡”场,中心旋度很大,颜色就会很深。工程现场常见的是,分析水泵叶轮内部的流场,就要特别关注高旋度区域,那里能量损耗大。你可以在模拟器里叠加一个“均匀流”和一个“点涡”,看看流线怎么扭曲,散度旋度图怎么变,马上就能明白!

物理模型与关键公式

矢量场的散度,描述场在某点“发散”或“汇聚”的强度。可以理解为该点处单位体积的通量源强度。

$$\nabla \cdot \mathbf{F}= \dfrac{\partial F_x}{\partial x}+ \dfrac{\partial F_y}{\partial y}$$

其中,$\mathbf{F}= (F_x, F_y)$ 是矢量场,$\nabla \cdot \mathbf{F}\gt 0$ 表示该点是“源”(如流体涌出), $\nabla \cdot \mathbf{F}\lt 0$ 表示该点是“汇”(如流体被吸入)。

矢量场的旋度(二维时为z分量),描述场在某点附近的旋转趋势或“涡旋”强度。

$$(\nabla \times \mathbf{F})_z = \dfrac{\partial F_y}{\partial x}- \dfrac{\partial F_x}{\partial y}$$

$(\nabla \times \mathbf{F})_z$ 的绝对值越大,表示该点流体旋转的角速度越大。在无旋场(势场)中,此项处处为零。

现实世界中的应用

空气动力学设计:在汽车和飞机外形设计中,工程师通过分析绕物体的流线分布,优化造型以减少阻力。例如,模拟器中的“均匀流”绕“圆柱”的流线图,可以直观展示尾涡的形成,这与实际汽车后视镜产生的风噪研究直接相关。

电磁场分析:静电场和静磁场本质上也是矢量场。点源场类似于点电荷的电场,偶极子场类似于磁铁的磁场。在利用有限元软件进行复杂仿真前,可以用此工具快速验证场分布的物理直觉,比如两个靠近的异号电荷(偶极子)其远处电场衰减得非常快。

流体机械内部流场:分析水泵、风机叶轮内部的流动。叶轮既是“源”(推动流体)也是“涡”(使流体旋转)。通过组合点源和点涡场,可以近似模拟这种复杂流动,并观察高旋度区域(可能对应气蚀或能量损失区)。

结构力学中的主应力线:在CAE结构分析中,构件内部各点的应力状态可以构成一个应力张量场,其主方向可以绘制成类似流线的“主应力迹线”。这有助于工程师直观判断力流的传递路径,从而在关键路径上加强设计,或预测裂纹可能的扩展方向。

常见误解与注意事项

开始使用此工具时,有几个容易误解的地方需要注意。首先,“箭头长度代表向量模值,但为了可视化效果已自动进行缩放”。重力井中心附近理论上会趋近无穷大,但在工具中已按最大长度截断显示。因此,模值的比较最好通过色彩映射来确认。例如,电偶极子电荷附近呈现深红色的区域,才是场强实际最大的位置。

其次,“散度和旋度的数值取决于计算范围(微分Δx)”。工具通过光标周围若干像素进行数值微分计算。因此对于变化剧烈的场,光标移动一个像素就可能导致数值大幅波动。在实际使用CAE软件时,也应始终牢记网格密度会决定这些微分值的精度。

最后,需要理解二维显示的局限性。此工具仅可视化二维切片,而现实物理现象大多是三维的。例如,即使屏幕上显示的是均匀流动(均匀场),实际上可能是沿深度方向存在涡旋的“螺旋流”。在二维中显示散度为零的场,在三维中可能因存在 $ \frac{\partial F_z}{\partial z} $ 项而导致整体非零,这种情况十分常见。

使用指南

  1. 在fx和fy表达式框输入矢量场分量公式,如均匀流设fx=-1, fy=0;点源设fx=strengthVal*(x-srcX)/((x-srcX)^2+(y-srcY)^2), fy=strengthVal*(y-srcY)/((x-srcX)^2+(y-srcY)^2)
  2. 通过滑块调整点源强度(strengthSlider)、源点位置(srcXSlider/srcYSlider),实时更新流场矢量和流线分布
  3. 点击流域任意点触发流线追踪,可视化流体沿矢量场方向的运动轨迹;切换显示模式查看散度云图(∇·F)和旋度云图(∇×F的z分量)

具体计算示例

圆柱绕流模型:设均匀流速度U∞=1m/s与点涡(强度Γ=2π)叠加,源点位于(0,0)。在观察点(0.5, 0.5)处,流速u约为1.2m/s,局部压力系数Cp≈-0.44(根据Bernoulli方程)。散度云图显示点涡周围为零(旋转流无源),旋度分布在涡核半径R=0.1m处达最大ω_z=20rad/s,与Γ/(πR²)相符。

实务注意事项

  1. 点源奇点处(x=srcX, y=srcY)流速趋于无穷,网格计算应预设防护半径(如0.05倍域长)避免数值溅射
  2. 偶极子(点源+点汇并排放置,间距δ→0)可用来模拟圆柱绕流的无环流条件,验证势流理论与实验升力的偏离原因
  3. 旋度为零的势流(∇×F=0)在流线追踪中应表现为光滑曲线无拧转;若出现涡旋应检查表达式中是否含反对称项
  4. 导出流线数据时注意采样步长Δt=0.01对应合理的网格Courant数,过大导致流线跳跃,过小致计算超时