Skip to content

Commit

Permalink
TL: prepared article release
Browse files Browse the repository at this point in the history
  • Loading branch information
tlunet committed Apr 27, 2023
1 parent 20ba1a4 commit a529695
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 323 deletions.
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,36 @@
## Code repository for the Generating Function Method
# 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 currently depends on classical python packages like [Numpy](https://numpy.org/) and [Matplotlib](https://matplotlib.org/),
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](https://arxiv.org/pdf/2203.16069.pdf). To appear in SIAM Journal of Scientific Computing._
Scripts used to generate the figures in the paper below are available in the [outputs](./outputs/README.md) folder.

# How to run the code

> :mega: 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](https://learn.microsoft.com/de-de/windows/wsl/install) on Windows to emulate a Ubuntu system and then use the instructions below).
The library currently depends on classical python packages like [Numpy](https://numpy.org/) and [Matplotlib](https://matplotlib.org/),
plus an external package for the generation of quadrature nodes for collocation methods, [Pythag](https://gitlab.com/tlunet/pythag).
More informations on how Pythag can be installed and used [here](./doku/pythag.md).

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](https://github.com/Parallel-in-Time/gfm/issues) in the Github interface.

### Repository structure
## Repository structure

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

### Acknowledgements
## Acknowledgements

This repository results from a collaboration between Jülich Supercomputing Centre
([Robert SPECK](https://www.fz-juelich.de/SharedDocs/Personen/IAS/JSC/EN/staff/speck_r.html)),
Expand Down
173 changes: 0 additions & 173 deletions outputs/01_SISC/comparison.py

This file was deleted.

124 changes: 0 additions & 124 deletions outputs/01_SISC/convergence.py

This file was deleted.

4 changes: 1 addition & 3 deletions outputs/01_SISC/fig_STMG.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 11 09:55:06 2022
@author: telu
Additional figures for numerical experiments with (S)TMG
"""
import numpy as np
import matplotlib.pyplot as plt
Expand Down
6 changes: 2 additions & 4 deletions outputs/01_SISC/fig_blockSDC.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 7 15:27:24 2022
@author: telu
Generate Figure 7
"""
import numpy as np
import matplotlib.pyplot as plt

from gfm.base import GFMSolver
from gfm.util import setFig, getLastPlotCol

s = GFMSolver(lam=1j, u0=1, dt=0.01*np.pi, L=100)
s = GFMSolver(lam=1j, u0=1, dt=0.1*np.pi, L=10)

fineMethod = 'COLLOCATION'
deltaMethod = 'BE'
Expand Down
4 changes: 1 addition & 3 deletions outputs/01_SISC/fig_comparison.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 11 10:44:29 2022
@author: telu
Generate Figure 9
"""
import numpy as np
import matplotlib.pyplot as plt
Expand Down
Loading

0 comments on commit a529695

Please sign in to comment.