Logo Search packages:      
Sourcecode: ktechlab version File versions  Download package

Diode Class Reference

#include <diode.h>

Inheritance diagram for Diode:

NonLinear Element

List of all members.

Detailed Description

Simulates the electrical property of diode-ness.

This simulates a diode. The simulated diode characteristics are:

David Saxton

Definition at line 42 of file diode.h.

Public Types

enum  Type {
  Element_BJT, Element_Capacitance, Element_CCCS, Element_CCVS,
  Element_CurrentSignal, Element_CurrentSource, Element_Diode, Element_Inductance,
  Element_LogicIn, Element_LogicOut, Element_OpAmp, Element_Resistance,
  Element_VCCS, Element_VCVS, Element_VoltagePoint, Element_VoltageSignal,

Public Member Functions

virtual void add_initial_dc ()
virtual void add_map ()
CBranch * cbranch (const uint num)
double cbranchCurrent (const int branch)
CNode * cnode (const uint num)
double cnodeVoltage (const int node)
void componentDeleted ()
double current () const
ElementSetelementSet ()
void elementSetDeleted ()
virtual bool isNonLinear ()
virtual bool isReactive ()
int numCBranches ()
int numCNodes ()
void setCBranches (const int b0=noBranch, const int b1=noBranch, const int b2=noBranch, const int b3=noBranch)
void setCNodes (const int n0=noCNode, const int n1=noCNode, const int n2=noCNode, const int n3=noCNode)
void setDiodeSettings (const DiodeSettings &settings)
virtual void setElementSet (ElementSet *c)
DiodeSettings settings () const
virtual Element::Type type () const
virtual void update_dc ()

Public Attributes

double m_cnodeI [8]
 Current flowing into the cnodes from the element.

Protected Member Functions

double & A_b (uint i, uint j)
double & A_c (uint i, uint j)
double & A_d (uint i, uint j)
double & A_g (uint i, uint j)
double & b_i (uint i)
double & b_v (uint i)
void calc_eq ()
void calcIg (double V, double *I, double *g) const
double diodeConductance (double v, double I_S, double Vte) const
double diodeCriticalVoltage (double I_S, double Vte) const
double diodeCurrent (double v, double I_S, double Vte) const
void diodeJunction (double v, double I_S, double Vte, double *I, double *g) const
double diodeVoltage (double v, double V_prev, double Vt, double V_crit) const
void resetCurrents ()
virtual void updateCurrents ()
virtual bool updateStatus ()

Protected Attributes

bool b_status
double g_new
double g_old
double I_new
double I_old
DiodeSettings m_diodeSettings
int m_numCBranches
int m_numCNodes
CBranch * p_cbranch [4]
CNode * p_cnode [MAX_CNODES]
double V_prev

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index