I am building an astrodynamic simulator in Simulink, that simulates both real physics and control algorithms for a spacecraft. The idea is that all the control part will be transformed into C code (and possibily part of the physics simulation). I have never used the Simulink coder, so I'm not sure about how it works yet.
I'm wondering, when building up the various pieces of the simulator, should I prefer using combinations of Simulink blocks (say for example a control logic, or writing math for simulating some physics effects), or is it better to write MATLAB functions, given my goal of using the Simulink coder in the future? What is the difference between the two approaches? Also, in terms of running Simulink simulations only, is there a difference between using the two (e.g. using one or the other is better for execution and/or compiling speed)