2

我看到了 CUDA-SDK 中提供的 FDTD3D 示例,但没有关于它的文档。是否有人尝试修改它以计算麦克斯韦方程组的解,或者最好从头开始编写所有内容?

4

1 回答 1

3

这是此处提供的较晚答案,用于从未回答列表中删除此问题。

正如 OP 所提到的,CUDA-SDK 提供了一个 3D 有限差分时域 (FDTD) 求解器,该求解器的描述在论文中提供

P. Micikevicius,“使用 CUDA 在 GPU 上进行 3D 有限差分计算”

该代码已针对 Tesla 卡进行了优化,并使用共享内存来加载 3D 计算域的切片,以实现快速模板评估(减少读取冗余)。该代码不适用于电磁应用,因为更新规则如下:

在此处输入图像描述

但它可以很容易地扩展到电磁学。在这方面实现电磁学 3D FDTD 代码并特别注意模板计算效率的一个很好的参考如下:

V. Demir,AZ Elsherbeni,“基于计算统一设备架构 (CUDA) 的有限差分时域 (FDTD) 实现”,Appl。计算。电磁铁。社会党。J.,卷。25,名词。4,第 303-314 页,2010 年 4 月

它还对有效的模板计算进行了彻底的讨论。电磁场是矢量场,在这种情况下,上述更新方程由电场和磁场三个分量的六个方程代替。例如,x磁场的-分量的更新方程是

在此处输入图像描述

最后,应该提到 CUDA 中 3D FDTD 的另一个讨论来源是 Parallel ForAll 博客,请参阅

CUDA C/C++ 中的有限差分方法,第 1 部分

CUDA C++ 中的有限差分方法,第 2 部分

ps 此答案中出现的公式是使用mimetex生成的。

于 2014-06-08T21:10:28.023 回答