pycc.rt.rtcc

class pycc.rt.rtcc(ccwfn: CCwfn, cclambda: cclambda, ccdensity: ccdensity, V: Tensor, magnetic: bool = False, kick: Any = None)[source]

A Real-time CC object for ODE propagation.

Variables:
  • ccwfn (PyCC ccwfn object) – the coupled cluster T amplitudes and supporting data structures

  • cclambda (PyCC cclambda object) – the coupled cluster Lambda amplitudes and supporting data structures

  • ccdensity (PyCC ccdensity object) – the coupled cluster one- and two-electron densities

  • V (the time-dependent laser field) – must accept only the current time as an argument, e.g., as defined in lasers.py

  • mu (list of NumPy arrays) – the dipole integrals for each Cartesian direction (taken from Hamiltonian object)

  • mu_tot (NumPy arrays) – 1/sqrt(3) * sum of dipole integrals (for isotropic field)

  • magnetic (bool) – whether or not to compute the magnetic dipole integrals and value (default = False)

  • m (list of NumPy arrays) – the magnetic dipole integrals for each Cartesian direction (only if magnetic = True) (taken from Hamiltonian object)

Parameters:
  • magnetic (bool) – optionally store magnetic dipole integrals (default = False)

  • kick (bool or str) – optionally isolate ‘x’, ‘y’, or ‘z’ electric field kick (default = False)

f(): Returns a flattened NumPy array of cluster residuals

The ODE defining function (the right-hand-side of a Runge-Kutta solver)

collect_amps():

Collect the cluster amplitudes and phase into a single vector

extract_amps():

Separate a flattened array of amplitudes (and phase) into the t1, t2, l1, and l2 components

dipole()[source]

Compute the electronic or magnetic dipole moment for a given time t

energy()

Compute the CC correlation energy for a given time t

lagrangian()[source]

Compute the CC Lagrangian energy for a given time t

__init__(ccwfn: CCwfn, cclambda: cclambda, ccdensity: ccdensity, V: Tensor, magnetic: bool = False, kick: Any = None) None[source]

Methods

__init__(ccwfn, cclambda, ccdensity, V[, ...])

autocorrelation(y_left, y_right)

collect_amps(t1, t2, l1, l2, phase)

dipole(t1, t2, l1, l2[, magnetic, real_time])

extract_amps(y)

f(t, y)

lagrangian(t, t1, t2, l1, l2)

phase(F, t1, t2)

propagate(ODE, yi, tf[, ti, ref, chk, tchk, ...])

Propagate the function yi from time ti to time tf

step(ODE, yi, t[, ref])

A single step in the propagation