Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/components/tunneldiode.cpp
Go to the documentation of this file.
00001 /***************************************************************************
00002     copyright            : (C) 2008 by Michael Margraf
00003     email                : michael.margraf@alumni.tu-berlin.de
00004  ***************************************************************************/
00005 
00006 /***************************************************************************
00007  *                                                                         *
00008  *   This program is free software; you can redistribute it and/or modify  *
00009  *   it under the terms of the GNU General Public License as published by  *
00010  *   the Free Software Foundation; either version 2 of the License, or     *
00011  *   (at your option) any later version.                                   *
00012  *                                                                         *
00013  ***************************************************************************/
00014 
00015 #include "tunneldiode.h"
00016 
00017 TunnelDiode::TunnelDiode()
00018 {
00019   Description = QObject::tr("resonance tunnel diode");
00020 
00021   Props.append(new Property("Ip", "4 mA", true,
00022   QObject::tr("peak current")));
00023   Props.append(new Property("Iv", "0.6 mA", true,
00024   QObject::tr("valley current")));
00025   Props.append(new Property("Vv", "0.8 V", true,
00026   QObject::tr("valley voltage")));
00027   Props.append(new Property("Wr", "2.7e-20", false,
00028   QObject::tr("resonance energy in Ws")));
00029   Props.append(new Property("eta", "1e-20", false,
00030   QObject::tr("Fermi energy in Ws")));
00031   Props.append(new Property("dW", "4.5e-21", false,
00032   QObject::tr("resonance width in Ws")));
00033   Props.append(new Property("Tmax", "0.95", false,
00034   QObject::tr("maximum of transmission")));
00035   Props.append(new Property("de", "0.9", false,
00036   QObject::tr("fitting factor for electron density")));
00037   Props.append(new Property("dv", "2.0", false,
00038   QObject::tr("fitting factor for voltage drop")));
00039   Props.append(new Property("nv", "16", false,
00040   QObject::tr("fitting factor for diode current")));
00041 
00042   Props.append(new Property("Cj0", "80 fF", false,
00043   QObject::tr("zero-bias depletion capacitance")));
00044   Props.append(new Property("M", "0.5", false,
00045   QObject::tr("grading coefficient")));
00046   Props.append(new Property("Vj", "0.5 V", false,
00047   QObject::tr("junction potential")));
00048   Props.append(new Property("te", "0.6 ps", false,
00049   QObject::tr("life-time of electrons")));
00050 
00051   Props.append(new Property("Temp", "26.85", false,
00052   QObject::tr("simulation temperature in degree Celsius")));
00053   Props.append(new Property("Area", "1.0", false,
00054   QObject::tr("default area for diode")));
00055 
00056   Lines.append(new Line(-30,  0,-12,  0,QPen(Qt::darkBlue,2)));
00057   Lines.append(new Line( 12,  0, 30,  0,QPen(Qt::darkBlue,2)));
00058   Lines.append(new Line(-12, -9,-12,  9,QPen(Qt::darkBlue,2)));
00059   Lines.append(new Line(  0, -9,  0,  9,QPen(Qt::darkBlue,2)));
00060   Lines.append(new Line( 12, -9, 12,  9,QPen(Qt::darkBlue,2)));
00061   Lines.append(new Line(-12, -9, 12,  9,QPen(Qt::darkBlue,2)));
00062   Lines.append(new Line(-12,  9, 12, -9,QPen(Qt::darkBlue,2)));
00063 
00064   Ports.append(new Port(-30, 0));
00065   Ports.append(new Port( 30, 0));
00066 
00067   x1 = -30; y1 = -11;
00068   x2 =  30; y2 =  11;
00069 
00070   tx = x1+4;
00071   ty = y2+4;
00072   Model = "RTD";
00073   Name  = "D";
00074 }
00075 
00076 // -------------------------------------------------------------------
00077 Component* TunnelDiode::newOne()
00078 {
00079   return new TunnelDiode();
00080 }
00081 
00082 Element* TunnelDiode::info(QString& Name, char* &BitmapFile, bool getNewOne)
00083 {
00084   Name = QObject::tr("Tunnel Diode");
00085   BitmapFile = (char *) "tunneldiode";
00086 
00087   if(getNewOne)  return new TunnelDiode();
00088   return 0;
00089 }
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines