Developer Guidelines

The MCTDH-X program package uses Mercurial as a version management and provides a documentation in .pdf format as well as a .html code documentation generated by Doxygen. Generally, if you are planning to implement something useful it is recommended to browse the code documentation in documentation/html/index.html to find out in which module to start. The package developers will also be happy to help you with this.

In writing code, please stick to the following principles:

  1. develop code in different branches of the repository (see section 7 below for how to create/manage branches)
  2. write code that is readable (use indentation and obvious variable and subroutine names)
  3. write code that is modular (group written subroutines or variable declarations into modules)
  4. use CamelCase naming conventions, where appropriate. Every new word in declarations (of subroutines, variables or modules) should start with a capital letter. For subroutines and modules their action(s) are prefixed with an underscore, like for instance
    Get_KineticEnergyAction_AllOrbitals.
  5. update this manual with new functionality and user guidance
  6. add code documentation that doxygen can process, i.e., start commented lines with !> or !<. This is especially crucial for new subroutines, such that other users are able to understand how your routine works and may use or further develop it.
  7. share your version by commiting it to your working copy and letting the developers know, such that your development branch can be merged and tested to enter the next release of the package (see paragraph on the version management below).
  8. use the test-script testMCTDHX.sh to test your developments against reference values.

Back to http://ultracold.org