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

#include <hbsolver.h>

Inheritance diagram for qucs::hbsolver:
qucs::analysis qucs::object

Public Member Functions

 ACREATOR (hbsolver)
 
 hbsolver (char *)
 
 hbsolver (hbsolver &)
 
 ~hbsolver ()
 
int solve (void)
 placehoder for solution function More...
 
void initHB (void)
 
void initDC (void)
 
void collectFrequencies (void)
 
int checkBalance (void)
 
void splitCircuits (void)
 
void expandFrequencies (nr_double_t, int)
 
bool isExcitation (circuit *)
 
strlistcircuitNodes (ptrlist< circuit >)
 
void getNodeLists (void)
 
int assignVoltageSources (ptrlist< circuit >)
 
int assignNodes (ptrlist< circuit >, strlist *, int offset=0)
 
void prepareLinear (void)
 
void createMatrixLinearA (void)
 
void fillMatrixLinearA (tmatrix< nr_complex_t > *, int)
 
void invertMatrix (tmatrix< nr_complex_t > *, tmatrix< nr_complex_t > *)
 
void createMatrixLinearY (void)
 
void saveResults (void)
 
void calcConstantCurrent (void)
 
nr_complex_t excitationZ (tvector< nr_complex_t > *, circuit *, int)
 
void finalSolution (void)
 
void fillMatrixNonLinear (tmatrix< nr_complex_t > *, tmatrix< nr_complex_t > *, tvector< nr_complex_t > *, tvector< nr_complex_t > *, tvector< nr_complex_t > *, tvector< nr_complex_t > *, int)
 
void prepareNonLinear (void)
 
void solveHB (void)
 
void loadMatrices (void)
 
void VectorFFT (tvector< nr_complex_t > *, int isign=1)
 
void VectorIFFT (tvector< nr_complex_t > *, int isign=1)
 
int calcOrder (int)
 
void MatrixFFT (tmatrix< nr_complex_t > *)
 
void calcJacobian (void)
 
void solveVoltages (void)
 
tvector< nr_complex_texpandVector (tvector< nr_complex_t >, int)
 
tmatrix< nr_complex_texpandMatrix (tmatrix< nr_complex_t >, int)
 
tmatrix< nr_complex_textendMatrixLinear (tmatrix< nr_complex_t >, int)
 
void fillMatrixLinearExtended (tmatrix< nr_complex_t > *, tvector< nr_complex_t > *)
 
void saveNodeVoltages (circuit *, int)
 
- Public Member Functions inherited from qucs::analysis
 analysis ()
 Constructor (Unnamed) More...
 
 analysis (char *)
 
 analysis (analysis &)
 
 ~analysis ()
 Destructor. More...
 
virtual int initialize (void)
 placehoder for initialization function More...
 
virtual int cleanup (void)
 placehoder for cleanup function More...
 
virtual bool isExternal (void)
 informs whether this is an external sim More...
 
dataset * getData (void)
 
void setData (dataset *d)
 
net * getNet (void)
 
void setNet (net *netlist)
 
environment * getEnv (void)
 
void setEnv (environment *e)
 
ptrlist< analysis > * getAnalysis (void)
 
void setAnalysis (ptrlist< analysis > *a)
 
void addAnalysis (analysis *)
 
void delAnalysis (analysis *)
 
int getType (void)
 
void setType (int t)
 
sweep * createSweep (const char *)
 create a named sweep object More...
 
void saveVariable (const char *, nr_complex_t, qucs::vector *)
 Save variable into analysis dataset. More...
 
bool getProgress (void)
 get More...
 
void setProgress (bool p)
 Sets the progress. More...
 
- 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)
 

Static Public Member Functions

static void calc (hbsolver *)
 

Data Fields

 HB
 
 PROP_ACTION
 
 PROP_NO_SUBSTRATE
 
 PROP_LINEAR
 

Private Attributes

tvector< nr_double_t > negfreqs
 
tvector< nr_double_t > posfreqs
 
tvector< nr_double_t > rfreqs
 
intndfreqs
 
tvector< nr_double_t > dfreqs
 
nr_double_t frequency
 
strlistnlnodes
 
strlistlnnodes
 
strlistbanodes
 
strlistnanodes
 
strlistexnodes
 
ptrlist< circuitexcitations
 
ptrlist< circuitnolcircuits
 
ptrlist< circuitlincircuits
 
tmatrix< nr_complex_t > * Y
 
tmatrix< nr_complex_t > * A
 
tmatrix< nr_complex_t > * Z
 
tmatrix< nr_complex_t > * YV
 
tmatrix< nr_complex_t > * NA
 
tmatrix< nr_complex_t > * JQ
 
tmatrix< nr_complex_t > * JG
 
tmatrix< nr_complex_t > * JF
 
tvector< nr_complex_t > * IG
 
tvector< nr_complex_t > * FQ
 
tvector< nr_complex_t > * VS
 
tvector< nr_complex_t > * VP
 
tvector< nr_complex_t > * FV
 
tvector< nr_complex_t > * IL
 
tvector< nr_complex_t > * IN
 
tvector< nr_complex_t > * IR
 
tvector< nr_complex_t > * QR
 
tvector< nr_complex_t > * RH
 
tvector< nr_complex_t > * OM
 
tvector< nr_complex_t > * IC
 
tvector< nr_complex_t > * IS
 
tvector< nr_complex_t > * x
 
tvector< nr_complex_t > * vs
 
int runs
 
int lnfreqs
 
int nlfreqs
 
int nnlvsrcs
 
int nlnvsrcs
 
int nlnnodes
 
int nnanodes
 
int nexnodes
 
int nbanodes
 

Additional Inherited Members

- Protected Attributes inherited from qucs::analysis
int runs
 
int type
 
net * subnet
 
dataset * data
 
environment * env
 
ptrlist< analysis > * actions
 
bool progress
 

Detailed Description

Definition at line 1426 of file hbsolver.cpp.

Constructor & Destructor Documentation

qucs::hbsolver::hbsolver ( char *  n)

Definition at line 70 of file hbsolver.cpp.

qucs::hbsolver::hbsolver ( hbsolver o)

Definition at line 124 of file hbsolver.cpp.

qucs::hbsolver::~hbsolver ( )

Definition at line 83 of file hbsolver.cpp.

Member Function Documentation

qucs::hbsolver::ACREATOR ( hbsolver  )
int qucs::hbsolver::assignNodes ( ptrlist< circuit circuits,
strlist nodes,
int  offset = 0 
)

Definition at line 526 of file hbsolver.cpp.

int qucs::hbsolver::assignVoltageSources ( ptrlist< circuit circuits)

Definition at line 513 of file hbsolver.cpp.

void qucs::hbsolver::calc ( hbsolver self)
static

Definition at line 298 of file hbsolver.cpp.

void qucs::hbsolver::calcConstantCurrent ( void  )

Definition at line 871 of file hbsolver.cpp.

void qucs::hbsolver::calcJacobian ( void  )

Definition at line 1204 of file hbsolver.cpp.

int qucs::hbsolver::calcOrder ( int  n)

Definition at line 365 of file hbsolver.cpp.

int qucs::hbsolver::checkBalance ( void  )

Definition at line 925 of file hbsolver.cpp.

strlist * qucs::hbsolver::circuitNodes ( ptrlist< circuit circuits)

Definition at line 456 of file hbsolver.cpp.

void qucs::hbsolver::collectFrequencies ( void  )

Definition at line 374 of file hbsolver.cpp.

void qucs::hbsolver::createMatrixLinearA ( void  )

Definition at line 563 of file hbsolver.cpp.

void qucs::hbsolver::createMatrixLinearY ( void  )

Definition at line 711 of file hbsolver.cpp.

nr_complex_t qucs::hbsolver::excitationZ ( tvector< nr_complex_t > *  V,
circuit vs,
int  f 
)

Definition at line 857 of file hbsolver.cpp.

void qucs::hbsolver::expandFrequencies ( nr_double_t  f,
int  n 
)

Definition at line 332 of file hbsolver.cpp.

tmatrix< nr_complex_t > qucs::hbsolver::expandMatrix ( tmatrix< nr_complex_t M,
int  nodes 
)

Definition at line 1245 of file hbsolver.cpp.

tvector< nr_complex_t > qucs::hbsolver::expandVector ( tvector< nr_complex_t V,
int  nodes 
)

Definition at line 1224 of file hbsolver.cpp.

tmatrix< nr_complex_t > qucs::hbsolver::extendMatrixLinear ( tmatrix< nr_complex_t M,
int  nodes 
)

Definition at line 1298 of file hbsolver.cpp.

void qucs::hbsolver::fillMatrixLinearA ( tmatrix< nr_complex_t > *  A,
int  f 
)

Definition at line 597 of file hbsolver.cpp.

void qucs::hbsolver::fillMatrixLinearExtended ( tmatrix< nr_complex_t > *  Y,
tvector< nr_complex_t > *  I 
)

Definition at line 1314 of file hbsolver.cpp.

void qucs::hbsolver::fillMatrixNonLinear ( tmatrix< nr_complex_t > *  jg,
tmatrix< nr_complex_t > *  jq,
tvector< nr_complex_t > *  ig,
tvector< nr_complex_t > *  fq,
tvector< nr_complex_t > *  ir,
tvector< nr_complex_t > *  qr,
int  f 
)

Definition at line 961 of file hbsolver.cpp.

void qucs::hbsolver::finalSolution ( void  )

Definition at line 1346 of file hbsolver.cpp.

void qucs::hbsolver::getNodeLists ( void  )

Definition at line 471 of file hbsolver.cpp.

void qucs::hbsolver::initDC ( void  )

Definition at line 316 of file hbsolver.cpp.

void qucs::hbsolver::initHB ( void  )

Definition at line 307 of file hbsolver.cpp.

void qucs::hbsolver::invertMatrix ( tmatrix< nr_complex_t > *  A,
tmatrix< nr_complex_t > *  H 
)

Definition at line 649 of file hbsolver.cpp.

bool qucs::hbsolver::isExcitation ( circuit c)

Definition at line 324 of file hbsolver.cpp.

void qucs::hbsolver::loadMatrices ( void  )

Definition at line 1070 of file hbsolver.cpp.

void qucs::hbsolver::MatrixFFT ( tmatrix< nr_complex_t > *  M)

Definition at line 1126 of file hbsolver.cpp.

void qucs::hbsolver::prepareLinear ( void  )

Definition at line 546 of file hbsolver.cpp.

void qucs::hbsolver::prepareNonLinear ( void  )

Definition at line 993 of file hbsolver.cpp.

void qucs::hbsolver::saveNodeVoltages ( circuit cir,
int  f 
)

Definition at line 1058 of file hbsolver.cpp.

void qucs::hbsolver::saveResults ( void  )

Definition at line 1392 of file hbsolver.cpp.

int qucs::hbsolver::solve ( void  )
virtual

placehoder for solution function

Virtual solution function intended to be overridden by the inheiriting class's solution function.

Reimplemented from qucs::analysis.

Definition at line 145 of file hbsolver.cpp.

void qucs::hbsolver::solveHB ( void  )

Definition at line 1173 of file hbsolver.cpp.

void qucs::hbsolver::solveVoltages ( void  )

Definition at line 1271 of file hbsolver.cpp.

void qucs::hbsolver::splitCircuits ( void  )

Definition at line 437 of file hbsolver.cpp.

void qucs::hbsolver::VectorFFT ( tvector< nr_complex_t > *  V,
int  isign = 1 
)

Definition at line 1092 of file hbsolver.cpp.

void qucs::hbsolver::VectorIFFT ( tvector< nr_complex_t > *  V,
int  isign = 1 
)

Definition at line 1120 of file hbsolver.cpp.

Field Documentation

tmatrix<nr_complex_t>* qucs::hbsolver::A
private

Definition at line 100 of file hbsolver.h.

strlist * qucs::hbsolver::banodes
private

Definition at line 94 of file hbsolver.h.

tvector<nr_double_t> qucs::hbsolver::dfreqs
private

Definition at line 92 of file hbsolver.h.

ptrlist<circuit> qucs::hbsolver::excitations
private

Definition at line 95 of file hbsolver.h.

strlist * qucs::hbsolver::exnodes
private

Definition at line 94 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::FQ
private

Definition at line 110 of file hbsolver.h.

nr_double_t qucs::hbsolver::frequency
private

Definition at line 93 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::FV
private

Definition at line 113 of file hbsolver.h.

qucs::hbsolver::HB

Definition at line 1427 of file hbsolver.cpp.

tvector<nr_complex_t>* qucs::hbsolver::IC
private

Definition at line 122 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::IG
private

Definition at line 109 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::IL
private

Definition at line 114 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::IN
private

Definition at line 115 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::IR
private

Definition at line 117 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::IS
private

Definition at line 123 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::JF
private

Definition at line 108 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::JG
private

Definition at line 107 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::JQ
private

Definition at line 106 of file hbsolver.h.

ptrlist<circuit> qucs::hbsolver::lincircuits
private

Definition at line 97 of file hbsolver.h.

int qucs::hbsolver::lnfreqs
private

Definition at line 128 of file hbsolver.h.

strlist * qucs::hbsolver::lnnodes
private

Definition at line 94 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::NA
private

Definition at line 104 of file hbsolver.h.

strlist * qucs::hbsolver::nanodes
private

Definition at line 94 of file hbsolver.h.

int qucs::hbsolver::nbanodes
private

Definition at line 135 of file hbsolver.h.

int* qucs::hbsolver::ndfreqs
private

Definition at line 91 of file hbsolver.h.

tvector<nr_double_t> qucs::hbsolver::negfreqs
private

Definition at line 88 of file hbsolver.h.

int qucs::hbsolver::nexnodes
private

Definition at line 134 of file hbsolver.h.

int qucs::hbsolver::nlfreqs
private

Definition at line 129 of file hbsolver.h.

int qucs::hbsolver::nlnnodes
private

Definition at line 132 of file hbsolver.h.

strlist* qucs::hbsolver::nlnodes
private

Definition at line 94 of file hbsolver.h.

int qucs::hbsolver::nlnvsrcs
private

Definition at line 131 of file hbsolver.h.

int qucs::hbsolver::nnanodes
private

Definition at line 133 of file hbsolver.h.

int qucs::hbsolver::nnlvsrcs
private

Definition at line 130 of file hbsolver.h.

ptrlist<circuit> qucs::hbsolver::nolcircuits
private

Definition at line 96 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::OM
private

Definition at line 120 of file hbsolver.h.

tvector<nr_double_t> qucs::hbsolver::posfreqs
private

Definition at line 89 of file hbsolver.h.

qucs::hbsolver::PROP_ACTION

Definition at line 1427 of file hbsolver.cpp.

qucs::hbsolver::PROP_LINEAR

Definition at line 1427 of file hbsolver.cpp.

qucs::hbsolver::PROP_NO_SUBSTRATE

Definition at line 1427 of file hbsolver.cpp.

tvector<nr_complex_t>* qucs::hbsolver::QR
private

Definition at line 118 of file hbsolver.h.

tvector<nr_double_t> qucs::hbsolver::rfreqs
private

Definition at line 90 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::RH
private

Definition at line 119 of file hbsolver.h.

int qucs::hbsolver::runs
private

Definition at line 127 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::VP
private

Definition at line 112 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::VS
private

Definition at line 111 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::vs
private

Definition at line 125 of file hbsolver.h.

tvector<nr_complex_t>* qucs::hbsolver::x
private

Definition at line 124 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::Y
private

Definition at line 99 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::YV
private

Definition at line 103 of file hbsolver.h.

tmatrix<nr_complex_t>* qucs::hbsolver::Z
private

Definition at line 101 of file hbsolver.h.


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