Skip to content
A parallel kernel-independent FMM library for particle and volume potentials
C++ Shell M4 Makefile C Cuda Fortran
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc New repo for PvFMM Jan 31, 2014
examples Prepend PVFMM_ to all preprocessor macros Mar 14, 2019
include Prefix PVFMM_ to remaining preprocessor macros Mar 31, 2019
m4 Disable Intel offload builds Oct 26, 2018
scripts Add scripts for Stampede2 and increase max-depth to 30 levels Mar 22, 2019
src Prefix PVFMM_ to remaining preprocessor macros Mar 31, 2019
.gitignore Fix multiply defined symbols. Jul 31, 2014
.travis.yml Move README to README.md Oct 27, 2018
AUTHORS Move README to README.md Oct 27, 2018
COPYING New repo for PvFMM Jan 31, 2014
ChangeLog New repo for PvFMM Jan 31, 2014
Doxyfile
INSTALL Prepend PVFMM_ to all preprocessor macros Mar 14, 2019
MakeVariables.in Prepend PVFMM_ to all preprocessor macros Mar 14, 2019
Makefile.am Fix openmp bug in example-f.f90 Nov 19, 2018
NEWS New repo for PvFMM Jan 31, 2014
README.md Move README to README.md Oct 27, 2018
TODO
aminclude.am
autogen.sh New repo for PvFMM Jan 31, 2014
configure.ac Move README to README.md Oct 27, 2018

README.md

PVFMM Build Status

What is PVFMM?

PVFMM is a library for solving certain types of elliptic partial differential equations.

  • We support Stokes, Poisson, and Helmholtz problems on the unit cube, with free-space or periodic boundary conditions, with constant or mildly varying coefficients. Our method is based on volume potential integral equation formulation accelerated by the Kernel Independent Fast Multipole Method.

How to get PVFMM

For the latest stable release of PVFMM visit pvfmm.org

License

PVFMM is distributed under the LGPLv3 licence. See COPYING in the top-level directory of the distribution.

Installing PVFMM

To install PVFMM, follow the steps in the INSTALL file, which is located in the top directory of the source distribution.

Using PVFMM

The file examples/Makefile can be used as a template makefile for any project using the library. In general the MakeVariables file should be included in any makefile and CXXFLAGS_PVFMM and LDFLAGS_PVFMM should be used to compile the code.

Two very simple examples illustrating usage of the library are available: For particle N-body : examples/src/example1.cpp For volume potentials: examples/src/example2.cpp

To compile these examples: make examples/bin/example1 make examples/bin/example2

  • The volume potentials example will take a long time, the first time it is used, since it has to precompute quadrature rules. This data is saved to a file and used for subsequent runs. See INSTALL for the configure option '--with-precomp-dir=DIR' to set the default path for precomputed data.

Acknowledgment

This software has been developed as part of the work supported by,

  • US National Institutes of Health/10042242
  • US Department of Energy/DE-SC0010518
  • US Department of Energy/DE-SC0009286
  • US National Science Foundation/CCF-1337393
  • US Air Force Office for Scientific Research /FA9550-12-10484

The authors would also like to thank ORNL/OLCF and TACC for providing access to computing resources for the development, testing and benchmarking of this software.

You can’t perform that action at this time.