MUSCLE3
MUSCLE3 is a coupling library for building multiscale simulations out of single-scale models.
Sustaining and improving the MUSCLE3 model coupling framework
MUSCLE3 was developed in the e-MUSC project, which ran from 2016 to 2022, and is now used by researchers in biophysics, materials science, and nuclear fission and fusion research. Over the course of supporting these users, strengths and weaknesses of MUSCLE3 and its approach to coupling have become clear. MUSCLE3 runs the coupled simulation codes in parallel as a cyclic workflow, which is more difficult to think about and also to debug than running them serially driven by a script. On the other hand, it scales much better, and for large, complex simulations these coupling scripts become very difficult to write, perhaps tilting the balance back in favour of the MUSCLE approach. Besides this, MUSCLE3 simulations are often run on HPC machines, which provide an endless stream of technical issues that need to be solved for science to be able to proceed.
The goal of this project is to provide some incremental improvements to MUSCLE3 and its users to help address these issues. Besides fixing bugs and making small improvements, I aim to 1) provide better documentation on integrating MUSCLE3 with various debuggers and IDEs, 2) help users with any issues they encounter and teach them how to resolve them, 3) improve documentation on how to build coupled simulations, describing this more from a physics perspective than a computer science one, and 4) make improvements to MUSCLE3 and QCG-PilotJob to improve reliability of running on HPC machines.
Coupling physics and engineering codes for the experimental fusion reactor ITER
Enhancing multiscale computing with sensitivity analysis and uncertainty quantification
MUSCLE3 is a coupling library for building multiscale simulations out of single-scale models.
Python library for YAML type inference, schema checking and syntactic sugar.