Numerical simulations involving multiple, physically different domains can be solved effectively by coupling simulation programs, or solvers. The coordination of the different solvers is commonly handled by a coupling shell. A coupling shell synchronizes the execution of the solvers and handles the transfer of data from one physical domain to another. In this paper, we introduce Flecs, a flexib...