Note: This section is currently undergoing updates and changes. Please bear with us as we improve the OpenSim documentation.
OpenSim provides several mechanisms for extending its existing capabilities by either adding new model elements, computing new quantities, or computing existing quantities in a new way. For example, you may want to model the drag acting on bodies moving through a fluid, which OpenSim does not provide. Another example is being able to extract the linear and angular momenta of the model during a simulation. In order to extend OpenSim, it is important to know what functionality exists and have a sense of where to add new functionality. OpenSim can be extended by using its API, or Application Programming Interface, through C++, Matlab, or Python.