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

/**********
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;
}