To facilitate collaborative research on models and methods, one subproject of the research unit will develop an open-source library that allows to couple different codes via an adaptive hierarchical mesh infrastructure. This flexibility enables each researcher to use the simulation programs that are most suitable to address their respective challenges. The software library will be written in the Julia Programming Language, a high-performance, compiled programming language, which allows scripting-style coding with dynamic types and which provides reproducible environments. Julia seamlessly interacts with many scientific programming languages such as C/C++, Python, and Fortran, acting as a natural “lingua franca” between existing software projects. With its package infrastructure, Julia ensures easy reproducibility of numerical results across different computing systems and architectures.
Not all projects of this research unit will rely on Julia. Several project will utilize existing simulation codes independent of Julia. However, the Julia platform will be used to allow the combination and communication of various heterogeneous software packages and corresponding application programming interfaces in Julia will be developed.