User philosophy

We have defined five users of RUMD:
  1. A user at level 1 is one who can write or copy a simple python script (for example the one given later in this tutorial) to run a standard molecular dynamics simulation, and use the provided analysis tools to perform standard analysis of the output. This user can make some basic choices, such as the potential, the integrator, and controlling the frequency of output.
  2. This user understands the deeper structure of the code—that is the different kinds of classes/objects, the relations between them, and their interfaces—and understands how the python language works, and can therefore write more sophisticated python scripts which access the full power and flexibility of RUMD.
  3. A user at level 3 is one with minimal experience in C++ can write her own (pair-)potential functions, to be available as classes derived from PairPotential.
  4. This user can write their own analysis programs in C++, but does not need to know anything about GPU programming, since analysis is generally carried out on the CPU.
  5. RUMD developer. Must have a good knowledge of C++, CUDA programming and knowledge of Subversion.
This tutorial will bring you from level 1 to level 3. Note that level 3 is higher than level 2 in that it requires the user to write some C++ code and re-compile the code, but that involves a relatively limited list of things to do. Level 2, which stays at the python level, but involves access to almost all of the underlying C++ functionality, could take longer to master.