You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
/**********
|
|
Copyright 1991 Regents of the University of California. All rights reserved.
|
|
Modified: 2000 AlansFixes
|
|
**********/
|
|
|
|
#include "ngspice.h"
|
|
#include "cktdefs.h"
|
|
#include "trandefs.h"
|
|
#include "iferrmsg.h"
|
|
|
|
/*
|
|
* this used to be in setup, but we need it here now
|
|
* (must be done after mode is set as below)
|
|
*/
|
|
|
|
int TRANinit(CKTcircuit *ckt, JOB *job)
|
|
{
|
|
ckt->CKTfinalTime = ((TRANan*)job)->TRANfinalTime;
|
|
ckt->CKTstep = ((TRANan*)job)->TRANstep;
|
|
ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime;
|
|
ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep;
|
|
|
|
|
|
|
|
/* The following code has been taken from macspice 3f4 (A. Wilson)
|
|
in the file traninit.new.c - Seems interesting */
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ckt->CKTdelmin = 1e-11*ckt->CKTmaxStep; /* XXX */
|
|
ckt->CKTmode = ((TRANan*)job)->TRANmode;
|
|
|
|
return OK;
|
|
}
|