Quantarhei User Level Classes and Objects

In Quantarhei, classes are losely grouped into three categories. First, there is agroup of classes, which represent basic concepts of quantum mechanics, provide access to important implementations of spectroscopic simulations and dynamics of open quantum systems, and classes which allow basic management of the simulation environment and numerical results. These classed are called user level classes, and they are all accessible in highest namespace level of the Quantarhei package. If you import Quantarhei like this:

>>> import quantarhei as qr

you can access user level classes through the qr. prefix, e.g.

>>> manager = qr.Manager()
>>> print(manager.version)
0.0.63

The list of user level classes is provided below. Tue latest and most uptodate information can be obtained by viewing the source code of the root __init__.py file of the packages. All classes imported there are considered user level classes.

Other Class Levels

In this documentation we recognize two more groups (or levels) of classes. More specialized classes, which normal user does not need as often as the user level classes are called advanced level classes. These use the second level name space. For instance the class SystemBathInteraction is relatively rarely used directly. It is therefore hidden in the name space qm (as quantum mechanics) of the package. This class can be instantiated e.g. like this

>>> import quantarhei as qr
>>> sbi = qr.qm.SystemBathInteraction()

Advanced level classes are still intendend for relatively frequent use by the user. However, in order to reduced the apparent complexity of basic usage of Quantarhei, advanced level classes are documented in their respective sub-packages, one level deeper than user level classes. Complete documentation of advanced level classes is available in the Advanced Level Classes section of this documentation.

Everything else in Quantarhei package goes under the banner of expert level classes. This includes all classes and objects used internally in Quantarhei. We make every effort to document also this part of the package as completely as possible, but it is the last item on the list, so to say. The user is welcome to learn and use the expert level classes, but our aim is to structure Quantarhei in such a way, that this is not necessary. More on expert level classes in the section in Quantarhei internals.

User Level Objects and Convenience Functions

Besides classes, Quantarhei also defines some user level objects and convenience functions. They are listed here under several categories

Numeric types

Logging Functions and Loglevels

quantarhei.assert_version(check, vno)[source]

Throws an exception if the condition is not satisfied

quantarhei.exit(msg=None)[source]

Exit to the level above the script with SystemExit exception

quantarhei.savefig(fname)[source]

Saves current plot to a file

This function is used to avoid explicit import of matplotlib

quantarhei.show_plot(block=True)[source]

Shows current plot

This function is used to avoid explicit import of matplotlib

quantarhei.stop(msg=None)[source]

Stop execution and leave to level above