Exemplo n.º 1
0
def test_adaptive_zero_t(method):
    np.random.seed(0)
    evolve_config = EvolveConfig(method=method, guess_dt=0.1, adaptive=True)
    ct = ChargeTransport(band_limit_mol_list,
                         evolve_config=evolve_config,
                         stop_at_edge=True)
    ct.evolve(evolve_dt=5.)
    assert_band_limit(ct, 1e-2)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)