'units': 'ev', 'modes': 1, 'elop': '1,1', 'ops': '(q)*(1)' }) # Holstein copuling mode 3 el 1 hterms.append({ 'coeff': k9a1, 'units': 'ev', 'modes': 1, 'elop': '0,0', 'ops': '(1)*(q)' }) # Holstein copuling mode 4 el 0 hterms.append({ 'coeff': k9a2, 'units': 'ev', 'modes': 1, 'elop': '1,1', 'ops': '(1)*(q)' }) # Holstein copuling mode 4 el 1 ham = pymctdh.Hamiltonian(nel, nmodes, hterms, pbfs=pbfs) dt = 0.5 times = np.arange(0.0, 120., dt) * pymctdh.units.convert_to('fs') results = pymctdh.Results(nsteps=len(times), db_pops=True, print_db_pops=True, db_pops_file='pyr4_combined.txt') wf = pymctdh.vmfpropagate(times, ham, pbfs, wf, results=results)
'units': 'ev', 'modes': 2, 'elop': '1,1', 'ops': 'q' }) # Holstein copuling mode 3 el 1 hterms.append({ 'coeff': k9a1, 'units': 'ev', 'modes': 3, 'elop': '0,0', 'ops': 'q' }) # Holstein copuling mode 4 el 0 hterms.append({ 'coeff': k9a2, 'units': 'ev', 'modes': 3, 'elop': '1,1', 'ops': 'q' }) # Holstein copuling mode 4 el 1 ham = pymctdh.Hamiltonian(nel, nmodes, hterms, pbfs=pbfs) dt = 0.5 times = np.arange(0.0, 120., dt) * pymctdh.units.convert_to('fs') results = pymctdh.Results(nsteps=len(times), db_pops=True, print_db_pops=True, db_pops_file='pyr4_mixed_sparse.txt') wf = pymctdh.vmfpropagate(times, ham, pbfs, wf, results=results)
# make Lindblad waiting time operators LdLs = [] term = {'coeff': gam, 'units': 'au', 'modes': 0, 'elop': '1', 'ops': 'n'} LdLs.append(pymctdh.QOperator(nmodes, term, pbfs=pbfs)) term = {'coeff': gam, 'units': 'au', 'modes': 1, 'elop': '1', 'ops': 'n'} LdLs.append(pymctdh.QOperator(nmodes, term, pbfs=pbfs)) term = {'coeff': gam, 'units': 'au', 'modes': 2, 'elop': '1', 'ops': 'n'} LdLs.append(pymctdh.QOperator(nmodes, term, pbfs=pbfs)) term = {'coeff': gam, 'units': 'au', 'modes': 3, 'elop': '1', 'ops': 'n'} LdLs.append(pymctdh.QOperator(nmodes, term, pbfs=pbfs)) dt = 0.25 times = np.arange(0.0, 120., dt) * pymctdh.units.convert_to('fs') results = pymctdh.Results(nsteps=len(times), db_pops=True, print_db_pops=True, db_pops_file='pyr4_ntraj_1.txt') pymctdh.vmfpropagatejumps(times, ham, pbfs, Ls, LdLs, wf, ntraj=1000, results=results, seed=2) #wfout = vmfpropagatejumps(times, ham, pbfs, Ls, LdLs, wf.copy(), 'pyr4_jumps_down_single_traj.txt', seed=2) #ntraj = 100 #for traj in range(ntraj): # wfout = vmfpropagatejumps(times, ham, pbfs, Ls, LdLs, wf.copy(), 'pyr4_jumps_down_traj_%d.txt'%(traj+24)) # #wfout = vmfpropagatejumps(times, ham, pbfs, Ls, LdLs, wf.copy(), 'pyr4_jumps_down_traj_%d.txt'%(traj), seed=2)