Lines Matching refs:here

35 if((here->ptr = spGetElement(matrix,here->first,((CKTnode*)(second))->number))\
53 SRCinstance *here; local
63 for (here = model->SRCinstances; here != NULL;
64 here = here->SRCnextInstance) {
66 if (here->SRCtype == SRC_V) {
67 if (here->SRCbranch == 0) {
68 error = CKTmkCur(ckt,&tmp,here->SRCname,"branch");
71 here->SRCbranch = tmp->number;
75 here->SRCvalue = here->SRCdcValue;
77 if (here->SRCacGiven && !here->SRCacMGiven)
78 here->SRCacMag = 1;
79 if (here->SRCacGiven && !here->SRCacPGiven)
80 here->SRCacPhase = 0;
81 radians = here->SRCacPhase * M_PI / 180.0;
82 here->SRCacReal = here->SRCacMag * cos(radians);
83 here->SRCacImag = here->SRCacMag * sin(radians);
86 if (!here->SRCdcGiven) {
88 if (here->SRCfuncTGiven) {
91 &(here->SRCname));
96 &(here->SRCname));
101 here->SRCstate = *states;
103 if (here->SRCtree) {
104 if (here->SRCtree->numVars) {
105 *states += here->SRCtree->numVars;
106 here->SRCvalues = (double *)
107 MALLOC((here->SRCtree->numVars)*sizeof(double));
108 if (here->SRCvalues == NULL)
110 here->SRCderivs = (double *)
111 MALLOC((here->SRCtree->numVars)*sizeof(double));
112 if (here->SRCderivs == NULL)
114 here->SRCeqns = (int *)
115 MALLOC((here->SRCtree->numVars)*sizeof(int));
116 if (here->SRCeqns == NULL)
119 here->SRCacValues = (double *)
120 MALLOC((here->SRCtree->numVars + 1)*sizeof(double));
121 if (here->SRCacValues == NULL)
124 else if (here->SRCccCoeffGiven) {
125 here->SRCcontBranch = CKTfndBranch(ckt,here->SRCcontName);
126 if (here->SRCcontBranch == 0) {
128 namarray[0] = here->SRCname;
129 namarray[1] = here->SRCcontName;
136 if (here->SRCtype == SRC_V) {
145 if (here->SRCacGiven)
151 if (here->SRCposNode) {
152 *(here->SRCposIbrptr) += 1.0;
153 *(here->SRCibrPosptr) += 1.0;
155 if (here->SRCnegNode) {
156 *(here->SRCnegIbrptr) -= 1.0;
157 *(here->SRCibrNegptr) -= 1.0;
161 if (here->SRCccCoeffGiven) {
163 here->SRCtranFunc = src_ccvs;
164 here->SRCdcFunc = src_ccvs;
167 else if (here->SRCvcCoeffGiven) {
170 here->SRCtranFunc = src_vcvs;
171 here->SRCdcFunc = src_vcvs;
177 if (here->SRCccCoeffGiven) {
180 here->SRCtranFunc = src_cccs;
181 here->SRCdcFunc = src_cccs;
184 else if (here->SRCvcCoeffGiven) {
189 here->SRCtranFunc = src_vccs;
190 here->SRCdcFunc = src_vccs;
195 if (here->SRCtree == NULL) {
196 here->SRCtranFunc = src_dc;
197 here->SRCdcFunc = src_dc;
200 if (here->SRCtree->numVars == 0) {
201 here->SRCtranFunc = src_func0;
202 if (here->SRCdcGiven)
203 here->SRCdcFunc = src_dc;
205 here->SRCdcFunc = src_func0;
208 here->SRCtranFunc = src_func1;
209 if (here->SRCdcGiven)
210 here->SRCdcFunc = src_dc;
212 here->SRCdcFunc = src_func1;
218 j = here->SRCtree->numVars;
219 if (here->SRCtype == SRC_I) j *= 2;
221 here->SRCposptr = (double **)MALLOC(j * sizeof(double *));
223 for (j = 0,i = 0; i < here->SRCtree->numVars; i++) {
224 switch (here->SRCtree->varTypes[i]) {
227 here->SRCcontBranch = CKTfndBranch(ckt,
228 here->SRCtree->vars[i].uValue);
229 if (here->SRCcontBranch == 0) {
231 namarray[0] = here->SRCname;
232 namarray[1] = here->SRCtree->vars[i].uValue;
238 if (here->SRCtype == SRC_V) {
241 else if (here->SRCtype == SRC_I) {
248 here->SRCeqns[i] = here->SRCcontBranch;
252 if (here->SRCtype == SRC_V) {
254 here->SRCtree->vars[i].nValue);
256 else if(here->SRCtype == SRC_I) {
258 here->SRCtree->vars[i].nValue);
260 here->SRCtree->vars[i].nValue);
265 here->SRCeqns[i] = ((CKTnode *)(here->SRCtree->vars[i].
281 src_ccvs(ckt,here) in src_ccvs() argument
284 SRCinstance *here;
286 *(here->SRCibrContBrptr) += here->SRCcoeff;
291 src_vcvs(ckt,here) in src_vcvs() argument
294 SRCinstance *here;
296 *(here->SRCibrContPosptr) -= here->SRCcoeff;
297 *(here->SRCibrContNegptr) += here->SRCcoeff;
302 src_cccs(ckt,here) in src_cccs() argument
305 SRCinstance *here;
307 *(here->SRCposContBrptr) += here->SRCcoeff;
308 *(here->SRCnegContBrptr) -= here->SRCcoeff;
313 src_vccs(ckt,here) in src_vccs() argument
316 SRCinstance *here;
318 *(here->SRCposContPosptr) += here->SRCcoeff;
319 *(here->SRCposContNegptr) -= here->SRCcoeff;
320 *(here->SRCnegContPosptr) -= here->SRCcoeff;
321 *(here->SRCnegContNegptr) += here->SRCcoeff;
326 src_dc(ckt,here) in src_dc() argument
329 SRCinstance *here;
331 double rhs = ckt->CKTsrcFact * here->SRCdcValue;
333 if (here->SRCtype == SRC_V) {
334 *(ckt->CKTrhs + here->SRCbranch) = rhs;
337 *(ckt->CKTrhs + (here->SRCposNode)) -= rhs;
338 *(ckt->CKTrhs + (here->SRCnegNode)) += rhs;
344 src_func0(ckt,here) in src_func0() argument
347 SRCinstance *here;
355 rhs = ckt->CKTsrcFact * here->SRCdcValue;
356 else if ((*(here->SRCtree->IFeval))
357 (here->SRCtree,ckt->CKTgmin,&rhs,NULL,
361 here->SRCvalue = rhs;
365 here->SRCacValues[0] = rhs;
370 rhs = here->SRCvalue;
373 if (here->SRCtype == SRC_V) {
374 *(ckt->CKTrhs + here->SRCbranch) = rhs;
377 *(ckt->CKTrhs + (here->SRCposNode)) -= rhs;
378 *(ckt->CKTrhs + (here->SRCnegNode)) += rhs;
384 src_func1(ckt,here) in src_func1() argument
387 SRCinstance *here;
393 for (i = 0; i < here->SRCtree->numVars; i++) {
394 here->SRCvalues[i] =
395 *(ckt->CKTrhsOld + here->SRCeqns[i]);
400 for (i = 0; i < here->SRCtree->numVars; i++) {
401 here->SRCvalues[i] =
402 *(ckt->CKTstate1 + here->SRCstate + i)*d[0] +
403 *(ckt->CKTstate2 + here->SRCstate + i)*d[1] +
404 *(ckt->CKTstate3 + here->SRCstate + i)*d[2] +
405 *(ckt->CKTstate0 + here->SRCstate + i)*d[3];
409 for (i = 0; i < here->SRCtree->numVars; i++) {
410 here->SRCvalues[i] = 0;
414 for (i = 0; i < here->SRCtree->numVars; i++) {
415 here->SRCvalues[i] =
416 *(ckt->CKTstate1 + here->SRCstate + i);
420 for (i = 0; i < here->SRCtree->numVars; i++) {
421 *(ckt->CKTstate0 + here->SRCstate + i) =
422 here->SRCvalues[i];
426 if ((*(here->SRCtree->IFeval))
427 (here->SRCtree,ckt->CKTgmin,&rhs,here->SRCvalues,
428 here->SRCderivs,&ckt->CKTtime) == OK) {
431 here->SRCprev = rhs;
433 if (here->SRCtype == SRC_V) {
434 for (i = 0; i < here->SRCtree->numVars; i++) {
435 deriv = here->SRCderivs[i];
436 rhs -= (here->SRCvalues[i] * deriv);
437 *(here->SRCposptr[i]) -= deriv;
439 *(ckt->CKTrhs + here->SRCbranch) = rhs;
442 for (j = 0,i = 0; i < here->SRCtree->numVars; i++) {
443 deriv = here->SRCderivs[i];
444 rhs -= (here->SRCvalues[i] * deriv);
445 *(here->SRCposptr[j++]) += deriv;
446 *(here->SRCposptr[j++]) -= deriv;
448 *(ckt->CKTrhs + (here->SRCposNode)) -= rhs;
449 *(ckt->CKTrhs + (here->SRCnegNode)) += rhs;
454 for (i = 0; i < here->SRCtree->numVars; i++) {
455 here->SRCacValues[i] = here->SRCderivs[i];
457 here->SRCacValues[here->SRCtree->numVars] = rhs;