Computer modelling is a key tool for understanding of the Earth's evolution. Models need to be able to link long-range effects such as wave propagation and convection with small-scale effects such as rupture and melting. This requires a geometrical representation, for instance through a finite element mesh or a filling of particles, with a sufficiently fine level of details and consequently leads to computationally intensive simulations even to run a single model. Therefore computational geoscientists need to have access to modern supercomputers but also to modelling software which runs efficiently on these computers.
In order to provide scientists with the suitable computational tools the development of modelling software for high-performance computing (HPC) is a core activity at ESSCC. The Center is developing the packages EsyS-Particle which is based on the discrete element method (DEM) and finley which is based on the finite element method (FEM). The packages are implemented in C/C++ and are using the OpenMP and MPI paradigm for parallelization. To achieve efficiency and scalability data structures and algorithms are especially designed to meet the requirements of modern HPC architectures.
For a particular application the usage of basic software tools such as finley and EsyS-Particle can be time consuming and frustrating for scientist without strong software engineering skills. To simplify the implementations of new models and simulations for geoscientists script-based user interfaces have been developed. Similar to MATLAB they allow scientists to access tools for visualization and mesh generation and to quickly develop and run even complex simulations for the desktop computer as well as high-end parallel supercomputers. Based on finely escript provides an environment to solve complex partial-differential equations in Python.