Users can upgrade to OpenSim 3.1 from OpenSim 3.0 without any major changes to their models or simulation workflows. A few upgrade notes for users:

1) If you are using Matlab scripting, you will need to re-run the set-up process to direct Matlab to the appropriate libraries for 3.1. See Scripting with Matlab.

2) Several objects and functions have been deprecated in OpenSim 3.1. Although the following objects and functions are still available in OpenSim, we advise removing them from your code and workflows since they will be removed in future releases:

  • The use of control constraints for RRA has been deprecated. This option is no longer exposed in the GUI, although old setup files with control constraints will still work as in previous releases. Users should set appropriate limits via the actuator file. For an example, see the gait10dof18musc example included with the release of 3.1.
  • In GUI scripting, the function addModel is deprecated. Users should switch to loadModel.
  • In both Matlab and GUI scripting, OpenSimContext, PropertyHelper, and ArrayDouble are deprecated. These helper functions are no longer necessary since Simbody classes such as State and Vec3 have been exposed. For more information, see Common Scripting Commands.
  • In Matlab scripting, the setDebugLevel method is no longer necessary. Messages are automatically logged.
  • Users should call updWorkingState rather than updDefaultState.
  • Several methods were moved from SimbodyEngine to Model. See the doxygen for more information. Users should switch to these new functions.

3) In the GUI, the option "Preview motion data…" (in the File menu) has been changed to "Preview experimental data…" to reduce confusion with loading motions (.mot or .sto files in the OpenSim format).

4) We made several updates and bug fixes to the Millard muscles, though these updates should have minimal impact on users:

  • Muscle curves are handled as OpenSim functions (to allow for plotting in the GUI via scripting).
  • Function integrals are only calculated if needed, speeding up computation time.
  • The bug fix to calculation of the deactivation time constant may lead to small changes in results. In particular, in 3.0 the time constant was being multiplied by (0.5 + 1.5*activation), when it should have been divided by this value. This bug had a minimal effect on the gait workflow results (i.e. the bug and subsequent fix did not change the API test suite results).
  • The steady state activation for the muscle models now reaches the value of the steady state control
  • Additional clean-up to the code and documentation to improve readability and consistency with the main OpenSim codebase.

5) The interface to MuscleMetabolicPowerProbeUmberger2010 has evolved during the preparation for the official release of OpenSim 3.1. Users of the metabolic probes in earlier beta releases of the software should load models containing metabolic probes in the OpenSim GUI and resave to update.