Finally, the models class automatizes the generation of default SBMOpenMM system-class objects containing the default force field parameters to create coarse-grained or all-atom (AA) SBMs, or their corresponding multi-basin versions, ready to be simulated with the OpenMM engine. This class works as a container of current pre-defined SBMs, and it is the place for future SBM implementations. Here, the sbmAA object, created with SBMOpenMM, contains the SBM "topology," "system," and "positions" attributes that are to be passed to the OpenMM library. After the sbmAA object is created, the usual steps for running simulations with OpenMM follow. First, an OpenMM integrator object is created and loaded into an OpenMM simulation object. Here, we pass the topology and OpenMM system attributes contained in the sbmAA object. Then, the initial positions in the sbmAA object are passed to the simulation OpenMM context attribute. In the example, to write simulation data into files, we define two reporter classes; a trajectory reporter (an OpenMM DCDReporter class) and a state data reporter (StateDataReporter class) for storing energies and other simulation parameters. The sbmReporter is an inherited class of the OpenMM StateDataReporter that allows communicating the SBM energies if an SBM object (here sbmAA) is passed to it with the sbmObject option. Finally, the last line in the code will advance the simulation for n_steps number of steps, thus starting the MD simulation.