Qucs-core  0.0.18
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Data Fields | Private Member Functions | Private Attributes
mosfet Class Reference

#include <mosfet.h>

Inheritance diagram for mosfet:
qucs::circuit qucs::object qucs::integrator qucs::states< state_type_t >

Public Member Functions

 CREATOR (mosfet)
 
void calcSP (nr_double_t)
 
void calcNoiseSP (nr_double_t)
 
void calcDC (void)
 
void initDC (void)
 
void restartDC (void)
 
void initModel (void)
 
void saveOperatingPoints (void)
 
void calcOperatingPoints (void)
 
void loadOperatingPoints (void)
 
void initAC (void)
 
void calcAC (nr_double_t)
 
void calcNoiseAC (nr_double_t)
 
void initTR (void)
 
void calcTR (nr_double_t)
 
- Public Member Functions inherited from qucs::circuit
 circuit ()
 
 circuit (int)
 
 circuit (const circuit &)
 
 ~circuit ()
 
virtual void initSP (void)
 placehoder for S-Parameter initialisation function More...
 
virtual void initNoiseSP (void)
 
virtual void initNoiseAC (void)
 
virtual void initHB (void)
 
virtual void calcHB (nr_double_t)
 
virtual void initHB (int)
 
virtual void calcHB (int)
 
virtual void calcCharacteristics (nr_double_t)
 
virtual void saveCharacteristics (nr_double_t)
 
void setNode (int, const char *, int intern=0)
 
nodegetNode (int)
 
void setType (int t)
 
int getType (void)
 
int getSize (void)
 Get the number of ports the circuit element has. More...
 
void setSize (int)
 Set the number of ports the circuit element has. More...
 
bool isEnabled (void)
 Reports if circuit element is enabled. More...
 
void setEnabled (bool e)
 Set a circuit element to be enabled or diabled. More...
 
bool isVariableSized (void)
 
void setVariableSized (bool v)
 
bool isProbe (void)
 
void setProbe (bool p)
 
void setNet (net *n)
 
netgetNet (void)
 
char * getSubcircuit (void)
 
void setSubcircuit (char *)
 
environmentgetEnv (void)
 
void setEnv (environment *e)
 
void setInternalVoltageSource (bool i)
 
bool isInternalVoltageSource (void)
 
void setVoltageSource (int s)
 
int getVoltageSource (void)
 
int getVoltageSources (void)
 
void setVoltageSources (int)
 
void voltageSource (int, int, int, nr_double_t value=0.0)
 
bool isVSource (void)
 
void setVSource (bool v)
 
bool isISource (void)
 
void setISource (bool i)
 
int getNoiseSources (void)
 
void setNoiseSources (int)
 
void transientCapacitance (int, int, int, nr_double_t, nr_double_t, nr_double_t)
 
void transientCapacitance (int, int, nr_double_t, nr_double_t, nr_double_t)
 
void transientCapacitanceQ (int, int, int, nr_double_t)
 
void transientCapacitanceQ (int, int, nr_double_t)
 
void transientCapacitanceC (int, int, int, int, nr_double_t, nr_double_t)
 
void transientCapacitanceC (int, int, nr_double_t, nr_double_t)
 
void transientCapacitanceC2V (int, int, int, nr_double_t, nr_double_t)
 
void transientCapacitanceC2Q (int, int, int, nr_double_t, nr_double_t)
 
void setDelta (nr_double_t *d)
 
nr_double_t * getDelta (void)
 
bool hasHistory (void)
 
void setHistory (bool h)
 
void initHistory (nr_double_t)
 
void deleteHistory (void)
 
void truncateHistory (nr_double_t)
 
void appendHistory (int, nr_double_t)
 
void applyHistory (history *)
 
nr_double_t getV (int, nr_double_t)
 
nr_double_t getV (int, int)
 
nr_double_t getJ (int, nr_double_t)
 
nr_double_t getHistoryAge (void)
 
void setHistoryAge (nr_double_t)
 
int getHistorySize (void)
 
nr_double_t getHistoryTFromIndex (int)
 
int getPort (void)
 
void setPort (int p)
 
int getInserted (void)
 
void setInserted (int i)
 
bool isOriginal (void)
 
void setOriginal (bool o)
 
substrategetSubstrate (void)
 
void setSubstrate (substrate *)
 
nr_complex_t getS (int, int)
 
nr_complex_t getN (int, int)
 
nr_complex_t getY (int, int)
 
nr_complex_t getB (int, int)
 
nr_complex_t getC (int, int)
 
nr_complex_t getD (int, int)
 
nr_complex_t getQV (int, int)
 
nr_complex_t getGV (int)
 
nr_complex_t getCV (int)
 
nr_complex_t getE (int)
 
nr_complex_t getI (int)
 
nr_complex_t getJ (int)
 
nr_complex_t getV (int)
 
nr_complex_t getQ (int)
 
nr_double_t getG (int, int)
 
void setS (int, int, nr_complex_t)
 
void setN (int, int, nr_complex_t)
 
void setY (int, int, nr_complex_t)
 
void setB (int, int, nr_complex_t)
 
void setC (int, int, nr_complex_t)
 
void setD (int, int, nr_complex_t)
 
void setQV (int, int, nr_complex_t)
 
void setGV (int, nr_complex_t)
 
void setCV (int, nr_complex_t)
 
void setE (int, nr_complex_t)
 
void setI (int, nr_complex_t)
 
void setJ (int, nr_complex_t)
 
void setV (int, nr_complex_t)
 
void setQ (int, nr_complex_t)
 
void setG (int, int, nr_double_t)
 
void clearB (void)
 
void clearC (void)
 
void clearD (void)
 
void clearE (void)
 
void clearI (void)
 
void clearJ (void)
 
void clearV (void)
 
void clearY (void)
 
void addY (int, int, nr_complex_t)
 
void addY (int, int, nr_double_t)
 
void addI (int, nr_complex_t)
 
void addI (int, nr_double_t)
 
void addOperatingPoint (const char *, nr_double_t)
 
nr_double_t getOperatingPoint (const char *)
 
void setOperatingPoint (const char *, nr_double_t)
 
int hasOperatingPoint (char *)
 
valuelist< operatingpoint > & getOperatingPoints (void)
 
void addCharacteristic (const char *, nr_double_t)
 
nr_double_t getCharacteristic (char *)
 
void setCharacteristic (const char *, nr_double_t)
 
int hasCharacteristic (char *)
 
valuelist< characteristic > & getCharacteristics (void)
 
void setNonLinear (bool l)
 
bool isNonLinear (void)
 
void print (void)
 
void setInternalNode (int, const char *)
 
void allocMatrixS (void)
 
void allocMatrixN (int sources=0)
 
void allocMatrixMNA (void)
 
void freeMatrixMNA (void)
 
void allocMatrixHB (void)
 
void freeMatrixHB (void)
 
void setMatrixS (matrix)
 
matrix getMatrixS (void)
 
void setMatrixN (matrix)
 
matrix getMatrixN (void)
 
void setMatrixY (matrix)
 
matrix getMatrixY (void)
 
- Public Member Functions inherited from qucs::object
 object ()
 
 object (const char *)
 
 object (const object &)
 
virtual ~object ()
 
objectgetNext (void)
 
void setNext (object *o)
 
objectgetPrev (void)
 
void setPrev (object *o)
 
void setName (const char *)
 
char * getName (void)
 
void addProperty (property *)
 
propertyaddProperty (const char *, const char *)
 
propertyaddProperty (const char *, nr_double_t)
 
propertyaddProperty (const char *, variable *)
 
void setProperty (const char *, char *)
 
void setProperty (const char *, nr_double_t)
 
void setScaledProperty (const char *, nr_double_t)
 
void setProperty (const char *, variable *)
 
vectorgetPropertyVector (const char *)
 
char * getPropertyString (const char *)
 
char * getPropertyReference (const char *)
 
nr_double_t getPropertyDouble (const char *)
 
nr_double_t getScaledProperty (const char *)
 
int getPropertyInteger (const char *)
 
bool hasProperty (const char *)
 
bool isPropertyGiven (const char *)
 
void copyProperties (property *)
 
void deleteProperties (void)
 
int countProperties (void)
 
char * propertyList (void)
 
 object ()
 
 object (const char *)
 
 object (const object &)
 
virtual ~object ()
 
objectgetNext (void)
 
void setNext (object *o)
 
objectgetPrev (void)
 
void setPrev (object *o)
 
void setName (const char *)
 
char * getName (void)
 
void addProperty (property *)
 
propertyaddProperty (const char *, const char *)
 
propertyaddProperty (const char *, nr_double_t)
 
propertyaddProperty (const char *, variable *)
 
void setProperty (const char *, char *)
 
void setProperty (const char *, nr_double_t)
 
void setScaledProperty (const char *, nr_double_t)
 
void setProperty (const char *, variable *)
 
vectorgetPropertyVector (const char *)
 
char * getPropertyString (const char *)
 
char * getPropertyReference (const char *)
 
nr_double_t getPropertyDouble (const char *)
 
nr_double_t getScaledProperty (const char *)
 
int getPropertyInteger (const char *)
 
bool hasProperty (const char *)
 
bool isPropertyGiven (const char *)
 
void copyProperties (property *)
 
void deleteProperties (void)
 
int countProperties (void)
 
char * propertyList (void)
 
- Public Member Functions inherited from qucs::integrator
 integrator ()
 
 integrator (const integrator &)
 
 ~integrator ()
 
void setIntegration (integrate_func_t f)
 
void setConductance (conductor_func_t f)
 
void integrate (int, nr_double_t, nr_double_t &, nr_double_t &)
 
void conductor (nr_double_t, nr_double_t &)
 
void setOrder (int o)
 
int getOrder (void)
 
void setMode (int s)
 
int getMode (void)
 
void setCoefficients (nr_double_t *c)
 
nr_double_t * getCoefficients (void)
 
- Public Member Functions inherited from qucs::states< state_type_t >
 states ()
 
 states (const states &)
 
 ~states ()
 
state_type_t getState (int, int n=0)
 
void setState (int, state_type_t, int n=0)
 
void initStates (void)
 
void clearStates (void)
 
int getStates (void)
 
void setStates (int n)
 
void nextState (void)
 
void prevState (void)
 
void fillState (int, state_type_t)
 
void saveState (int, state_type_t *)
 
void inputState (int, state_type_t *)
 

Data Fields

 MOSFET
 
 PROP_COMPONENT
 
 PROP_NO_SUBSTRATE
 
 PROP_NONLINEAR
 

Private Member Functions

nr_double_t transientChargeTR (int, nr_double_t &, nr_double_t, nr_double_t)
 
nr_double_t transientChargeSR (int, nr_double_t &, nr_double_t, nr_double_t)
 
qucs::matrix calcMatrixY (nr_double_t)
 
qucs::matrix calcMatrixCy (nr_double_t)
 

Private Attributes

nr_double_t UbsPrev
 
nr_double_t UbdPrev
 
nr_double_t UgsPrev
 
nr_double_t UgdPrev
 
nr_double_t UdsPrev
 
nr_double_t Udsat
 
nr_double_t Uon
 
nr_double_t gbs
 
nr_double_t gbd
 
nr_double_t gm
 
nr_double_t gds
 
nr_double_t gmb
 
nr_double_t Ids
 
nr_double_t DrainControl
 
nr_double_t SourceControl
 
nr_double_t Leff
 
nr_double_t MOSdir
 
nr_double_t beta
 
nr_double_t Cox
 
nr_double_t Phi
 
nr_double_t Ga
 
nr_double_t Vto
 
nr_double_t Rs
 
nr_double_t Rd
 
nr_double_t Qgd
 
nr_double_t Qgs
 
nr_double_t Qbd
 
nr_double_t Qbs
 
nr_double_t Qgb
 
nr_double_t Ibs
 
nr_double_t Ibd
 
nr_double_t Ugd
 
nr_double_t Ugs
 
nr_double_t Ubs
 
nr_double_t Ubd
 
nr_double_t Uds
 
nr_double_t Ugb
 
int transientMode
 
qucs::circuitrs
 
qucs::circuitrd
 
qucs::circuitrg
 

Additional Inherited Members

- Public Types inherited from qucs::integrator
typedef void(* integrate_func_t )(integrator *, int, nr_double_t, nr_double_t &, nr_double_t &)
 
typedef void(* conductor_func_t )(integrator *, nr_double_t, nr_double_t &)
 
- Static Public Member Functions inherited from qucs::circuit
static char * createInternal (const char *, const char *)
 
- Static Public Attributes inherited from qucs::circuit
static const nr_double_t z0 = 50.0
 
- Protected Attributes inherited from qucs::circuit
int type
 
int pol
 

Detailed Description

Definition at line 759 of file mosfet.cpp.

Member Function Documentation

void mosfet::calcAC ( nr_double_t  frequency)
virtual

Reimplemented from qucs::circuit.

Definition at line 647 of file mosfet.cpp.

void mosfet::calcDC ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 379 of file mosfet.cpp.

matrix mosfet::calcMatrixCy ( nr_double_t  frequency)
private

Definition at line 99 of file mosfet.cpp.

matrix mosfet::calcMatrixY ( nr_double_t  frequency)
private

Definition at line 51 of file mosfet.cpp.

void mosfet::calcNoiseAC ( nr_double_t  frequency)
virtual

Reimplemented from qucs::circuit.

Definition at line 651 of file mosfet.cpp.

void mosfet::calcNoiseSP ( nr_double_t  frequency)
virtual

Reimplemented from qucs::circuit.

Definition at line 95 of file mosfet.cpp.

void mosfet::calcOperatingPoints ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 566 of file mosfet.cpp.

void mosfet::calcSP ( nr_double_t  frequency)
virtual

Reimplemented from qucs::circuit.

Definition at line 47 of file mosfet.cpp.

void mosfet::calcTR ( nr_double_t  )
virtual

Reimplemented from qucs::circuit.

Definition at line 660 of file mosfet.cpp.

mosfet::CREATOR ( mosfet  )
void mosfet::initAC ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 643 of file mosfet.cpp.

void mosfet::initDC ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 132 of file mosfet.cpp.

void mosfet::initModel ( void  )

Definition at line 190 of file mosfet.cpp.

void mosfet::initTR ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 655 of file mosfet.cpp.

void mosfet::loadOperatingPoints ( void  )

Definition at line 557 of file mosfet.cpp.

void mosfet::restartDC ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 123 of file mosfet.cpp.

void mosfet::saveOperatingPoints ( void  )
virtual

Reimplemented from qucs::circuit.

Definition at line 543 of file mosfet.cpp.

nr_double_t mosfet::transientChargeSR ( int  qstate,
nr_double_t &  cap,
nr_double_t  voltage,
nr_double_t  ccap 
)
private

Definition at line 700 of file mosfet.cpp.

nr_double_t mosfet::transientChargeTR ( int  qstate,
nr_double_t &  cap,
nr_double_t  voltage,
nr_double_t  ccap 
)
private

Definition at line 689 of file mosfet.cpp.

Field Documentation

nr_double_t mosfet::beta
private

Definition at line 56 of file mosfet.h.

nr_double_t mosfet::Cox
private

Definition at line 56 of file mosfet.h.

nr_double_t mosfet::DrainControl
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::Ga
private

Definition at line 56 of file mosfet.h.

nr_double_t mosfet::gbd
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::gbs
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::gds
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::gm
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::gmb
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::Ibd
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Ibs
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Ids
private

Definition at line 55 of file mosfet.h.

nr_double_t mosfet::Leff
private

Definition at line 56 of file mosfet.h.

nr_double_t mosfet::MOSdir
private

Definition at line 56 of file mosfet.h.

mosfet::MOSFET

Definition at line 760 of file mosfet.cpp.

nr_double_t mosfet::Phi
private

Definition at line 56 of file mosfet.h.

mosfet::PROP_COMPONENT

Definition at line 760 of file mosfet.cpp.

mosfet::PROP_NO_SUBSTRATE

Definition at line 760 of file mosfet.cpp.

mosfet::PROP_NONLINEAR

Definition at line 760 of file mosfet.cpp.

nr_double_t mosfet::Qbd
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Qbs
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Qgb
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Qgd
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Qgs
private

Definition at line 57 of file mosfet.h.

nr_double_t mosfet::Rd
private

Definition at line 56 of file mosfet.h.

qucs::circuit* mosfet::rd
private

Definition at line 61 of file mosfet.h.

qucs::circuit* mosfet::rg
private

Definition at line 62 of file mosfet.h.

nr_double_t mosfet::Rs
private

Definition at line 56 of file mosfet.h.

qucs::circuit* mosfet::rs
private

Definition at line 60 of file mosfet.h.

nr_double_t mosfet::SourceControl
private

Definition at line 55 of file mosfet.h.

int mosfet::transientMode
private

Definition at line 59 of file mosfet.h.

nr_double_t mosfet::Ubd
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::UbdPrev
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Ubs
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::UbsPrev
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Uds
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::Udsat
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::UdsPrev
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Ugb
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::Ugd
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::UgdPrev
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Ugs
private

Definition at line 58 of file mosfet.h.

nr_double_t mosfet::UgsPrev
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Uon
private

Definition at line 54 of file mosfet.h.

nr_double_t mosfet::Vto
private

Definition at line 56 of file mosfet.h.


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