使用标量势法去磁场

计算科学 傅立叶分析 电磁学
2021-12-22 03:05:40

我想使用标量势法 (1) 计算来自铁磁体的杂散磁场。该问题由一个铁磁长方体分成小的长方体单元组成,其中磁化M假定为常数。为此,我必须评估一个卷积积分,离散化为 3D - 卷积和(假设所有磁化矢量都指向z-轴)

ϕ(ri)=jSz(rirj)Mz(rj)

在哪里ϕ是标量势和ri是一个单元格的位置向量,并且Sz是已知函数。解决方案是通过 FFT

ϕ=F1(F(Sz)F(Mz)).

我很难理解,尤其是矩阵表示Sz,以及如何使用 FFT 进行卷积。

参考

  1. 阿伯特,克拉斯等人。“一种使用磁标量势的微磁快速有限差分方法。” IEEE Transactions on Magnetics 48.3 (2011): 1105-1109。
1个回答

我想我看到了混乱。

引用出版物的公式 14 表明Sz是标量场而不是矩阵。中出现的 i、j 和 k 分量Sz等式 17 中的定义是传递给F(x,y,z)在等式 16 中定义。也就是说,F(x,y,z)返回一个标量。

执行 3D 傅里叶变换Sz在 python 中,请参阅

https://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.fftn.html

但更好的方法是在包含数值近似的 3D 网格上使用 scipy fft convolveSzMz.

https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.fftconvolve.html

这样做将处理与手动 FFT 卷积相关的填充、居中等繁琐的复杂性。此方法的最终结果是您正在寻找的最终结果。