|
|
@ -91,30 +91,12 @@ ASRCload(GENmodel *inModel, CKTcircuit *ckt) |
|
|
for (i = 0; i < here->ASRCtree->numVars; i++) { |
|
|
for (i = 0; i < here->ASRCtree->numVars; i++) { |
|
|
rhs -= (asrc_vals[i] * asrc_derivs[i]); |
|
|
rhs -= (asrc_vals[i] * asrc_derivs[i]); |
|
|
|
|
|
|
|
|
switch (here->ASRCtree->varTypes[i]) { |
|
|
|
|
|
case IF_INSTANCE: |
|
|
|
|
|
if (here->ASRCtype == ASRC_VOLTAGE) { |
|
|
if (here->ASRCtype == ASRC_VOLTAGE) { |
|
|
/* CCVS */ |
|
|
|
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
} else { |
|
|
} else { |
|
|
/* CCCS */ |
|
|
|
|
|
*(here->ASRCposptr[j++]) += asrc_derivs[i] * factor; |
|
|
*(here->ASRCposptr[j++]) += asrc_derivs[i] * factor; |
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
} |
|
|
} |
|
|
break; |
|
|
|
|
|
case IF_NODE: |
|
|
|
|
|
if (here->ASRCtype == ASRC_VOLTAGE) { |
|
|
|
|
|
/* VCVS */ |
|
|
|
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
|
|
|
} else { |
|
|
|
|
|
/* VCCS */ |
|
|
|
|
|
*(here->ASRCposptr[j++]) += asrc_derivs[i] * factor; |
|
|
|
|
|
*(here->ASRCposptr[j++]) -= asrc_derivs[i] * factor; |
|
|
|
|
|
} |
|
|
|
|
|
break; |
|
|
|
|
|
default: |
|
|
|
|
|
return(E_BADPARM); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* Insert the RHS */ |
|
|
/* Insert the RHS */ |
|
|
|