我看到了 CUDA-SDK 中提供的 FDTD3D 示例,但没有关于它的文档。是否有人尝试修改它以计算麦克斯韦方程组的解,或者最好从头开始编写所有内容?
问问题
2083 次
1 回答
3
这是此处提供的较晚答案,用于从未回答列表中删除此问题。
正如 OP 所提到的,CUDA-SDK 提供了一个 3D 有限差分时域 (FDTD) 求解器,该求解器的描述在论文中提供
P. Micikevicius,“使用 CUDA 在 GPU 上进行 3D 有限差分计算”
该代码已针对 Tesla 卡进行了优化,并使用共享内存来加载 3D 计算域的切片,以实现快速模板评估(减少读取冗余)。该代码不适用于电磁应用,因为更新规则如下:
但它可以很容易地扩展到电磁学。在这方面实现电磁学 3D FDTD 代码并特别注意模板计算效率的一个很好的参考如下:
它还对有效的模板计算进行了彻底的讨论。电磁场是矢量场,在这种情况下,上述更新方程由电场和磁场三个分量的六个方程代替。例如,x
磁场的-分量的更新方程是
最后,应该提到 CUDA 中 3D FDTD 的另一个讨论来源是 Parallel ForAll 博客,请参阅
和
ps 此答案中出现的公式是使用mimetex生成的。
于 2014-06-08T21:10:28.023 回答