I have added some code from macspice3f4 (from A. Wilson). To enable it, compile with --enable-experimental.
This commit is contained in:
parent
7cbae7037a
commit
ae5950eea8
|
|
@ -18,9 +18,32 @@ int TRANinit(CKTcircuit *ckt, JOB *job)
|
||||||
ckt->CKTstep = ((TRANan*)job)->TRANstep;
|
ckt->CKTstep = ((TRANan*)job)->TRANstep;
|
||||||
ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime;
|
ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime;
|
||||||
ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep;
|
ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* The following code has been taken from macspice 3f4 (A. Wilson)
|
||||||
|
in the file traninit.new.c - Seems interesting */
|
||||||
|
#ifdef EXPERIMENTAL_CODE
|
||||||
|
if(ckt->CKTmaxStep == 0)
|
||||||
|
{
|
||||||
|
if (ckt->CKTstep < ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0)
|
||||||
|
{
|
||||||
|
ckt->CKTmaxStep = ckt->CKTstep;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ckt->CKTmaxStep = ( ckt->CKTfinalTime - ckt->CKTinitTime )/50.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* The original spice code */
|
||||||
if(ckt->CKTmaxStep == 0) {
|
if(ckt->CKTmaxStep == 0) {
|
||||||
ckt->CKTmaxStep = (ckt->CKTfinalTime-ckt->CKTinitTime)/50;
|
ckt->CKTmaxStep = (ckt->CKTfinalTime-ckt->CKTinitTime)/50;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep; /* XXX */
|
ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep; /* XXX */
|
||||||
ckt->CKTmode = ((TRANan*)job)->TRANmode;
|
ckt->CKTmode = ((TRANan*)job)->TRANmode;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue