I would propose to use the Simscape package from the Mathworks to solve the problem. Simscape is easy to build, understand, and update/revise. You can treat the Simscape model as a blackbox in a Simulink model if you don't want to understand the detail. Please send me your project description such that I can send you a more detail proposal.