我看到了CUDA-SDK中提供的FDTD3D示例,但没有关于它的文档。有人试图修改它来计算麦克斯韦方程的解决方案,或者最好从头开始编写所有内容吗?
答案 0 :(得分:3)
这是一个迟到的答案,用于从未答复的列表中删除此问题。
正如OP所提到的,CUDA-SDK提供了一个3D有限差分时域(FDTD)求解器,并在论文中提供了该求解器的描述
P. Micikevicius, "3D Finite Difference Computation on GPUs using CUDA"
该代码已针对特斯拉卡进行了优化,并使用共享内存加载3D计算域的切片,以实现快速模板评估(减少读取冗余)。该代码不适用于电磁应用,因为更新规则如下:
但它可以很容易地扩展到电磁学。在这方面,实施电磁学3D FDTD代码并特别注意模板计算效率的一个很好的参考如下:
还提供了有效模板计算的详尽讨论。电磁场是矢量场,并且在这种情况下,上述更新方程由电场和磁场的三个分量的六个等式代替。例如,磁场的x
- 分量的更新等式是
最后,应该提到的是,CUDA中3D FDTD的另一个讨论来源是Parallel ForAll博客,请参阅
Finite Difference Methods in CUDA C/C++, Part 1
和
Finite Difference Methods in CUDA C++, Part 2
P.S。此答案中出现的公式是使用mimetex生成的。