如何计算 2D 和 3D 矢量场的亥姆霍兹分解?

计算科学 matlab 数学 向量
2021-12-15 04:46:13

我有一个包含 3D 位置和速度的 100 个粒子的样本。我想将速度矢量场分解为其无旋度和无散度分量

使用 Python、Matlab 或 Mathematica 对采样数据这样做是否可行?

1个回答

简短的回答是“这取决于”。

当然,您可以尝试在您的采样数据上找到亥姆霍兹分解,并找到您的无旋和螺线管分量。但是,对您开始使用的原始矢量场有一定的要求。通常,您尝试分解的矢量场必须足够平滑衰减迅速通常,这对应于矢量场F在某个有界域上连续两次可微V, 和F衰减速度比1/r, 导致

F=Φ+×A
标量势分解Φ(对于无旋分量)和矢量势A(用于螺线管组件)。

现在,你必须知道你的向量场来自哪里(什么物理学),才能首先回答亥姆霍兹分解对连续问题的适用性问题然后,如果是肯定的,您必须确保您的离散化(采样)足以捕捉原始字段的行为。

我还会考虑 Hodge-Helmholtz 分解,除了无旋和螺线管分量之外,还可以提取谐波分量。最近的一篇论文,E. Ahusborde等人,“离散霍奇亥姆霍兹分解”,Monografías Matemáticas,第一卷。39, pp. 1–10, 2014可能有用。