[go: up one dir, main page]

Menu

Tree [d8a6c7] v0.1 /
 History

HTTPS access


File Date Author Commit
 Demos 2014-10-10 Ulf Lorenz Ulf Lorenz [4fa34c] Task 44: updated and finalized the squeezed sta...
 deploy 2013-09-06 Ulf Lorenz Ulf Lorenz [8659fb] Cleanup: centralized the Makefile
 doc 2014-08-27 Ulf Lorenz Ulf Lorenz [e121cd] Task 40: started work on the actual Redfield Bu...
 include 2014-11-13 Ulf Lorenz Ulf Lorenz [f6192b] Task 41: fixed an error and used a simpler func...
 src 2014-11-09 Ulf Lorenz Ulf Lorenz [9eac9f] Task 41: Made RedfieldBuilder return the operat...
 test 2014-11-16 Ulf Lorenz Ulf Lorenz [d8a6c7] Finishing touches for the release:
 CONTRIBUTORS 2013-09-16 Ulf Lorenz Ulf Lorenz [135bb4] added a contributor and changelog file. A bit l...
 GPL.txt 2013-03-22 Ulf Lorenz Ulf Lorenz [9f157e] added license files
 LICENSE 2014-11-16 Ulf Lorenz Ulf Lorenz [d8a6c7] Finishing touches for the release:
 Makefile 2014-07-13 Ulf Lorenz Ulf Lorenz [ba365a] Task 38: Now test summaries are also output as xml
 Makefile.config.template 2014-07-30 Ulf Ulf [75d6dc] updated requirements and default settings
 Makefile.files 2014-11-02 Ulf Lorenz Ulf Lorenz [a03cb9] Task 41: added a bit of documentation on the te...
 NEWS 2014-11-16 Ulf Lorenz Ulf Lorenz [d8a6c7] Finishing touches for the release:
 README 2014-11-16 Ulf Lorenz Ulf Lorenz [d8a6c7] Finishing touches for the release:

Read Me

Description
===========

This is a C++ library to numerically solve the Schroedinger equation for
distinguishable particles.

The code is under the GNU General Public License; see the accompagnying license
file for the lawyer text.

The current status in brief:
- you can solve the Schroedinger and the Liouville-von-Neumann equations
- Lindblad and Redfield dissipation is implemented
- only equally-spaced grids / plane wave expansions are implemented
- operators are defined for harmonic and Morse oscillators
- Runge-Kutta and Bulirsch-Stoer propagators are implemented

Also, there is some optimization lacking for complex Hamiltonians etc.
Naturally, we plan to extend this in the nearer future.


System requirements
===================

To be able to compile the code at all, you need the following:

* a compiler that implements the latest C++-11 standard.
  One of the later g++ (around version 4.7) or CLang++ version 3.2 should be fine.
* the tensor library that we use
    - clone it via git from https://github.com/juanjosegarciaripoll/tensor.git
    - compile and install it (usual autoconf setup)
    - note that you will need to enable FFTW support, which also requires the fftw libraries
      (run the configure script with --with-fftw)
* The boost libraries from http://www.boost.org
    - You need at least boost version 1.52
* The odeint library; although this is part of boost, we use some features that
  will only become available in boost 1.55 or 1.56, so you need a separate copy.
    - get it from via git from https://github.com/headmyshoulder/odeint-v2.git
* googlemock 1.7.0 for compiling the tests
  (also googletest, but this is included in googlemock)
    - get it from http://code.google.com/p/googletest/


Compilation and getting started
===============================

To compile the code, copy the file "Makefile.config.template" to Makefile.config,
modify the settings in there, and type "make".
This will build the code and all tests, and run all tests.
To get a feeling for the code, have a look at the files in test/acceptance, these
are explicitly meant as templates for real calculations (as well as complex tests
to check that the code is correct)

You can build the documentation using "make build-doc". This requires doxygen, and
constructs a documentation in the directory ./built-doc.  There is currently no
tutorial or such, only the documentation of the single classes grouped into
various modules (operators, propagators etc.).