Description
-----------
This update is quite extensive feature wise, hence justifying the version jump. The most important new feature is the addition of cleanup tasks, which can used to remove operators from finished simulations at the moment. This helps to save a lot of disk space without losing track of the operator state, the operators are simply recreated on the next run.
Another big feature is the WaveFunctionDB facility which allows to create a central place where wave functions are computed on-demand. The user can build the wave function construction protocol like a normal simulation and request wave functions by parameter from any place.
An important change is the usage of SGE job arrays when submitting to a SGE cluster. This reduces the load of the scheduler and the time it takes to submit big chunks of jobs. Furthermore, job arrays have some benefits when it comes to management as all jobs share the same ID.
Additionally various small fixes (especially regarding some path problems) are included.
Included Commits:
-----------------
- 054b7b7: Reformat code and implement some of the pylint suggestions.
- 4d28cb0: Format code using yapf.
- bd68ef7: Fix some minor bugs.
- 4c18d85: Remove spectrum calculation from OperatorSpecification. It is not needed anymore since operators can be removed now after finishing the work.
- 59d3419: Add clean functionality tasks. Can be very helpful to remove operators after completion of simulation.
- 363d420: Get rid of the additional parentheses due to the new class-based approach to tasks.
- 36e16ea: Add some type hints to the task classes.
- 0801729: Move mctdhb wave function operations into classes.
- ef0b946: Move wave function request into a seperate class.
- 50170e4: Move computation of one-body spectrum into a class.
- 086bc06: Move propagate, (improved) relaxation and exact diagonalization in corresponding classes.
- aaf673a: Move mb operator creation to a class.
- b5eb99b: Move operator creation to a class.
- 144f55c: Move code to compute variance into a class.
- 7aeec91: Move expectation value computation to a class.
- 6abc873: Add option to calculate one-body spectra from OperatorSpecification directly; very helpful to save disk space when the operator file is not really needed.
- ccafdd4: Use SGE job arrays for simulation sets/parameter scans/etc. to reduce the load on the scheduler and the expenditure of time when submitting.
- d7c9d57: Fix another path issue.
- b966180: Implement the computation of a one-body spectrum as a task.
- f3f5816: Introduce well asymmetry to double gaussian well system.
- 264c2aa: Stop WaveFunctionDB from failing due to missing working directory.
- 7ea5f60: Fix storing missing/existing wave functions to prevent duplicates.
- 4a76bee: Continue implementation of WaveFunctionDB; fix a lot of cwd issues in the general code.
- 77e9c09: Implement the DB structure.
- a24a75a: Start working on the wave function DB feature.
- 4defff6: Also write parameters of scan as a pickle.
- f96fc38: Disable debug logging; add function to chain parameter generators/iterables.
- 87d7165: Fix qsub for SimulationSet (again). Hopefully, for good this time.
- 3b8fc2e: Fix qsub for parameter scan.
- 0134b4f: Fix a bug in harmonic trap scan example.
- d9492c5: Add preliminary README.md.