CDTK.Tools.Bath module

CDTK.Tools.Bath.bathModeDensity(N, cut, shape='constant', wc=1.0)[source]

Return a discrete bath mode density function

N – number of discrete modes in bath cut – largest frequency mode shape – string, shape of modes distribution

‘constant’: rho(w) = N/cut ‘exponential’: rho(w) = (N/wc) * exp(-w/wc) / (1 - exp(-cut/wc))

The function returned is such that the condition

int_0^cut rho(w)dw == N

is always met.

CDTK.Tools.Bath.listOfFrequenciesFromDistribution(n, rho)[source]

Return list of freqs at which Eq 3.6b is satisfied for n modes

This condition means int_0^w rho(w)dw = k

n – number of bath modes rho – number of bath modes within a frequency interval (Eq. 3.6b)

CDTK.Tools.Bath.modeCouplings(J, rho, n, coord='mf', plot=False, **opts)[source]

Return the mode couplings for a bath characterized by its spectral density

This routine implements the equations in Section III of Wang et al., J. Chem. Phys. 115, 2979 (2001)

J – function, spectral density of the bath rho – discrete bath modes density (Eq. 3.6b) n – number of discrete bath modes coord – optional, string:

‘m’: mass-weighted bath coordinates ‘mf’: mass- and frequency-weighted bath coordinates [DEFAULT]

Returns a list

[ [w1, c1], [w2, c2],….[wn, cn] ]

CDTK.Tools.Bath.spectralDensityOhmic(alpha, wc, cutoff='sharp', plot=False, **opts)[source]

Return an Ohmic spectral density

J(w) = (pi/2) * alpha * w * cutoff(w)

alpha – ohmic coupling constant wc – cutoff frequency cutoff – string

‘sharp’: cutoff(w) = Heaviside(w-wc) ‘exponential’: cutoff(w) = exp(-w/wc)

plot – logical, plot the function if set to true