Bug Fix: bug in gmin stepping.
This commit is contained in:
parent
d0c3eaf5fe
commit
01dc8e5707
|
|
@ -1,3 +1,9 @@
|
|||
2004-02-05 Paolo Nenzi <p.nenzi@ieee.org>
|
||||
|
||||
* src/spicelib/analysis/cktntask.c: Bug: not all the values
|
||||
of TSKtask structure were copied and got a correct default
|
||||
value. The bug showed as an infinite loop in gmin stepping.
|
||||
|
||||
2004-02-10 Paolo Nenzi <p.nenzi@ieee.org>
|
||||
|
||||
* src/frontend/inpcom.c: Applied patch from Dietmar Warning
|
||||
|
|
|
|||
|
|
@ -33,36 +33,45 @@ CKTnewTask(void *ckt, void **taskPtr, IFuid taskName, void **defPtr)
|
|||
def = *(TSKtask **)defPtr;
|
||||
if ((strcmp(taskName,"special")==0) && def ) {
|
||||
/* create options by copying the circuit's defaults */
|
||||
tsk->TSKgmin = def->TSKgmin;
|
||||
tsk->TSKabstol = def->TSKabstol;
|
||||
tsk->TSKreltol = def->TSKreltol;
|
||||
tsk->TSKchgtol = def->TSKchgtol;
|
||||
tsk->TSKvoltTol = def->TSKvoltTol;
|
||||
#ifdef NEWTRUNC
|
||||
tsk->TSKlteReltol = def->TSKlteRelto;
|
||||
tsk->TSKlteAbstol = def->TSKlteAbstol;
|
||||
#endif /* NEWTRUNC */
|
||||
tsk->TSKtrtol = def->TSKtrtol;
|
||||
tsk->TSKbypass = def->TSKbypass;
|
||||
tsk->TSKtranMaxIter = def->TSKtranMaxIter;
|
||||
tsk->TSKdcMaxIter = def->TSKdcMaxIter;
|
||||
tsk->TSKdcTrcvMaxIter = def->TSKdcTrcvMaxIter;
|
||||
tsk->TSKintegrateMethod = def->TSKintegrateMethod;
|
||||
tsk->TSKmaxOrder = def->TSKmaxOrder;
|
||||
tsk->TSKnumSrcSteps = def->TSKnumSrcSteps;
|
||||
tsk->TSKnumGminSteps = def->TSKnumGminSteps;
|
||||
tsk->TSKpivotAbsTol = def->TSKpivotAbsTol;
|
||||
tsk->TSKtemp = def->TSKtemp;
|
||||
tsk->TSKnomTemp = def->TSKnomTemp;
|
||||
tsk->TSKmaxOrder = def->TSKmaxOrder;
|
||||
tsk->TSKintegrateMethod = def->TSKintegrateMethod;
|
||||
tsk->TSKbypass = def->TSKbypass;
|
||||
tsk->TSKdcMaxIter = def->TSKdcMaxIter;
|
||||
tsk->TSKdcTrcvMaxIter = def->TSKdcTrcvMaxIter;
|
||||
tsk->TSKtranMaxIter = def->TSKtranMaxIter;
|
||||
tsk->TSKnumSrcSteps = def->TSKnumSrcSteps;
|
||||
tsk->TSKnumGminSteps = def->TSKnumGminSteps;
|
||||
tsk->TSKgminFactor = def->TSKgminFactor;
|
||||
/* minBreak */
|
||||
tsk->TSKabstol = def->TSKabstol;
|
||||
tsk->TSKpivotAbsTol = def->TSKpivotAbsTol;
|
||||
tsk->TSKpivotRelTol = def->TSKpivotRelTol;
|
||||
tsk->TSKtemp = def->TSKtemp;
|
||||
tsk->TSKnomTemp = def->TSKnomTemp;
|
||||
tsk->TSKreltol = def->TSKreltol;
|
||||
tsk->TSKchgtol = def->TSKchgtol;
|
||||
tsk->TSKvoltTol = def->TSKvoltTol;
|
||||
tsk->TSKgmin = def->TSKgmin;
|
||||
tsk->TSKgshunt = def->TSKgshunt;
|
||||
/* delmin */
|
||||
tsk->TSKtrtol = def->TSKtrtol;
|
||||
tsk->TSKdefaultMosL = def->TSKdefaultMosL;
|
||||
tsk->TSKdefaultMosW = def->TSKdefaultMosW;
|
||||
tsk->TSKdefaultMosAD = def->TSKdefaultMosAD;
|
||||
tsk->TSKdefaultMosAS = def->TSKdefaultMosAS;
|
||||
tsk->TSKnoOpIter= def->TSKnoOpIter;
|
||||
tsk->TSKtryToCompact = def->TSKtryToCompact;
|
||||
tsk->TSKbadMos3 = def->TSKbadMos3;
|
||||
/* fixLimit */
|
||||
tsk->TSKnoOpIter= def->TSKnoOpIter;
|
||||
tsk->TSKtryToCompact = def->TSKtryToCompact;
|
||||
tsk->TSKbadMos3 = def->TSKbadMos3;
|
||||
tsk->TSKkeepOpInfo = def->TSKkeepOpInfo;
|
||||
tsk->TSKcopyNodesets = def->TSKcopyNodesets;
|
||||
tsk->TSKnodeDamping = def->TSKnodeDamping;
|
||||
tsk->TSKabsDv = def->TSKabsDv;
|
||||
tsk->TSKrelDv = def->TSKrelDv;
|
||||
#ifdef NEWTRUNC
|
||||
tsk->TSKlteReltol = def->TSKlteReltol;
|
||||
tsk->TSKlteAbstol = def->TSKlteAbstol;
|
||||
#endif /* NEWTRUNC */
|
||||
} else {
|
||||
/* use the application defaults */
|
||||
#endif /*CDHW*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue