Example #1
0
    # zI = radius-Delta,
    #   Delta = \int rho(r) r^2 dr / \int rho(r) r dr
    #    Cc = fetmodel.Cc_radial(epsS, zI, W1-zI)
    # See eq. in
    # IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL. 55, NO. 1, JANUARY 2008 411
    # Modeling the Centroid and the Inversion Charge in
    # Cylindrical Surrounding Gate MOSFETs,
    # Including Quantum Effects
    # J. B. Roldán, Andrés Godoy, Francisco Gámiz, Senior Member, IEEE, and M. Balaguer
    nmax=5
    mmax=5
    print('Cox=', Cox,', Cc=', Cc)
    p=fetmodel.parameters_ballistic(alpha=alpha,
                                    Ceff=Cox*Cc/(Cox+Cc),
                                    ems=ems,
                                    W1=W1,
                                    W2=W2,
                                    nmax=nmax,
                                    mmax=mmax)
    p.output()

    Epnm=np.zeros(nmax*mmax)
    gamma_nm=np.zeros(nmax*mmax)
    alpha_nm=np.zeros(nmax*mmax)
    ems_nm=np.zeros(nmax*mmax)
    Enm=np.zeros(nmax*mmax)
    print('Energy Levels: n, m, parabollic, nonparabollic')
    i=0
    for n in np.arange(1, p.nmax+1):
        for m in np.arange(1,p.mmax+1):
            Epnm[i]=fetmodel.Ep_nm_radial1d(p.ems, p.W1/2, int(n), int(m))
Example #2
0
    epsS = 8.9
    tOX = 20e-9
    temperature = 300
    ems = 0.067
    # W1 = 10e-9
    # W2 = 8e-9
    # alpha = fetmodel.alpha_NP(Eg, ems)
    Cox = epsOX*8.85e-12/tOX
    Cc = math.sqrt(1.6e-19*1e21/(2*epsS*8.86e-12*1))
    # Ceff=Cox*Cc/(Cox+Cc);
    Ceff=Cox
    # alpha_D = 0
    # alpha_G = 1
    print(Cox,Cc)
    p=fetmodel.parameters_ballistic(Ceff=Ceff,
                                    ems=ems,
                                    )
    p.output()
    print("Test of ballistic2d: parabolic band")

    Vgs = np.arange(-0.1, 1, 0.01)
    Ids1 = np.empty_like(Vgs)
    Ids2 = np.empty_like(Vgs)
    Vds = 0.5

    for i, Vgs0 in enumerate(Vgs):
        Ids1[i] = fetmodel.Ids_ballistic2d(Vds, Vgs0, p, 0)*1e-3
        Ids2[i] = Ids_ballistic2d(Vds, Vgs0, p, 0)*1e-3

    fig, ax = plt.subplots()
    ax.plot(Vgs, Ids1, label='Ids1')