PGMG is a software library for solving a class of elliptic partial differential equations on three-dimensional rectangular grids using the multigrid method.
The code is written in C++ and has been tested on Linux, MacOS, and Windows (via Cygwin).The following documentation assumes you are familiar with the Linux/Mac/Cygwin command-line interface.
To compile the code it is necessary to create a common configuration file called config.mk in the parent directory where the pgmg repository is stored. Several templates are provided in the config directory. To use, copy one of the templates into the parent directory. From the pgmg directory, on a Linux computer, type
cp config/config.mk.linux ../config.mk
On a Mac using GCC 10 installed via MacPorts, type
cp config/config.mk.mac_mp ../config.mk
On a Mac using GCC installed via Homebrew, type
cp config/config.mk.mac_hb ../config.mk
On a Windows computer with Cygwin installed, type
cp config/config.mk.win_cw ../config.mk
After this, the code examples can be compiled by typing
make
For questions about the code, contact Chris Rycroft.
This work has been partially supported by the National Science Foundation under Grant Nos. DMR-1409560 and DMS-1753203, and by the Applied Mathematics Program of the U.S. DOE Office of Science Advanced Scientific Computing Research under contract number DE-AC02-05CH11231.
-
James W. Demmel, Applied Numerical Linear Algebra, SIAM (1997). doi:10.1137/1.9781611971446
-
William L. Briggs, Van Emden Henson, and Steve F. McCormick, A Multigrid Tutorial, Second Edition, SIAM (2000). doi:10.1137/1.9780898719505
-
Nicholas M. Boffi and Chris H. Rycroft, Parallel three-dimensional simulations of quasi-static elastoplastic solids, Comput. Phys. Commun. 257, 107254 (2020). doi:10.1016/j.cpc.2020.107254
-
Nicholas M. Boffi and Chris H. Rycroft, Coordinate transformation methodology for simulating quasistatic elastoplastic solids, Phys. Rev. E 101, 053304 (2020). doi:10.1103/PhysRevE.101.053304