Coder Social home page Coder Social logo

pgmg's Introduction

PGMG: An MPI-based parallel geometric multigrid library in C++

PGMG is a software library for solving a class of elliptic partial differential equations on three-dimensional rectangular grids using the multigrid method.

Compiling the code examples

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

Contact

For questions about the code, contact Chris Rycroft.

Acknowledgments

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.

Bibliography

  1. James W. Demmel, Applied Numerical Linear Algebra, SIAM (1997). doi:10.1137/1.9781611971446

  2. William L. Briggs, Van Emden Henson, and Steve F. McCormick, A Multigrid Tutorial, Second Edition, SIAM (2000). doi:10.1137/1.9780898719505

  3. 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

  4. 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

pgmg's People

Contributors

chr1shr avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.