NonLinear Class Reference

Represents a non-linear circuit element (such as a diode). More...

#include <nonlinear.h>

Inheritance diagram for NonLinear:

Inheritance graph
[legend]
Collaboration diagram for NonLinear:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 NonLinear ()
virtual bool isNonLinear ()
virtual void update_dc ()=0

Protected Member Functions

double diodeCurrent (double v, double I_S, double Vte) const
double diodeConductance (double v, double I_S, double Vte) const
double diodeVoltage (double v, double V_prev, double Vt, double V_crit) const
void diodeJunction (double v, double I_S, double Vte, double *I, double *g) const
double diodeCriticalVoltage (double I_S, double Vte) const

Detailed Description

Represents a non-linear circuit element (such as a diode).

Author:
David Saxton

Definition at line 20 of file nonlinear.h.


Member Function Documentation

virtual bool NonLinear::isNonLinear (  )  [inline, virtual]

Returns true for NonLinear elements that need iteration to converge to a solution as the matrix A is a function of x.

Reimplemented from Element.

Definition at line 25 of file nonlinear.h.

virtual void NonLinear::update_dc (  )  [pure virtual]

Newton-Raphson iteration: Update equation system.

Implemented in BJT, and Diode.

double NonLinear::diodeConductance ( double  v,
double  I_S,
double  Vte 
) const [protected]

Conductance of the diode - the derivative of Schockley's approximation.

Definition at line 35 of file nonlinear.cpp.

Referenced by Diode::calcIg().

double NonLinear::diodeVoltage ( double  v,
double  V_prev,
double  Vt,
double  V_crit 
) const [protected]

Limits the diode voltage to prevent divergence in the nonlinear iterations.

Definition at line 40 of file nonlinear.cpp.

Referenced by Diode::calc_eq(), and BJT::calc_eq().


The documentation for this class was generated from the following files:
Generated on Tue May 8 17:05:51 2007 for KTechLab by  doxygen 1.5.1