在这一篇中将结合前两篇中介绍的底层数据结构和FFT实现,介绍第二篇中提到的CalculateHartreeSB子程序中分块算法是如何实现的,并与第一篇的计算流程进行对照。
Small Box FFT学习笔记(五):分块算法的实现
发表评论
在这一篇中将结合前两篇中介绍的底层数据结构和FFT实现,介绍第二篇中提到的CalculateHartreeSB子程序中分块算法是如何实现的,并与第一篇的计算流程进行对照。
本篇主要介绍程序中底层FFT调用,主要参考的是FFTP.f90文件(串行版本是FFTS.f90)中的Fourier_new模块。
本文是SBFFT学习笔记的第三篇,这一篇中主要介绍在这一算法中用到的各种网格所使用的数据结构,以及与不同网格数据相互转换的子程序。
Small box fast Fourier transform(SBFFT)算法是一种将空间分为小块并行进行傅里叶变换的算法,其优点在于相比传统的基于一维数据划分的FFT算法可以使用更多的核。本系列文章是学习这一算法在求解泊松方程相关代码的笔记,本文是其中的第一篇,主要参考了文献 [1]。