TestAggregate

Class to support tests on Aggregate class

This class provides an easy access to a prefilled, but not initiallized object of the Aggregate class. These can be used for testing and demonstration. There are several types of aggregates available, distinguished by the name argument of the constructor.

TestAggregates Provided

Below we list the valid values for the name argument of the TestAggregate constructor:

dimer-2 :
Dimer of two-level molecules, with positions in space and transition dipole moments specified. No environment is defined.
dimer-2-env :
Dimer of two-level molecules, with positions in space and transition dipole moments specified. For each molecule we define energy gap correlation function (energy gao correlation functions on different sites are not correlated).
homodimer-2 :
Homo-dimer of two-level molecules (molecules with the same energy gaps), with positions in space and transition dipole moments specified. No environment is defined.
homodimer-2-env :
Homo-dimer of two-level molecules, with positions in space and transition dipole moments specified. For each molecule we define energy gap correlation function (energy gao correlation functions on different sites are not correlated).

Class Details

class quantarhei.builders.aggregate_test.TestAggregate(name=None)[source]

Class to support tests on Aggregate class

Parameters:name (str) – Name characterizing the test aggregate.

Examples

General dimers

>>> # Dimer of two-level systems
>>> tagg = TestAggregate(name="dimer-2")
>>> tagg.build()
>>> tagg.has_SystemBathInteraction()
False
>>> # Dimer of two-level systems with an environment
>>> tagg = TestAggregate(name="dimer-2-env")
>>> tagg.build()
>>> tagg.has_SystemBathInteraction()
True

Homo-dimers

>>> # Dimer of two-level systems
>>> tagg = TestAggregate(name="homodimer-2")
>>> tagg.build()
>>> tagg.has_SystemBathInteraction()
False
>>> # Dimer of two-level systems with an environment
>>> tagg = TestAggregate(name="homodimer-2-env")
>>> tagg.build()
>>> tagg.has_SystemBathInteraction()
True
>>> # Trimer of two-level systems without an environment
>>> tagg = TestAggregate(name="trimer-2")
>>> tagg.build()
>>> tagg.has_SystemBathInteraction()
False

Methods

add_Mode_by_name(name, mode)
add_Molecule(mono) Adds monomer to the aggregate
allstates([mult, mode, all_vibronic, …]) Generator of all aggregate states
build([mult, sbi_for_higher_ex, …]) Builds aggregate properties
calculate_resonance_coupling([method, params]) Sets resonance coupling calculated by a given method
cast_to_vibronic(KK) Casts an electronic operator to a vibronic basis
clean() Cleans the aggregate object of anything built
convert_to_DensityMatrix(psi[, …]) Converts StateVector into DensityMatrix (possibly reduced one)
copy() Returns a shallow copy of the self
coupling(state1, state2[, full]) Coupling between two aggregate states
deepcopy() Returns a deep copy of the self
diagonalize() Transforms some internal quantities into diagonal basis
dipole_dipole_coupling(kk, ll[, epsr, delta]) Calculates dipole-dipole coupling
elsignatures([mult, mode, emax]) Generator of electronic signatures
elstates([mult, mode, save_indices]) Generator of electronic states
exciton_report([file, start, stop, Nrep, …]) Prints a report on excitonic properties of the aggregate
fc_factor(state1, state2) Franck-Condon factors between two vibrational states
get_DensityMatrix([condition_type, …]) Returns density matrix according to specified condition
get_ElectronicState(sig[, index]) Returns electronic state corresponding to this aggregate
get_FoersterRateMatrix() Returns Förster rate matrix for the open system
get_Hamiltonian() Returns the aggregate Hamiltonian
get_KTHierarchy([depth]) Returns the Kubo-Tanimura hierarchy of an open system
get_KTHierarchyPropagator([depth]) Returns a propagator based on the Kubo-Tanimura hierarchy
get_PureDephasing([dtype]) Returns pure dephasing object of this aggregate
get_RWA_suggestion() Returns average transition energy
get_RedfieldRateMatrix() Returns Redfield rate matrix
get_ReducedDensityMatrixPropagator(timeaxis) Returns propagator of the density matrix
get_RelaxationTensor(timeaxis[, …]) Returns a relaxation tensor corresponding to the system
get_SystemBathInteraction() Returns the aggregate SystemBathInteraction object
get_TransitionDipoleMoment() Returns the aggregate transition dipole moment operator
get_VibronicState(esig, vsig) Returns vibronic state corresponding to the two specified signatures
get_dipole_by_name(name, N, M)
get_electronic_Hamiltonian([full]) Returns the aggregate electronic Hamiltonian
get_electronic_groundstate() Indices of states in electronic ground state
get_energy_by_name(name, N) Electronic energy
get_excited_density_matrix([condition, …]) Returns the density matrix corresponding to excitation condition
get_excitonic_band([band]) Indices of states in a given excitonic band.
get_expansion_squares([state]) Returns the squares of expansion coefficients of an excitonic state.
get_intersite_mixing([state1, state2]) Returns inter site mixing ration
get_lindich_axes()
get_max_excitations() Returns a list of maximum number of excitations on each monomer
get_nearest_Molecule(molecule) Returns a molecule nearest in the aggregate to a given molecule
get_resonance_coupling(i, j) Returns resonance coupling value between two sites
get_state_energy([state]) Return the energy of a state with a given index
get_state_signature_by_index(N) Return aggregate vibronic state signature by its index
get_temperature() Returns temperature associated with this aggregate
get_thermal_ReducedDensityMatrix() Returns equilibrium density matrix for a give temparature
get_transition(Nf, Ni) Returns relevant info about the energetic transition
get_transition_dephasing(state1[, state2]) Returns phenomenological dephasing of a given transition
get_transition_dipole([state1, state2]) Returns transition dipole moment between two state.
get_transition_width(state1[, state2]) Returns phenomenological width of a given transition
get_width(n, N, M)
has_SystemBathInteraction() Returns True if the Aggregate is embedded in a defined environment
init_coupling_matrix() Nullifies coupling matrix
liouville_pathways_1([eUt, ham, dtol, ptol, …]) Generator of the first order Liouville pathways
liouville_pathways_3([ptype, dtol, ptol, …]) Generator of Liouville pathways
liouville_pathways_3T([ptype, eUt, ham, t2, …]) Generator of Liouville pathways with energy transfer
load(filename[, test]) Loads an object from a file and returns it
loaddir(dirname) Returns a directory of objects saved into a directory
number_of_electronic_states_in_band([band]) Number of states in a given excitonic band
number_of_states_in_band([band, …]) Number of states in a given excitonic band
rebuild([mult, sbi_for_higher_ex, …]) Cleans the object and rebuilds it
report_on_expansion([file, state, N]) Prints a short report on the composition of an exciton state
save(filename[, comment, test]) Saves the object with all its content into a file
savedir(dirname[, tag, comment, test]) Saves an object into directory containing a file with unique name
scopy() Creates a copy of the object by saving and loading it
set_SystemBathInteraction(sbi) Sets the SystemBathInteraction operator for this aggregate
set_coupling_by_dipole_dipole([epsr, delta]) Sets resonance coupling by dipole-dipole interaction
set_egcf_matrix(cm) Sets a matrix describing system bath interaction
set_lindich_axes(axis_orthog_membrane) Creates a coordinate system with one axis supplied by the user (typically an axis orthogonal to the membrane), and two other axes, all of which are orthonormal.
set_resonance_coupling(i, j, coupling[, …]) Sets resonance coupling value between two sites
set_resonance_coupling_matrix(coupmat) Sets resonance coupling values from a matrix
total_number_of_electronic_states([mult]) Total number of electronic states in the aggregate
total_number_of_states([mult, …]) Total number of states in the aggregate
trace_over_vibrations(operator[, Nt]) Average an operator over vibrational degrees of freedom
transition_dipole(state1, state2) Transition dipole moment between two states
vibsignatures(elsignature[, approx]) Generator of vibrational signatures
wipe_out() Removes everything except of name attribute
convert_energy_2_current_u  
convert_energy_2_internal_u  
convert_length_2_current_u  
convert_length_2_internal_u  
get_Mode_by_name  
get_Molecule_by_name  
get_Molecule_index  
get_dipole  
remove_Molecule  
unit_repr  
unit_repr_latex