|
1 | 1 | # DGMG |
2 | | -### Created by: Niccolò Discacciati (EPFL, Lausanne) |
| 2 | +### Created by: Niccolò Discacciati (EPFL, Lausanne), Forked and Updated by Will Sawyer (CSCS/ETH) |
3 | 3 | ### Code available at: |
4 | | -`https://github.com/nickdisca/DG_code/` |
| 4 | +`https://github.com/vectorflux/DG_code/` |
| 5 | + |
| 6 | +### Date: 16 March, 2020 |
| 7 | + |
| 8 | +**Latest update** On the "devel" branch there is now a refactored version of Nick's code which uses a simple {i,j,n} structure over all arrays (i over the X and j over the Y dimension, n over the number of equations). Besides being easier to read than the old verion, this one has a structure which is compatible with the GridTools library, and therefore might serve as a basis to port the algorithm to Python, possibly using the GT4Py extension. |
| 9 | + |
| 10 | +This version is run out of **driver_new.m**, which has the same parameters as the origin **driver.m** code described below. The revised functions generally have the suffix **new**, although be aware that not all the functions with that suffix are actually used. The full implementation of the original code is still present in the **devel** branch and essentially unchanged. This allows for direct comparisons between the two versions for debugging. |
| 11 | + |
| 12 | +### Overview |
5 | 13 |
|
6 | | -### Date: 11 October, 2019 |
7 | 14 |
|
8 | 15 | **DGMG** is a modal RKDG-solver written in MATLAB, which can handle conservation laws in both cartesian and spherical coordinates (MG stands for 'MultiGeometry'), with a support for variable degree in space ('static adaptivity'). Details about DG discretization methods can be found in, e.g. |
9 | 16 |
|
|
12 | 19 | A more detailed description is provided in, e.g., |
13 | 20 |
|
14 | 21 | - S. Carcano. “Finite volume methods and Discontinuous Galerkin methods for the numerical modeling of multiphase gas-particle flows.” Doctoral Thesis. Politecnico di Milano, 2014. |
15 | | -- G. Tumolo, L. Bonaventura. “A semi-implicit, semi-Lagrangian Discontinuous Galerkin framework for adaptive numerical weather prediction.” Q.J. Royal Meteorological Society, 2015.- G. Tumolo, L. Bonaventura, M. Restelli. “A semi-implicit, semi-Lagrangian, p-adaptive dis- continuous Galerkin method for the shallow water equations.” Journal of Computational Physics (2013). |
| 22 | +- G. Tumolo, L. Bonaventura. “A semi-implicit, semi-Lagrangian Discontinuous Galerkin framework for adaptive numerical weather prediction.” Q.J. Royal Meteorological Society, 2015. |
| 23 | +- G. Tumolo, L. Bonaventura, M. Restelli. “A semi-implicit, semi-Lagrangian, p-adaptive dis- continuous Galerkin method for the shallow water equations.” Journal of Computational Physics (2013). |
16 | 24 |
|
17 | 25 | Interesting test cases are provided in |
18 | 26 |
|
@@ -90,4 +98,4 @@ u0_fun=@(x,y) sin(2*pi*x).*sin(2*pi*y); |
90 | 98 | ## Known issues |
91 | 99 | * Even though the qualitative behavior in spherical coordinates is correct, the convergence analysis seems to give a sub-optimal order. |
92 | 100 | * In order to support static adaptivity, the computational time is quite large. Even though minor optimizations could be done, we believe that to obtain significant speedup one should consider implementations in other languages. |
93 | | -* Dynamic adaptivity is not handled at the moment. Even though the code can easily handle it, the computational performance would drastically drops. This happens because several operations have to be repeated at each time step (e.g., computing the mass matrix), causing a huge overhead. |
| 101 | +* Dynamic adaptivity is not handled at the moment. Even though the code can easily handle it, the computational performance would drastically drops. This happens because several operations have to be repeated at each time step (e.g., computing the mass matrix), causing a huge overhead. |
0 commit comments