[go: up one dir, main page]

Menu

Tree [15109d] v0.0.3 /
 History

HTTPS access


File Date Author Commit
 deploy 2013-09-06 Ulf Lorenz Ulf Lorenz [8659fb] Cleanup: centralized the Makefile
 doc 2014-03-23 Ulf Lorenz Ulf Lorenz [cfdd1c] Task 37: added convenience function to calculat...
 include 2014-04-13 Ulf Lorenz Ulf Lorenz [15109d] finished release; updated readme, changelog and...
 src 2014-03-31 Ulf Lorenz Ulf Lorenz [4c910d] Task 32: got rid of a few warnings
 test 2014-04-13 Ulf Lorenz Ulf Lorenz [6d05bd] Task 32: finished with some header cleanup
 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 2013-03-22 Ulf Lorenz Ulf Lorenz [9f157e] added license files
 Makefile 2014-04-02 Ulf Lorenz Ulf Lorenz [c5cb9b] Task 32: cleaned up tensor_utils test helpers
 Makefile.config.template 2014-03-31 Ulf Lorenz Ulf Lorenz [4c910d] Task 32: got rid of a few warnings
 Makefile.files 2014-04-06 Ulf Lorenz Ulf Lorenz [152721] Task 32: added a few tests for the new test uti...
 NEWS 2014-04-13 Ulf Lorenz Ulf Lorenz [15109d] finished release; updated readme, changelog and...
 README 2014-04-13 Ulf Lorenz Ulf Lorenz [15109d] finished release; updated readme, changelog and...

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.

As of now, you can solve the Schroedinger or Liouville-von-Neumann equation
using ordinary differential equation solvers; the selection of implemented
operators effectively restricts the current implementation to harmonic oscillators.
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
    (run the configure script with --with-fftw)
* The boost libraries from http://www.boost.org
  - I _think_ boost 1.49 (stone old) should be fine, since you need a separate
    copy of odeint anyway.
* 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 and googletest (included with googlemock) for compiling the tests 
  (tested with 1.6.0 and 1.7.0) 
  - 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.).