Jspice3
jfetpzld.c File Reference
#include "spice.h"
#include <stdio.h>
#include "jfetdefs.h"
#include "sperror.h"
Include dependency graph for jfetpzld.c:

Go to the source code of this file.

Functions

int JFETpzLoad (GENmodel *inModel, CKTcircuit *ckt, SPcomplex *s)
 

Function Documentation

int JFETpzLoad ( GENmodel inModel,
CKTcircuit ckt,
SPcomplex s 
)

Definition at line 20 of file jfetpzld.c.

24 {
25  register JFETmodel *model = (JFETmodel*)inModel;
26  register JFETinstance *here;
27  double gdpr;
28  double gspr;
29  double gm;
30  double gds;
31  double ggs;
32  double xgs;
33  double ggd;
34  double xgd;
35 
36  for( ; model != NULL; model = model->JFETnextModel ) {
37 
38  for( here = model->JFETinstances; here != NULL;
39  here = here->JFETnextInstance) {
40 
41 
42  gdpr=model->JFETdrainResist * here->JFETarea;
43  gspr=model->JFETsourceResist * here->JFETarea;
44  gm= *(ckt->CKTstate0 + here->JFETgm) ;
45  gds= *(ckt->CKTstate0 + here->JFETgds) ;
46  ggs= *(ckt->CKTstate0 + here->JFETggs) ;
47  xgs= *(ckt->CKTstate0 + here->JFETqgs) ;
48  ggd= *(ckt->CKTstate0 + here->JFETggd) ;
49  xgd= *(ckt->CKTstate0 + here->JFETqgd) ;
50  *(here->JFETdrainDrainPtr ) += gdpr;
51  *(here->JFETgateGatePtr ) += ggd+ggs;
52  *(here->JFETgateGatePtr ) += (xgd+xgs) * s->real;
53  *(here->JFETgateGatePtr +1) += (xgd+xgs) * s->imag;
54  *(here->JFETsourceSourcePtr ) += gspr;
55  *(here->JFETdrainPrimeDrainPrimePtr ) += gdpr+gds+ggd;
56  *(here->JFETdrainPrimeDrainPrimePtr ) += xgd * s->real;
57  *(here->JFETdrainPrimeDrainPrimePtr +1) += xgd * s->imag;
58  *(here->JFETsourcePrimeSourcePrimePtr ) += gspr+gds+gm+ggs;
59  *(here->JFETsourcePrimeSourcePrimePtr ) += xgs * s->real;
60  *(here->JFETsourcePrimeSourcePrimePtr +1) += xgs * s->imag;
61  *(here->JFETdrainDrainPrimePtr ) -= gdpr;
62  *(here->JFETgateDrainPrimePtr ) -= ggd;
63  *(here->JFETgateDrainPrimePtr ) -= xgd * s->real;
64  *(here->JFETgateDrainPrimePtr +1) -= xgd * s->imag;
65  *(here->JFETgateSourcePrimePtr ) -= ggs;
66  *(here->JFETgateSourcePrimePtr ) -= xgs * s->real;
67  *(here->JFETgateSourcePrimePtr +1) -= xgs * s->imag;
68  *(here->JFETsourceSourcePrimePtr ) -= gspr;
69  *(here->JFETdrainPrimeDrainPtr ) -= gdpr;
70  *(here->JFETdrainPrimeGatePtr ) += (-ggd+gm);
71  *(here->JFETdrainPrimeGatePtr ) -= xgd * s->real;
72  *(here->JFETdrainPrimeGatePtr +1) -= xgd * s->imag;
73  *(here->JFETdrainPrimeSourcePrimePtr ) += (-gds-gm);
74  *(here->JFETsourcePrimeGatePtr ) += (-ggs-gm);
75  *(here->JFETsourcePrimeGatePtr ) -= xgs * s->real;
76  *(here->JFETsourcePrimeGatePtr +1) -= xgs * s->imag;
77  *(here->JFETsourcePrimeSourcePtr ) -= gspr;
78  *(here->JFETsourcePrimeDrainPrimePtr ) -= gds;
79 
80  }
81  }
82  return(OK);
83 }
double * JFETdrainDrainPrimePtr
Definition: jfetdefs.h:35
double * JFETsourcePrimeGatePtr
Definition: jfetdefs.h:49
double * JFETsourceSourcePtr
Definition: jfetdefs.h:59
double * JFETgateGatePtr
Definition: jfetdefs.h:57
double real
Definition: complex.h:13
JFETinstance * JFETinstances
Definition: jfetdefs.h:169
double * JFETgateDrainPrimePtr
Definition: jfetdefs.h:37
double * JFETdrainPrimeDrainPrimePtr
Definition: jfetdefs.h:61
double JFETarea
Definition: jfetdefs.h:134
#define OK
Definition: iferrmsg.h:17
double * JFETsourceSourcePrimePtr
Definition: jfetdefs.h:41
double * JFETdrainPrimeDrainPtr
Definition: jfetdefs.h:43
#define NULL
Definition: spdefs.h:121
double * JFETsourcePrimeSourcePrimePtr
Definition: jfetdefs.h:63
struct sJFETmodel * JFETnextModel
Definition: jfetdefs.h:167
static char model[32]
Definition: subckt.c:76
double * JFETdrainPrimeGatePtr
Definition: jfetdefs.h:45
double * JFETdrainPrimeSourcePrimePtr
Definition: jfetdefs.h:47
double * JFETgateSourcePrimePtr
Definition: jfetdefs.h:39
double imag
Definition: complex.h:14
struct sJFETinstance * JFETnextInstance
Definition: jfetdefs.h:25
double JFETsourceResist
Definition: jfetdefs.h:178
double * JFETsourcePrimeDrainPrimePtr
Definition: jfetdefs.h:53
double JFETdrainResist
Definition: jfetdefs.h:177
double * JFETdrainDrainPtr
Definition: jfetdefs.h:55
double * JFETsourcePrimeSourcePtr
Definition: jfetdefs.h:51