Beispiel #1
0
def test_asymptotic_shell_localization():
    a = Material(1.0, 0.0, 1.0, 1.0, 1.0)
    b = Material(1.0, -0.5, 1.0, 1.0, 1.0)  # Lower band edges.
    csnc1 = CoreShellParticle(a, b, 1.0, 1.0)  # Type 2 CSNC. h/e structure.
    csnc2 = CoreShellParticle(b, a, 1.0, 1.0)  # Type 2 CSNC. e/h structure.
    assert np.isclose(
        csnc1.localization_electron_shell(1e6),
        csnc1.localization_electron_shell(asymp=True),
    )
    assert np.isclose(csnc2.localization_hole_shell(1e6),
                      csnc2.localization_hole_shell(asymp=True))
Beispiel #2
0
def test_thicker_core_requires_smaller_shell_for_localization_he():
    """Tests that a thicker core leads to carrier confinement in a thinner shell, in type-2 h/e CSNCs.

    """
    a = Material(1.0, 0.0, 1.0, 1.0, 1.0)
    b = Material(1.0, -0.5, 1.0, 1.0, 1.0)  # Lower band edges.
    csnc1 = CoreShellParticle(a, b, 1.0, 1.0)  # Type 2 CSNC. h/e structure.
    csnc2 = CoreShellParticle(a, b, 1.1, 1.0)  # Type 2 CSNC. h/e structure.
    csnc1_shellloc = csnc1.localization_electron_shell()
    csnc2_shellloc = csnc2.localization_electron_shell()
    assert csnc2_shellloc < csnc1_shellloc