Skip to content

Parallel-in-Time/gfm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code repository for the Generating Function Method

This repository contains a python code library and scripts implemented for the development of the Generating Function Method (GFM), which intends to describe and analyze the main current iterative PinT algorithms within a common framework (Parareal, MGRIT, PFASST, STMG, ...).

It is associated to the following publication :

Gander, M. J., Lunet, T., Ruprecht, D., & Speck, R. (2023). Gander, M. J., Lunet, T., Ruprecht, D., & Speck, R. (2022). A Unified Analysis Framework for Iterative Parallel-in-Time Algorithms. To appear in SIAM Journal of Scientific Computing.

Scripts used to generate the figures in the paper below are available in the outputs folder.

How to run the code

📣 Instructions are given for Unix-based system (Linux, MacOSX, ...). Sadly, Windows systems are not supported (and will probably never ... but you can still use WSL on Windows to emulate a Ubuntu system and then use the instructions below).

The library currently depends on classical python packages like Numpy and Matplotlib, plus an external package for the generation of quadrature nodes for collocation methods, Pythag. More informations on how Pythag can be installed and used here.

Additionally, figures are cropped using pdfcrop, which should be installed prior on your system.

If you have any issue with running the code, don't hesitate to open an issue in the Github interface.

Repository structure

  • doku : Markdown documentation pages.
  • gfm : Python library for the gfm package.
  • notes : Jupyter notebooks with small numerical investigations on PinT methods using the gfm library.
  • outputs : scripts to reproduce the figures of a manuscript on the GFM method (in preparation).
  • tutorials : Jupyter notebooks with example and tutorials on how to use the gfm library.

Acknowledgements

This repository results from a collaboration between Jülich Supercomputing Centre (Robert SPECK), Hamburg University of Technology (Daniel RUPRECHT, Thibaut LUNET) and the University of Geneva (Martin J. GANDER), as part of the Time-X project.

                  

This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 955701 (Time-X). The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Belgium, France, Germany, and Switzerland. This project also received funding from the German Federal Ministry of Education and Research (BMBF) grant 16HPC048.