Exemple #1
0
    print("\n" + str(algaas) + ":\n")
    for val in mp.valdict:
        print(val + " = " + str(algaas.params[mp.valdict[val]]))

    print("\n" + str(alingaas) + ":\n")
    for val in mp.valdict:
        print(val + " = " + str(alingaas.params[mp.valdict[val]]))

    print(sep)
    print('Creating a structure from generated materials:\n')

    # creating a quantum-cascade structure:
    s = Structure()

    # set interface roughness parameters for all interfaces:
    s.setIFR(eta=0.1, lam=2.0)

    # Add layers:
    s.addLayerWM(8.4, gaas)
    s.addLayerWM(3.1, algaas)
    s.addLayerWM(18.0, gaas)  # <--- this is layer 2!
    s.addLayerWM(1.8, algaas)
    s.addLayerWM(8.4, gaas)
    s.addLayerWM(3.1, algaas)
    s.addLayerWM(18.0, gaas)
    s.addLayerWM(1.8, algaas)

    # add a doping layer
    s.addDoping(zi=2, zf=2.2, density=2e17, layerindex=2)

    qcl_2well = EV2416()
Exemple #2
0
    gaas = GaAs()
    alas = AlAs()
    algaas1 = AlGaAs(name="AlGaAs1", x=0.22)
    algaas2 = AlGaAs(name="AlGaAs2", x=0.43)

    print(sep)
    print('Creating a structure from generated materials:\n')
    print('[width, material, eta, lambda]')

    # creating a two quantum-well structure
    s = Structure()

    # set interface roughness parameters for all interfaces:
    eta = 0.1
    lam = 2.0
    s.setIFR(eta, lam)

    # Add layers:
    s.addLayerWM(7.4, algaas2)
    s.addLayerWM(2.5, gaas)
    s.addLayerWM(0.5, gaas)  # <-- doped layer 2
    s.addLayerWM(2.5, gaas)
    s.addLayerWM(8.7, algaas1)
    s.addLayerWM(7.4, algaas2)

    # define doping layer
    zstart = 0.01
    zend = 0.499
    dopdens = 2e19
    layer = 2
Exemple #3
0
        alingaas.updateAlloy(z[i])
        ec.append(alingaas.params["Ec"] - ingaas.params["Ec"])
        m.append(alingaas.params["meff"])
        va.append(alingaas.params["Valloy"])

    # reproducing plot from Ohtani APL 2013:
    pl.plot(x, m)
    ax1 = pl.gca()
    ax2 = ax1.twinx()
    ax2.plot(x, ec, 'r')
    pl.figure(2)
    pl.plot(x, va)

    s = Structure()

    s.setIFR(0.1, 2)

    x = 0.23 / 0.48
    alingaas.updateAlloy(x)

    print("Using x = " + str(x) + " yields a CBO of " +
          str(alingaas.params["Ec"] - ingaas.params["Ec"]))

    for key in alingaas.params:
        print(key + " = " + str(alingaas.params[key]))

    s.addLayerWM(17.7, ingaas)
    s.addLayerWM(3.1, alingaas)
    s.addLayerWM(8.5, ingaas)
    s.addLayerWM(1.8, alingaas)