Articles | Volume 18, issue 22
https://doi.org/10.5194/gmd-18-9149-2025
© Author(s) 2025. This work is distributed under the Creative Commons Attribution 4.0 License.
Matter (v1): an open-source MPM solver for granular matter
Download
- Final revised paper (published on 27 Nov 2025)
- Preprint (discussion started on 01 Apr 2025)
Interactive discussion
Status: closed
Comment types: AC – author | RC – referee | CC – community | EC – editor | CEC – chief editor
| : Report abuse
-
RC1: 'Comment on egusphere-2025-1157', Anonymous Referee #1, 09 May 2025
- AC1: 'Reply on RC1', Lars Blatny, 26 Aug 2025
-
RC2: 'Comment on egusphere-2025-1157', Anonymous Referee #2, 30 May 2025
- AC2: 'Reply on RC2', Lars Blatny, 26 Aug 2025
Peer review completion
AR – Author's response | RR – Referee report | ED – Editor decision | EF – Editorial file upload
AR by Lars Blatny on behalf of the Authors (28 Aug 2025)
Author's response
Author's tracked changes
Manuscript
ED: Referee Nomination & Report Request started (29 Aug 2025) by Thomas Poulet
RR by Anonymous Referee #2 (30 Aug 2025)
RR by Anonymous Referee #1 (15 Sep 2025)
ED: Publish subject to minor revisions (review by editor) (16 Sep 2025) by Thomas Poulet
AR by Lars Blatny on behalf of the Authors (26 Sep 2025)
Author's response
Author's tracked changes
Manuscript
ED: Publish as is (30 Sep 2025) by Thomas Poulet
AR by Lars Blatny on behalf of the Authors (30 Sep 2025)
Manuscript
The authors present Matter, a code package written in C++ to simulate the flow and mechanics of granular media using the material point method (MPM). In general, the article is well-written with good English and describes a code package which has clear use cases (for example avalanche research and modelling) and clearly benefits the scientific community. The theoretical foundation is sound, and the chosen computational method suits well the intended uses.
The code itself seems to be well thought out in terms of organization and adheres to good coding practices. The package was easy to set up in Windows and VSCode thanks to the clear instructions, and it was simple to run the included example on granular collapse. I modified the example script for a few different cases and animated the results with the help of the included Python post-processing script. Everything ran smoothly without issues.
For the above reasons I am happy to recommend the paper to be published. I have written down a few minor comments below that I’d like the authors to consider first, however, but feel free to only make those changes which you also feel will improve manuscript.
- Introduction: Positioning Matter better in the context of existing open source MPM solvers for granular media.
Discussing more specifically the advantages Matter provides compared to existing (open source) codes would, in my opinion, strengthen the paper and the impact of Matter further. Highlighting the differences to other codes would also help the reader to understand in which case would it be beneficial to use Matter over, for example, the sparse-memory-encoding GPU framework described by Chen et al. (2025) that the authors cite.
- Code validation: The authors have done a set of validation tests against analytical solutions which show expected behaviour. Furthermore, the effect of various particle-grid transfer schemes is shown. These provide confidence in the code, but if there exists an “industry standard” code which implements some relevant constitutive laws and rheologies, a comparison in some simple case between the results of that code and Matter would be useful for further validation (I am not familiar enough with the field to say what the code and example should be). However, the already presented validation tests are sufficient.
- Paper organization: Section 7 on elasto-viscoplastic models currently seems out of place with regards to the rest of the paper. In my opinion it would be clearer if these models were described with the theory and other models available in the code, before validation and examples.
- Examples: I would like to see estimates of the compute times for the first two examples as well. There are compute times reported in Table 1 for a case similar to the first example (in Figure 9), but they don’t seem to be the same.
- The source code: Readability of the code is on a good level, although could always be improved for newcomers to the software, for example by being even more explicit about the variable names (as an example, the names of the different plasticity models in “plasticity.cpp”, such as DPSoft, DPVisc, DPMui, could be given more descriptive names or comments in the code on what they are, even though they are stated in the readme.md). But this is just a minor point, and it probably doesn’t make sense to start changing variable names now.
- Typos and small changes: