Introduction to model coupling


  • Crossing the scales
  • Modularity
  • Flexibility
  • Performance

Model coupling theory: the Multiscale Modelling and Simulation Framework


  • Physical processes take place on a domain and at certain scales in time and space
  • Simulation models are described by the Submodel Execution Loop
  • Given two models and their domains and scales, we can decide which coupling template to use to connect them
  • An MMSL diagram can be used to visualise a complete coupled simulation

MUSCLE3 - connecting a model to MUSCLE


  • MUSCLE3 implements the MMSF theory, using the same terminology and MMSL for configuration of the coupled simulation
  • First analyze your code to find the Submodel Execution Loop structure
  • MUSCLE lets the submodels communicate through messages, containing model states and simulation times

MUSCLE3 - coupling and running


  • Models may differ in which ports they have and when they send and receive
  • The yMMSL file discribes components, conduits, settings and resources
  • Running the coupled simulation can be done from a Python script
  • For larger simulations and C++ and Fortran, submodels run as separate programs via the MUSCLE3 manager