Functions provided
Models
modelJ(theta)
#
TheDancer.randH
— Method.
randH(SiteEnergy, Edisorder, Jdisorder, modelJ, N)
Liberated from 'Sturm': https://github.com/jarvist/Teclo/blob/master/Sturm.jl
Generate a random tridiagonal TightBinding Hamiltonian, in a form suitable for the Sturm sequence
Given:
- SiteEnergy - scalar eV; reference for site energy of monomer
- Edisorder - scalar eV ; amount of Gaussian / normal energetic disorder, for trace of Hamiltonian
- Jdisorder - scalar eV
- modelJ(theta) - function, takes degrees, returns eV ; model for the transfer integral (e.g. E=(J0cos(thetaspi/180)).^2 )
- N - integar ; size of diagonal of Hamiltonian
#
TheDancer.nondispersive_wavepacket
— Method.
Shamelessly copied from Wikipedia: https://en.wikipedia.org/wiki/Wave_packet
planewave(λ)
prepare_model()
Propagators
#
TheDancer.SiteEnergyFromDipoles
— Method.
Calculate site-energies for sites, from potential generated by dipoles at other sites.
#
TheDancer.DipolesFromDensity
— Method.
Step-forwards in time, and allow dipoles (dielectric response) of sites to respond to electron density.
AdiabaticPropagation(dipoles,E,dampening)
UnitaryPropagation(dipoles,E,psi,dt,dampening;slices::Int=1)
#
TheDancer.TimeDependentPropagation
— Method.
TimeDependentPropagation(psi,H,dt;slices::Int=1,decompose::Bool=false,verbose::Bool=false)
Propagate Wavefunction directly with Hamiltonian and time dependent Schrodinger equation.
Psi (N) is the wavefunction; H the Hamiltonian (NxN); dt the length of time to propgate along; slices is how many slices to decompose the Unitary operator into; verbose sets the display of info on the unitary nature of U, whether U*U' ~= I.
#
TheDancer.TimeDependentPropagation
— Method.
Propagate wavefunction directly from eigenergy, and time dependent Schrodinger equation.
Simulations
#
TheDancer.Plot_S_psi_density_dipoles
— Method.
Wrapper function to pretty-print and plot (UnicodePlots) relevant items of interest.
overlap(psia,psib)
#
TheDancer.Decompose_H
— Method.
Decompose Hamiltonian into Diagonal/S/PE and Off-diag/J/KE elements
#
TheDancer.Plot_H
— Method.
Plot spectrum of (H)amiltonian, other useful info.
outputpng()
SCFthenUnitary(dampening, SCFcycles, Unitarycycles; PNG::Bool=false)