def test_bandlimit_zero_t(method, evolve_dt, nsteps, rtol, scheme): np.random.seed(0) evolve_config = EvolveConfig(method) ct = ChargeTransport(band_limit_mol_list.switch_scheme(scheme), evolve_config=evolve_config) ct.stop_at_edge = True ct.evolve(evolve_dt, nsteps) assert_band_limit(ct, rtol)
def test_gaussian_bond_dim(): compress_config = CompressConfig( criteria=CompressCriteria.fixed, bonddim_distri=BondDimDistri.center_gauss, max_bonddim=10, ) evolve_config = EvolveConfig(guess_dt=0.1, adaptive=True) ct = ChargeTransport( band_limit_mol_list, compress_config=compress_config, evolve_config=evolve_config, ) ct.stop_at_edge = True ct.evolve(evolve_dt=2.) assert_band_limit(ct, 1e-2)
lams = hr_factors * omegas_au phonons = [ Phonon.simplest_phonon(Quantity(o), Quantity(l), lam=True) for o, l in zip(omegas_au, lams) ] j_matrix_au = j_matrix_cm * cm2au mlist = [] for j in np.diag(j_matrix_au): m = Mol(Quantity(j), phonons) mlist.append(m) # starts from 1 mol_arangement = np.array([7, 5, 3, 1, 2, 4, 6]) - 1 mol_list = MolList(list(np.array(mlist)[mol_arangement]), j_matrix_au[mol_arangement][:, mol_arangement]) evolve_dt = 40 evolve_config = EvolveConfig(evolve_dt=evolve_dt) compress_config = CompressConfig(CompressCriteria.fixed, max_bonddim=16) ct = ChargeTransport(mol_list, evolve_config=evolve_config, compress_config=compress_config) ct.dump_dir = "./fmo" ct.job_name = 'hybrid' ct.stop_at_edge = False ct.evolve(evolve_dt=evolve_dt, nsteps=10) new_evolve_config = EvolveConfig(EvolveMethod.tdvp_mctdh_new) ct.latest_mps.evolve_config = ct.evolve_config = new_evolve_config ct.evolve(evolve_dt=evolve_dt, nsteps=100000)
def test_32backend(switch_to_32backend): evolve_config = EvolveConfig(evolve_dt=4, adaptive=True) ct = ChargeTransport(band_limit_mol_list, evolve_config=evolve_config) ct.stop_at_edge = True ct.evolve() assert_band_limit(ct, 1e-2)