MCTDHTools Code
A library to easily analyse output of the Heidelberg MCTDH code
Brought to you by:
franzismile,
ulflor
== Overview == The Heidelberg MCTDH code seems to be the de-facto standard for MCTDH calculations. However, for all the nice things, it has a few serious drawbacks, which make writing analysis software quite cumbersome. To improve on this, this package provides a couple of classes to simply read in and access the MCTDH output, allowing you to write short, testable programs with all the conveniences that C++ as a modern programming language offers. For more information, see the homepage http://sourceforge.net/p/mctdhtools, especially the wiki. == License == For details on the license of the program, see the LICENSE file == Installation == For details on how to compile everything, see the INSTALLATION file == Brief overview of the build process == The build process is steered by three Makefiles: Makefile Contains all the targets and such. Unless you completely want to change the way how the program is built, you never need to touch this file (I have not touched it for ages). Makefile.rules This file should be copied from Makefile.rules.template and adapted to the system, and sets the various configurable options (where the required libraries are etc.). Makefile.files This files contains all the detailed file and directory information for the compilation process. It should be pretty self-explaining. If you want to add your own source code or tool to the program, you can simply add a line to the corresponding variable in this file. == Brief overview of the code == The package contains several major subdirectories: deploy/ This directory is created at the end of the build process, and contains the library, all header files, and the built tools. include/ This directory contains all header files. src/ This directory contains all source code files. test/ This directory contains all the source code for unit and integration tests. tools/ This directory contains the source code for all the individual tools. To get started with the code, I would strongly suggest you have a look at one of the tools and work your way up from there. Inside the include/, src/ and test/ subdirectories, there is an identical hierarchy that determines what the header files / source code / tests are about. calc Contains helper functions for manipulating a multilayer wave function. exception Contains definitions of the thrown exceptions filedef Contains the complex readers/writers that are used to access or assemble MCTDH output files. grid Some class stubs related to primitive grids. io Classes that deal with reading/writing low-level Fortran output files. stdblock Structures and functions to read in the standard MCTDH headers in the output files. tree Classes and functions to represent, construct, and work with Multilayer data. util Contains general helper functions that are not MCTDH-specific