lime/spo/NAMD_2D.py
def k_evolve_2d(dt, kx, ky, psi_grid):
    """
    propagate the state in grid basis a time step forward with H = K
    :param dt: float, time step
    :param kx: float, momentum corresponding to x
    :param ky: float, momentum corresponding to y
    :param psi_grid: list, the two-electronic-states vibrational states in
                           grid basis
    :return: psi_grid(update): list, the two-electronic-states vibrational
                                     states in grid basis
    """
    for i in range(2):
        psi_k_tmp = fft2(psi_grid[i])
        for j in range(len(kx)):
            for k in range(len(ky)):
                psi_k_tmp[j, k] *= np.exp(-0.5 * 1j / m *
                                          (kx[j]**2+ky[k]**2) * dt)
        psi_grid[i] = ifft2(psi_k_tmp)

    #psi_x = property(_get_psi_x, _set_psi_x)
    #psi_k = property(_get_psi_k, _set_psi_k)
    #dt = property(_get_dt, _set_dt)

    propagate the state in grid basis a time step forward with H = K
    :param dt: float, time step
    :param kx: float, momentum corresponding to x
    :param ky: float, momentum corresponding to y
    :param psi_grid: list, the two-electronic-states vibrational states in
                           grid basis
    :return: psi_grid(update): list, the two-electronic-states vibrational
                                     states in grid basis
    
propagate the state in grid basis a time step forward with H = K
propagate the state in grid basis a time step forward with H = K
def k_evolve_2d(dt, kx, ky, psi_grid):
    for i in range(2):
        psi_k_tmp = fft2(psi_grid[i])
        for j in range(len(kx)):
            for k in range(len(ky)):
                psi_k_tmp[j, k] *= np.exp(-0.5 * 1j / m *
                                          (kx[j]**2+ky[k]**2) * dt)
        psi_grid[i] = ifft2(psi_k_tmp)
def k_evolve_2d ( dt , kx , ky , psi_grid ) : for i in range ( 2 ) : psi_k_tmp = fft2 ( psi_grid [ i ] ) for j in range ( len ( kx ) ) : for k in range ( len ( ky ) ) : psi_k_tmp [ j , k ] *= np . exp ( - 0.5 * 1j / m * ( kx [ j ] ** 2 + ky [ k ] ** 2 ) * dt ) psi_grid [ i ] = ifft2 ( psi_k_tmp )
propagate the state in grid basis a time step forward with H = K
propagate the state in grid basis a time step forward with H = K
"""
    propagate the state in grid basis a time step forward with H = K
    :param dt: float, time step
    :param kx: float, momentum corresponding to x
    :param ky: float, momentum corresponding to y
    :param psi_grid: list, the two-electronic-states vibrational states in
                           grid basis
    :return: psi_grid(update): list, the two-electronic-states vibrational
                                     states in grid basis
    """ #psi_x = property(_get_psi_x, _set_psi_x) #psi_k = property(_get_psi_k, _set_psi_k) #dt = property(_get_dt, _set_dt)
list, the two-electronic-states vibrational
states in grid basis
list the two - electronic - states vibrational states in grid basis
dt
float, time step
float time step
kx
float, momentum corresponding to x
float momentum corresponding to x
ky
float, momentum corresponding to y
float momentum corresponding to y
psi_grid
list, the two-electronic-states vibrational states in
grid basis
list the two - electronic - states vibrational states in grid basis