Adding progress bars, on the fly plotting/saving and density matrix Observables #17
+301
−157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds:
Progress bars: implemented in a new src/ file called utilities.jl as a class on which one can iterate and which returns the time step so that we don't have to modify the run_... code too much. For 1TDVP this adds an ETA and for 2TDVP and DTDVP displays the maximum link size. To disable it them one has to add the parameter
progressbar=false
inrunsim
."On the fly": also implemented mainly in the utilities.jl file (and a little in each run_...). Used to display results during simulations or to save temporary data. Simply use the
onthefly
function, which returns a dictionary to be passed in kwargonthefly=
to therunsim
function. This dictionary contains in particular the names of the observables to be saved/plotted, the plot in question, the function used to process the observable and make it possible to graph it, a possible point of comparison on the plot and the number of steps to wait between two saves/graphs. All this is then used by theontheflysave
andontheflyplot
functions in the bodies of the run_... functions.Documentation: everything added above is detailled under the "Advanced" subsection of Methods
RhoReduced
which is a newObservable
that allows to measure several density matrices reduced to 1 or 2 sites.