38 using namespace qucs::device;
41 tunneldiode::tunneldiode () : circuit (2) {
42 type = CIR_TUNNELDIODE;
64 nr_double_t e = (eta - U) / de;
73 G =
Q_e / dv / de / (1.0 +
qucs::exp(-e)) * a - b *
Q_e / dv / dW / (1.0 +
sqr (U/dW));
93 nr_double_t Ipos, Ineg, Gpos, Gneg;
94 gd =
Id = A * Ip * Tmax * de * T / eta /
M_PI_2;
106 nr_double_t Ieq =
Id -
Ud *
gd;
140 nr_double_t
c = 1.0 + fabs(
Ud) / Vj;
142 Qd = A * Cj0 * Vj / (1.0-
M) * (1.0 -
qucs::pow (c, 1.0 - M));
182 #define qState 0 // charge state
183 #define cState 1 // current state
std::complex< nr_double_t > nr_complex_t
nr_double_t getOperatingPoint(const char *)
matrix ytos(matrix y, qucs::vector z0)
Admittance matrix to scattering parameters.
matrix real(matrix a)
Real part matrix.
nr_double_t getPropertyDouble(const char *)
nr_complex_t pow(const nr_complex_t z, const nr_double_t d)
Compute power function with real exponent.
nr_complex_t atan(const nr_complex_t z)
Compute complex arc tangent.
#define K
Absolute 0 in centigrade.
void calcId(nr_double_t, nr_double_t &, nr_double_t &)
nr_double_t getScaledProperty(const char *)
qucs::matrix calcMatrixY(nr_double_t)
nr_complex_t cosh(const nr_complex_t z)
Compute complex hyperbolic cosine.
nr_complex_t sqr(const nr_complex_t z)
Square of complex number.
#define M_PI_2
Half of Archimedes' constant ( )
void calcOperatingPoints(void)
void transientCapacitance(int, int, int, nr_double_t, nr_double_t, nr_double_t)
#define Q_e
Elementary charge ( )
#define kB
Boltzmann constant ( )
#define M_PI
Archimedes' constant ( )
void setI(int, nr_complex_t)
void setY(int, int, nr_complex_t)
void saveOperatingPoints(void)
void allocMatrixMNA(void)
nr_complex_t sinh(const nr_complex_t z)
Compute complex hyperbolic sine.
nr_double_t getV(int, nr_double_t)
nr_complex_t exp(const nr_complex_t z)
Compute complex exponential.
void setOperatingPoint(const char *, nr_double_t)
nr_complex_t log(const nr_complex_t z)
Compute principal value of natural logarithm of z.
void loadOperatingPoints(void)
#define PROP_NO_SUBSTRATE