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