KIFMM3d Download and Installation
The Kernel-Independent Fast Multipole (FMM) 3D code (kifmm3d) requires
the installation of several libraries. Before downloading the kifmm3d
code, make sure to install the necessary libraries listed on the links page.
Download
The most current version of the code and documentation can be
downloaded here
Compilation and Testing
Once the Necessary libraries are installed and running properly, you
can compile the FMM code as follows:
- go to directory kifmm3d/common and type:
make
- go to directory kifmm3d/fmm3d_mpi and type:
make
- go to directory kifmm3d/fmm3d_mpi and type:
make tt0
make tt1
To run the test examples, do the following:
-
1. For non-uniform data distribution:
go to kifmm3d/fmm3d, and do the following:
(1) For single layer laplace kernel, low accuracy, type:
mpirun -np N tt0 -options_file options_0
(2) For double layer stokes kernel, mid accuracy, type:
mpirun -np N tt0 -options_file options_1
(3) For single layer navier kernel, high accuracy, type:
mpirun -np N tt0 -options_file options_2
- 2. For uniform data distributino
go to kifmm3d/fmm3d_mpi, and do the following:
(1) For single layer laplace kernel, low accuracy, type:
mpirun -np N tt1 -options_file options_0
(2) For double layer stokes kernel, mid accuracy, type:
mpirun -np N tt1 -options_file options_1
(3) For single layer navier kernel, high accuracy, type:
mpirun -np N tt1 -options_file options_2
Similar instructions are available for the sequential code in the home
directory of the code. However,
instead of running the sequential code, we suggest installing the
parallel code and using mpirun with the number of processors set to
1. Example: mpirun -np 1 tt0 -options_file options_0
The above statement runs the code tt0 on one processor, and this will
work for PETSc installed properly on a uni-processor machine.
|