68 double absold, absdvj, maxvj;
81 absvj = js.js_vj < 0 ? -js.js_vj : js.js_vj;
82 temp = *(ckt->CKTstate0 + here->JJvoltage);
83 absold = temp < 0 ? -temp : temp;
84 maxvj =
MAX(absvj,absold);
86 absdvj = temp < 0 ? -temp : temp;
89 temp = model->
JJdelv * 0.5;
93 absvj = js.js_vj < 0 ? -js.js_vj : js.js_vj;
94 maxvj =
MAX(absvj,absold);
96 *(ckt->CKTstate0 + here->JJvoltage);
97 absdvj = temp < 0 ? -temp : temp;
112 js.js_phi = *(ckt->CKTstate1 + here->JJphase);
115 temp += *(ckt->CKTstate1 + here->JJvoltage);
116 js.js_phi += js.js_pfac*temp;
127 if (absvj < model->JJvless)
128 js.js_gqt = here->
JJg0;
129 else if (absvj < model->JJvmore) {
130 js.js_gqt = here->
JJgs;
139 js.js_gqt = here->
JJgn;
142 jj_iv(model,here,&js);
145 jj_ic(model,here,&js);
154 double y0, y1, y2, y3, rag0, *dtfac;
164 y1 = *(ckt->CKTstate1 + here->JJdvdt);
165 y2 = *(ckt->CKTstate2 + here->JJdvdt);
166 y3 = *(ckt->CKTstate3 + here->JJdvdt);
168 y0 = y1*dtfac[0] + y2*dtfac[1] + y3*dtfac[2]
169 + *(ckt->CKTstate0 + here->JJdvdt)*dtfac[3];
171 temp = *(ckt->CKTstate1 + here->JJvoltage);
174 js.js_vj = temp + rag0*y0;
176 js.js_phi = *(ckt->CKTstate1 + here->JJphase);
179 temp += *(ckt->CKTstate1 + here->JJvoltage);
180 js.js_phi += js.js_pfac*temp;
184 y1 = *(ckt->CKTstate1 + here->JJconI);
185 y2 = *(ckt->CKTstate2 + here->JJconI);
186 y3 = *(ckt->CKTstate3 + here->JJconI);
188 js.js_ci = y1*dtfac[0] + y2*dtfac[1] + y3*dtfac[2]
189 + *(ckt->CKTstate0 + here->JJconI)*dtfac[3];
202 absvj = js.js_vj < 0 ? -js.js_vj : js.js_vj;
204 if (absvj < model->JJvless)
205 js.js_gqt = here->
JJg0;
206 else if (absvj < model->JJvmore) {
207 js.js_gqt = here->
JJgs;
216 js.js_gqt = here->
JJgn;
219 jj_iv(model,here,&js);
222 jj_ic(model,here,&js);
237 js.js_vj = here->JJinitVoltage;
238 js.js_phi = here->JJinitPhase;
241 *(ckt->CKTstate1 + here->JJvoltage) = js.js_vj;
242 *(ckt->CKTstate1 + here->JJphase) = js.js_phi;
243 *(ckt->CKTstate1 + here->JJconI) = js.js_ci;
252 absvj = js.js_vj < 0 ? -js.js_vj : js.js_vj;
254 if (absvj < model->JJvless)
255 js.js_gqt = here->
JJg0;
256 else if (absvj < model->JJvmore) {
257 js.js_gqt = here->
JJgs;
266 js.js_gqt = here->
JJgn;
269 jj_iv(model,here,&js);
272 jj_ic(model,here,&js);
#define NI_SUM(ckt, ceq, qcap)
static void jj_limiting()
struct sJJmodel * JJnextModel
struct sJJinstance * JJnextInstance