circuit flag CKTvarHertz
This commit is contained in:
parent
af4e5ebcdc
commit
df5931e570
|
|
@ -1,6 +1,6 @@
|
|||
2010-03-20 Holger Vogt
|
||||
* com_compose.c: comment corrected
|
||||
* subckt.c, cktdefs.h, acan.c, ifeval.c, inp2b.c, inpptree.c:
|
||||
* subckt.c, cktdefs.h, acan.c, ifeval.c, inp2b.c, inpptree.c, cktinit.c:
|
||||
Variable HERTZ added to B source
|
||||
|
||||
2010-03-16 Holger Vogt
|
||||
|
|
|
|||
|
|
@ -178,8 +178,6 @@ typedef struct {
|
|||
#define MODEINITTRAN 0x1000
|
||||
#define MODEINITPRED 0x2000
|
||||
|
||||
#define MODEINITHERTZ 0x4000
|
||||
|
||||
/* old 'nosolv' paramater */
|
||||
#define MODEUIC 0x10000l
|
||||
|
||||
|
|
@ -255,7 +253,7 @@ typedef struct {
|
|||
double CKTrelDv; /* rel limit for iter-iter voltage change */
|
||||
int CKTtroubleNode; /* Non-convergent node number */
|
||||
GENinstance *CKTtroubleElt; /* Non-convergent device instance */
|
||||
|
||||
int CKTvarHertz; /* variable HERTZ in B source */
|
||||
/* gtri - evt - wbk - 5/20/91 - add event-driven and enhancements data */
|
||||
#ifdef XSPICE
|
||||
Evt_Ckt_Data_t *evt; /* all data about event driven stuff */
|
||||
|
|
|
|||
|
|
@ -230,7 +230,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
ckt->CKTomega = 2.0 * M_PI *freq;
|
||||
|
||||
/* Update opertating point, if variable 'hertz' is given */
|
||||
if (ckt->CKTmode & MODEINITHERTZ) {
|
||||
if (ckt->CKTvarHertz) {
|
||||
#ifdef XSPICE
|
||||
/* Call EVTop if event-driven instances exist */
|
||||
|
||||
|
|
@ -256,10 +256,10 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
CKTncDump(ckt);
|
||||
return(error);
|
||||
}
|
||||
ckt->CKTmode = (ckt->CKTmode & MODEUIC) | MODEDCOP | MODEINITSMSIG;
|
||||
error = CKTload(ckt);
|
||||
if(error) return(error);
|
||||
}
|
||||
ckt->CKTmode = (ckt->CKTmode & MODEUIC) | MODEDCOP | MODEINITSMSIG;
|
||||
error = CKTload(ckt);
|
||||
if(error) return(error);
|
||||
|
||||
ckt->CKTmode = (ckt->CKTmode&MODEUIC) | MODEAC;
|
||||
error = NIacIter(ckt);
|
||||
|
|
@ -352,7 +352,7 @@ ACan(CKTcircuit *ckt, int restart)
|
|||
|
||||
freq *= ((ACAN*)ckt->CKTcurJob)->ACfreqDelta;
|
||||
if(((ACAN*)ckt->CKTcurJob)->ACfreqDelta==1) goto endsweep;
|
||||
break;
|
||||
break;
|
||||
case LINEAR:
|
||||
|
||||
#ifdef HAS_WINDOWS
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ CKTinit(void **ckt) /* new circuit to create */
|
|||
sckt->CKTnodeDamping = 0;
|
||||
sckt->CKTabsDv = 0.5;
|
||||
sckt->CKTrelDv = 2.0;
|
||||
sckt->CKTvarHertz = 0;
|
||||
|
||||
#ifdef XSPICE
|
||||
/* gtri - begin - wbk - allocate/initialize substructs */
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ void INP2B(void *ckt, INPtables * tab, card * current)
|
|||
|
||||
/* if we find 'hertz' variable, set flag to actual circuit */
|
||||
if(strstr(current->line, "hertz"))
|
||||
inckt->CKTmode = MODEINITHERTZ;
|
||||
inckt->CKTvarHertz = 1;
|
||||
|
||||
line = current->line;
|
||||
INPgetTok(&line, &name, 1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue