Jspice3
bjtgetic.c
Go to the documentation of this file.
1 /***************************************************************************
2 JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992
3 Copyright 1990 Regents of the University of California. All rights reserved.
4 Authors: 1985 Thomas L. Quarles
5  1993 Stephen R. Whiteley
6 ****************************************************************************/
7 
8 /*
9  * This routine gets the device initial conditions for the BJTs
10  * from the RHS vector
11  */
12 
13 #include "spice.h"
14 #include <stdio.h>
15 #include "bjtdefs.h"
16 #include "sperror.h"
17 
18 
19 int
20 BJTgetic(inModel,ckt)
21 
22 GENmodel *inModel;
23 CKTcircuit *ckt;
24 {
25 
26  BJTmodel *model = (BJTmodel*)inModel;
27  BJTinstance *here;
28  /*
29  * grab initial conditions out of rhs array. User specified, so use
30  * external nodes to get values
31  */
32 
33  for ( ; model; model = model->BJTnextModel) {
34  for (here = model->BJTinstances; here;
35  here = here->BJTnextInstance) {
36  if (!here->BJTicVBEGiven) {
37  here->BJTicVBE =
38  *(ckt->CKTrhs + here->BJTbaseNode) -
39  *(ckt->CKTrhs + here->BJTemitNode);
40  }
41  if (!here->BJTicVCEGiven) {
42  here->BJTicVCE =
43  *(ckt->CKTrhs + here->BJTcolNode) -
44  *(ckt->CKTrhs + here->BJTemitNode);
45  }
46  }
47  }
48  return (OK);
49 }
BJTinstance * BJTinstances
Definition: bjtdefs.h:259
int BJTgetic(GENmodel *inModel, CKTcircuit *ckt)
Definition: bjtgetic.c:20
struct sBJTmodel * BJTnextModel
Definition: bjtdefs.h:257
struct sBJTinstance * BJTnextInstance
Definition: bjtdefs.h:20
#define OK
Definition: iferrmsg.h:17
unsigned BJTicVBEGiven
Definition: bjtdefs.h:231
int BJTbaseNode
Definition: bjtdefs.h:25
static char model[32]
Definition: subckt.c:76
unsigned BJTicVCEGiven
Definition: bjtdefs.h:232
double BJTicVBE
Definition: bjtdefs.h:33
double BJTicVCE
Definition: bjtdefs.h:34
int BJTcolNode
Definition: bjtdefs.h:24
double * CKTrhs
Definition: cktdefs.h:97
int BJTemitNode
Definition: bjtdefs.h:26