{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.7822008619773912\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Mon program\n", "import math\n", "import numpy as np\n", "import scipy as sp\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as pl\n", "\n", "kT = 0.0258 # 0.0258 eV à température ambiante\n", "eps0 = 8.85e-10 # permittivité du vide en F/cm\n", "q = 1.602e-19 # charge élementaire en C\n", "\n", "# remplacer les valeur par celles de l'AlGaAs/GaAs\n", "# à rechercher... par exemple ici:\n", "# http://www.ioffe.ru/SVA/NSM/Semicond/AlGaAs/index.html\n", "# http://www.ioffe.ru/SVA/NSM/Semicond/GaAs/index.html\n", "NE = 1e19 # dopage de l'émetteur 1/cm3\n", "NB = 1e19 # densité d'états dans la BC dans la base (1/cm3)\n", "niE = niB = 1e4 # densités intrinsèques dans l'émetteur et la base resp. (1/cm3)\n", "NCB = 1e19 # densité d'états dans la BC dans la base (1/cm3)\n", "NVB = 1e19 # densité d'états dans la BV dans la base (1/cm3)\n", "NCE = 1e19 # densité d'états dans la BC dans l'émetteur (1/cm3)\n", "NVE = 1e19 # densité d'états dans la BV dans l'émetteur (1/cm3)\n", "DEV = 0. # discontinuité de la BV (eV)\n", "DEC = 0. # discontinuité de la BC (eV)\n", "DEg = 0. # discontinuité du gap (eV)\n", "DnB = 200. # constante de diffusion dans la base (cm2/s)\n", "LnB = 10. # longueur de diffusion dans la base (um)\n", "vsat = 1e7 # vitesse de saturation (cm/s)\n", "epsE = epsB = 10. # permittivité relative\n", "\n", "# tension de diffusion (V)\n", "Phi = kT * math.log(NE * NB / (niE * niB)) + 0.5 * kT * math.log(NCB * NVE / (NCE * NVB)) + 0.5 * (0.5 * DEg - DEV)\n", "print (Phi)\n", "Va = 1. # tension appliquée (volts)\n", "\n", "# largeur de la ZCE dans la base (um)\n", "\n", "JC0 = (q * DnB / LnB) * NE\n", "V = np.linspace(0.4, 1.5, 100)\n", "XB = 1e4 * np.sqrt(2. * epsE * epsB * eps0 * NE * (Phi - V) / (q * NB * (NE * epsB + NB * epsE)))\n", "JC = JC0 * np.exp(-(Phi - V) / kT) * (1. / (XB + (DnB / vsat)))\n", "aB = 1./np.cosh(XB/LnB)\n", "JB = JC * (1. - aB) / aB\n", "Beta = JC / JB\n", "pl.semilogy(V, JC)\n", "pl.semilogy(V, JB)\n", "pl.legend([\"JB, JC\"])\n", "pl.xlabel(\"Tension (volts)\")\n", "pl.ylabel(\"Courant (A/cm2)\")\n", "pl.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }