auxiliary define (ANALYSIS*) anal --> `job'
This commit is contained in:
parent
5333ab2a4b
commit
ef04192ec0
18
ChangeLog
18
ChangeLog
|
|
@ -1,3 +1,21 @@
|
||||||
|
2011-12-13 Robert Larice
|
||||||
|
* src/spicelib/analysis/acaskq.c ,
|
||||||
|
* src/spicelib/analysis/acsetp.c ,
|
||||||
|
* src/spicelib/analysis/daskq.c ,
|
||||||
|
* src/spicelib/analysis/dsetparm.c ,
|
||||||
|
* src/spicelib/analysis/naskq.c ,
|
||||||
|
* src/spicelib/analysis/nsetparm.c ,
|
||||||
|
* src/spicelib/analysis/pssaskq.c ,
|
||||||
|
* src/spicelib/analysis/pssinit.c ,
|
||||||
|
* src/spicelib/analysis/psssetp.c ,
|
||||||
|
* src/spicelib/analysis/pzaskq.c ,
|
||||||
|
* src/spicelib/analysis/pzsetp.c ,
|
||||||
|
* src/spicelib/analysis/tfsetp.c ,
|
||||||
|
* src/spicelib/analysis/tranaskq.c ,
|
||||||
|
* src/spicelib/analysis/traninit.c ,
|
||||||
|
* src/spicelib/analysis/transetp.c :
|
||||||
|
auxiliary define (ANALYSIS*) anal --> `job'
|
||||||
|
|
||||||
2011-12-13 Robert Larice
|
2011-12-13 Robert Larice
|
||||||
* autogen.sh ,
|
* autogen.sh ,
|
||||||
* src/spicelib/devices/adms/admst/ngspice.xml :
|
* src/spicelib/devices/adms/admst/ngspice.xml :
|
||||||
|
|
|
||||||
|
|
@ -16,24 +16,26 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((ACAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case AC_START:
|
case AC_START:
|
||||||
value->rValue = ((ACAN*)anal)->ACstartFreq;
|
value->rValue = job->ACstartFreq;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_STOP:
|
case AC_STOP:
|
||||||
value->rValue = ((ACAN*)anal)->ACstopFreq ;
|
value->rValue = job->ACstopFreq ;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_STEPS:
|
case AC_STEPS:
|
||||||
value->iValue = ((ACAN*)anal)->ACnumberSteps;
|
value->iValue = job->ACnumberSteps;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_DEC:
|
case AC_DEC:
|
||||||
if(((ACAN*)anal)->ACstepType == DECADE) {
|
if (job->ACstepType == DECADE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -41,7 +43,7 @@ ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_OCT:
|
case AC_OCT:
|
||||||
if(((ACAN*)anal)->ACstepType == OCTAVE) {
|
if (job->ACstepType == OCTAVE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -49,7 +51,7 @@ ACaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_LIN:
|
case AC_LIN:
|
||||||
if(((ACAN*)anal)->ACstepType == LINEAR) {
|
if (job->ACstepType == LINEAR) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
ACsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
ACsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((ACAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
@ -22,53 +24,53 @@ ACsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
case AC_START:
|
case AC_START:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid for AC start");
|
errMsg = copy("Frequency of 0 is invalid for AC start");
|
||||||
((ACAN*)anal)->ACstartFreq = 1.0;
|
job->ACstartFreq = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((ACAN*)anal)->ACstartFreq = value->rValue;
|
job->ACstartFreq = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_STOP:
|
case AC_STOP:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid for AC stop");
|
errMsg = copy("Frequency of 0 is invalid for AC stop");
|
||||||
((ACAN*)anal)->ACstartFreq = 1.0;
|
job->ACstartFreq = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((ACAN*)anal)->ACstopFreq = value->rValue;
|
job->ACstopFreq = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_STEPS:
|
case AC_STEPS:
|
||||||
((ACAN*)anal)->ACnumberSteps = value->iValue;
|
job->ACnumberSteps = value->iValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_DEC:
|
case AC_DEC:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((ACAN*)anal)->ACstepType = DECADE;
|
job->ACstepType = DECADE;
|
||||||
} else {
|
} else {
|
||||||
if( ((ACAN*)anal)->ACstepType == DECADE) {
|
if (job->ACstepType == DECADE) {
|
||||||
((ACAN*)anal)->ACstepType = 0;
|
job->ACstepType = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_OCT:
|
case AC_OCT:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((ACAN*)anal)->ACstepType = OCTAVE;
|
job->ACstepType = OCTAVE;
|
||||||
} else {
|
} else {
|
||||||
if( ((ACAN*)anal)->ACstepType == OCTAVE) {
|
if (job->ACstepType == OCTAVE) {
|
||||||
((ACAN*)anal)->ACstepType = 0;
|
job->ACstepType = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_LIN:
|
case AC_LIN:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((ACAN*)anal)->ACstepType = LINEAR;
|
job->ACstepType = LINEAR;
|
||||||
} else {
|
} else {
|
||||||
if( ((ACAN*)anal)->ACstepType == LINEAR) {
|
if (job->ACstepType == LINEAR) {
|
||||||
((ACAN*)anal)->ACstepType = 0;
|
job->ACstepType = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -14,24 +14,26 @@ Author: 1988 Jaijeet S Roychowdhury
|
||||||
int
|
int
|
||||||
DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((DISTOAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case D_START:
|
case D_START:
|
||||||
value->rValue = ((DISTOAN*)anal)->DstartF1;
|
value->rValue = job->DstartF1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_STOP:
|
case D_STOP:
|
||||||
value->rValue = ((DISTOAN*)anal)->DstopF1 ;
|
value->rValue = job->DstopF1 ;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_STEPS:
|
case D_STEPS:
|
||||||
value->iValue = ((DISTOAN*)anal)->DnumSteps;
|
value->iValue = job->DnumSteps;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_DEC:
|
case D_DEC:
|
||||||
if(((DISTOAN*)anal)->DstepType == DECADE) {
|
if (job->DstepType == DECADE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -39,7 +41,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_OCT:
|
case D_OCT:
|
||||||
if(((DISTOAN*)anal)->DstepType == OCTAVE) {
|
if (job->DstepType == OCTAVE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -47,7 +49,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_LIN:
|
case D_LIN:
|
||||||
if(((DISTOAN*)anal)->DstepType == LINEAR) {
|
if (job->DstepType == LINEAR) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -55,7 +57,7 @@ DaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_F2OVRF1:
|
case D_F2OVRF1:
|
||||||
value->rValue = ((DISTOAN*)anal)->Df2ovrF1;
|
value->rValue = job->Df2ovrF1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return(E_BADPARM);
|
return(E_BADPARM);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ Author: 1988 Jaijeet S Roychowdhury
|
||||||
int
|
int
|
||||||
DsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
DsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((DISTOAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
@ -22,42 +24,42 @@ DsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
case D_START:
|
case D_START:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid");
|
errMsg = copy("Frequency of 0 is invalid");
|
||||||
((DISTOAN*)anal)->DstartF1 = 1.0;
|
job->DstartF1 = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((DISTOAN*)anal)->DstartF1 = value->rValue;
|
job->DstartF1 = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_STOP:
|
case D_STOP:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid");
|
errMsg = copy("Frequency of 0 is invalid");
|
||||||
((DISTOAN*)anal)->DstartF1 = 1.0;
|
job->DstartF1 = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((DISTOAN*)anal)->DstopF1 = value->rValue;
|
job->DstopF1 = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_STEPS:
|
case D_STEPS:
|
||||||
((DISTOAN*)anal)->DnumSteps = value->iValue;
|
job->DnumSteps = value->iValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_DEC:
|
case D_DEC:
|
||||||
((DISTOAN*)anal)->DstepType = DECADE;
|
job->DstepType = DECADE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_OCT:
|
case D_OCT:
|
||||||
((DISTOAN*)anal)->DstepType = OCTAVE;
|
job->DstepType = OCTAVE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_LIN:
|
case D_LIN:
|
||||||
((DISTOAN*)anal)->DstepType = LINEAR;
|
job->DstepType = LINEAR;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case D_F2OVRF1:
|
case D_F2OVRF1:
|
||||||
((DISTOAN*)anal)->Df2ovrF1 = value->rValue;
|
job->Df2ovrF1 = value->rValue;
|
||||||
((DISTOAN*)anal)->Df2wanted = 1;
|
job->Df2wanted = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -13,24 +13,26 @@ Author: 1987 Gary W. Ng
|
||||||
int
|
int
|
||||||
NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((NOISEAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case N_OUTPUT:
|
case N_OUTPUT:
|
||||||
value->nValue = ((NOISEAN*)anal)->output;
|
value->nValue = job->output;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_OUTREF:
|
case N_OUTREF:
|
||||||
value->nValue = ((NOISEAN*)anal)->outputRef;
|
value->nValue = job->outputRef;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_INPUT:
|
case N_INPUT:
|
||||||
value->uValue = ((NOISEAN*)anal)->input;
|
value->uValue = job->input;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_DEC:
|
case N_DEC:
|
||||||
if(((NOISEAN*)anal)->NstpType == DECADE) {
|
if (job->NstpType == DECADE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -38,7 +40,7 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_OCT:
|
case N_OCT:
|
||||||
if(((NOISEAN*)anal)->NstpType == OCTAVE) {
|
if (job->NstpType == OCTAVE) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -46,7 +48,7 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_LIN:
|
case N_LIN:
|
||||||
if(((NOISEAN*)anal)->NstpType == LINEAR) {
|
if (job->NstpType == LINEAR) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -54,19 +56,19 @@ NaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_STEPS:
|
case N_STEPS:
|
||||||
value->iValue = ((NOISEAN*)anal)->NnumSteps;
|
value->iValue = job->NnumSteps;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_START:
|
case N_START:
|
||||||
value->rValue = ((NOISEAN*)anal)->NstartFreq;
|
value->rValue = job->NstartFreq;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_STOP:
|
case N_STOP:
|
||||||
value->rValue = ((NOISEAN*)anal)->NstopFreq;
|
value->rValue = job->NstopFreq;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_PTSPERSUM:
|
case N_PTSPERSUM:
|
||||||
value->iValue = ((NOISEAN*)anal)->NStpsSm;
|
value->iValue = job->NStpsSm;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -14,60 +14,62 @@ Author: 1987 Gary W. Ng
|
||||||
int
|
int
|
||||||
NsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
NsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((NOISEAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case N_OUTPUT:
|
case N_OUTPUT:
|
||||||
((NOISEAN*)anal)->output = value->nValue;
|
job->output = value->nValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_OUTREF:
|
case N_OUTREF:
|
||||||
((NOISEAN*)anal)->outputRef = value->nValue;
|
job->outputRef = value->nValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_INPUT:
|
case N_INPUT:
|
||||||
((NOISEAN*)anal)->input = value->uValue;
|
job->input = value->uValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_DEC:
|
case N_DEC:
|
||||||
((NOISEAN*)anal)->NstpType = DECADE;
|
job->NstpType = DECADE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_OCT:
|
case N_OCT:
|
||||||
((NOISEAN*)anal)->NstpType = OCTAVE;
|
job->NstpType = OCTAVE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_LIN:
|
case N_LIN:
|
||||||
((NOISEAN*)anal)->NstpType = LINEAR;
|
job->NstpType = LINEAR;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_STEPS:
|
case N_STEPS:
|
||||||
((NOISEAN*)anal)->NnumSteps = value->iValue;
|
job->NnumSteps = value->iValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_START:
|
case N_START:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid");
|
errMsg = copy("Frequency of 0 is invalid");
|
||||||
((NOISEAN*)anal)->NstartFreq = 1.0;
|
job->NstartFreq = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((NOISEAN*)anal)->NstartFreq = value->rValue;
|
job->NstartFreq = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_STOP:
|
case N_STOP:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("Frequency of 0 is invalid");
|
errMsg = copy("Frequency of 0 is invalid");
|
||||||
((NOISEAN*)anal)->NstartFreq = 1.0;
|
job->NstartFreq = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
((NOISEAN*)anal)->NstopFreq = value->rValue;
|
job->NstopFreq = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case N_PTSPERSUM:
|
case N_PTSPERSUM:
|
||||||
((NOISEAN*)anal)->NStpsSm = value->iValue;
|
job->NStpsSm = value->iValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -12,37 +12,39 @@ Author: 2010-05 Stefano Perticaroli ``spertica''
|
||||||
int
|
int
|
||||||
PSSaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
PSSaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((PSSan *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case GUESSED_FREQ:
|
case GUESSED_FREQ:
|
||||||
value->rValue = ((PSSan *)anal)->PSSguessedFreq;
|
value->rValue = job->PSSguessedFreq;
|
||||||
break;
|
break;
|
||||||
case OSC_NODE:
|
case OSC_NODE:
|
||||||
value->nValue = ((PSSan *)anal)->PSSoscNode;
|
value->nValue = job->PSSoscNode;
|
||||||
break;
|
break;
|
||||||
case STAB_TIME:
|
case STAB_TIME:
|
||||||
value->rValue = ((PSSan *)anal)->PSSstabTime;
|
value->rValue = job->PSSstabTime;
|
||||||
break;
|
break;
|
||||||
case PSS_UIC:
|
case PSS_UIC:
|
||||||
if(((PSSan *)anal)->PSSmode & MODEUIC) {
|
if (job->PSSmode & MODEUIC) {
|
||||||
value->iValue = 1;
|
value->iValue = 1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue = 0;
|
value->iValue = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PSS_POINTS:
|
case PSS_POINTS:
|
||||||
value->iValue = ((PSSan *)anal)->PSSpoints;
|
value->iValue = job->PSSpoints;
|
||||||
break;
|
break;
|
||||||
case PSS_HARMS:
|
case PSS_HARMS:
|
||||||
value->iValue = ((PSSan *)anal)->PSSharms;
|
value->iValue = job->PSSharms;
|
||||||
break;
|
break;
|
||||||
case SC_ITER:
|
case SC_ITER:
|
||||||
value->iValue = ((PSSan *)anal)->sc_iter;
|
value->iValue = job->sc_iter;
|
||||||
break;
|
break;
|
||||||
case STEADY_COEFF:
|
case STEADY_COEFF:
|
||||||
value->rValue = ((PSSan *)anal)->steady_coeff;
|
value->rValue = job->steady_coeff;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -8,26 +8,28 @@ Author: 2010-05 Stefano Perticaroli ``spertica''
|
||||||
#include "ngspice/pssdefs.h"
|
#include "ngspice/pssdefs.h"
|
||||||
#include "ngspice/iferrmsg.h"
|
#include "ngspice/iferrmsg.h"
|
||||||
|
|
||||||
int PSSinit(CKTcircuit *ckt, JOB *job)
|
int PSSinit(CKTcircuit *ckt, JOB *anal)
|
||||||
{
|
{
|
||||||
|
#define job ((PSSan *) anal)
|
||||||
|
|
||||||
/* Final time depends on stabilization time requested for PSS
|
/* Final time depends on stabilization time requested for PSS
|
||||||
and on at least one more oscillation period */
|
and on at least one more oscillation period */
|
||||||
ckt->CKTfinalTime = ((PSSan*)job)->PSSstabTime + 2/((PSSan*)job)->PSSguessedFreq;
|
ckt->CKTfinalTime = job->PSSstabTime + 2/job->PSSguessedFreq;
|
||||||
/* Step is chosen empirically to be 1% of PSSguessedFreq */
|
/* Step is chosen empirically to be 1% of PSSguessedFreq */
|
||||||
ckt->CKTstep = 0.01 * (1/((PSSan*)job)->PSSguessedFreq);
|
ckt->CKTstep = 0.01 * (1/job->PSSguessedFreq);
|
||||||
/* Init time should be always zero */
|
/* Init time should be always zero */
|
||||||
ckt->CKTinitTime = 0;
|
ckt->CKTinitTime = 0;
|
||||||
/* MaxStep should not exceed Nyquist criterion */
|
/* MaxStep should not exceed Nyquist criterion */
|
||||||
ckt->CKTmaxStep = 0.5*(1/((PSSan*)job)->PSSguessedFreq);
|
ckt->CKTmaxStep = 0.5*(1/job->PSSguessedFreq);
|
||||||
ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep;
|
ckt->CKTdelmin = 1e-9*ckt->CKTmaxStep;
|
||||||
ckt->CKTmode = ((PSSan*)job)->PSSmode;
|
ckt->CKTmode = job->PSSmode;
|
||||||
/* modified CKTdefs.h for the following - 100609 */
|
/* modified CKTdefs.h for the following - 100609 */
|
||||||
ckt->CKTstabTime = ((PSSan*)job)->PSSstabTime;
|
ckt->CKTstabTime = job->PSSstabTime;
|
||||||
ckt->CKTguessedFreq = ((PSSan*)job)->PSSguessedFreq;
|
ckt->CKTguessedFreq = job->PSSguessedFreq;
|
||||||
ckt->CKTharms = ((PSSan*)job)->PSSharms;
|
ckt->CKTharms = job->PSSharms;
|
||||||
ckt->CKTpsspoints = ((PSSan*)job)->PSSpoints;
|
ckt->CKTpsspoints = job->PSSpoints;
|
||||||
ckt->CKTsc_iter = ((PSSan*)job)->sc_iter;
|
ckt->CKTsc_iter = job->sc_iter;
|
||||||
ckt->CKTsteady_coeff = ((PSSan*)job)->steady_coeff;
|
ckt->CKTsteady_coeff = job->steady_coeff;
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,35 +14,37 @@ Author: 2010-05 Stefano Perticaroli ``spertica''
|
||||||
int
|
int
|
||||||
PSSsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
PSSsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((PSSan *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case GUESSED_FREQ:
|
case GUESSED_FREQ:
|
||||||
((PSSan *)anal)->PSSguessedFreq = value->rValue;
|
job->PSSguessedFreq = value->rValue;
|
||||||
break;
|
break;
|
||||||
case OSC_NODE:
|
case OSC_NODE:
|
||||||
((PSSan *)anal)->PSSoscNode = value->nValue;
|
job->PSSoscNode = value->nValue;
|
||||||
break;
|
break;
|
||||||
case STAB_TIME:
|
case STAB_TIME:
|
||||||
((PSSan *)anal)->PSSstabTime = value->rValue;
|
job->PSSstabTime = value->rValue;
|
||||||
break;
|
break;
|
||||||
case PSS_POINTS:
|
case PSS_POINTS:
|
||||||
((PSSan *)anal)->PSSpoints = value->iValue;
|
job->PSSpoints = value->iValue;
|
||||||
break;
|
break;
|
||||||
case PSS_HARMS:
|
case PSS_HARMS:
|
||||||
((PSSan *)anal)->PSSharms = value->iValue;
|
job->PSSharms = value->iValue;
|
||||||
break;
|
break;
|
||||||
case PSS_UIC:
|
case PSS_UIC:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PSSan *)anal)->PSSmode |= MODEUIC;
|
job->PSSmode |= MODEUIC;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SC_ITER:
|
case SC_ITER:
|
||||||
((PSSan *)anal)->sc_iter = value->iValue;
|
job->sc_iter = value->iValue;
|
||||||
break;
|
break;
|
||||||
case STEADY_COEFF:
|
case STEADY_COEFF:
|
||||||
((PSSan *)anal)->steady_coeff = value->rValue;
|
job->steady_coeff = value->rValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -15,26 +15,28 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((PZAN *) anal)
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case PZ_NODEI:
|
case PZ_NODEI:
|
||||||
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_pos);
|
value->nValue = CKTnum2nod(ckt, job->PZin_pos);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEG:
|
case PZ_NODEG:
|
||||||
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZin_neg);
|
value->nValue = CKTnum2nod(ckt, job->PZin_neg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEJ:
|
case PZ_NODEJ:
|
||||||
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_pos);
|
value->nValue = CKTnum2nod(ckt, job->PZout_pos);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEK:
|
case PZ_NODEK:
|
||||||
value->nValue = CKTnum2nod(ckt, ((PZAN*)anal)->PZout_neg);
|
value->nValue = CKTnum2nod(ckt, job->PZout_neg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_V:
|
case PZ_V:
|
||||||
if( ((PZAN*)anal)->PZinput_type == PZ_IN_VOL) {
|
if (job->PZinput_type == PZ_IN_VOL) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -42,7 +44,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_I:
|
case PZ_I:
|
||||||
if( ((PZAN*)anal)->PZinput_type == PZ_IN_CUR) {
|
if (job->PZinput_type == PZ_IN_CUR) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -50,7 +52,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_POL:
|
case PZ_POL:
|
||||||
if( ((PZAN*)anal)->PZwhich == PZ_DO_POLES) {
|
if (job->PZwhich == PZ_DO_POLES) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -58,7 +60,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_ZER:
|
case PZ_ZER:
|
||||||
if( ((PZAN*)anal)->PZwhich == PZ_DO_ZEROS) {
|
if (job->PZwhich == PZ_DO_ZEROS) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
@ -66,7 +68,7 @@ PZaskQuest(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_PZ:
|
case PZ_PZ:
|
||||||
if( ((PZAN*)anal)->PZwhich == (PZ_DO_POLES | PZ_DO_ZEROS)) {
|
if (job->PZwhich == (PZ_DO_POLES | PZ_DO_ZEROS)) {
|
||||||
value->iValue=1;
|
value->iValue=1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue=0;
|
value->iValue=0;
|
||||||
|
|
|
||||||
|
|
@ -16,53 +16,55 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
PZsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
PZsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((PZAN *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case PZ_NODEI:
|
case PZ_NODEI:
|
||||||
((PZAN*)anal)->PZin_pos = (value->nValue)->number;
|
job->PZin_pos = value->nValue->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEG:
|
case PZ_NODEG:
|
||||||
((PZAN*)anal)->PZin_neg = (value->nValue)->number;
|
job->PZin_neg = value->nValue->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEJ:
|
case PZ_NODEJ:
|
||||||
((PZAN*)anal)->PZout_pos = (value->nValue)->number;
|
job->PZout_pos = value->nValue->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_NODEK:
|
case PZ_NODEK:
|
||||||
((PZAN*)anal)->PZout_neg = (value->nValue)->number;
|
job->PZout_neg = value->nValue->number;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_V:
|
case PZ_V:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PZAN*)anal)->PZinput_type = PZ_IN_VOL;
|
job->PZinput_type = PZ_IN_VOL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_I:
|
case PZ_I:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PZAN*)anal)->PZinput_type = PZ_IN_CUR;
|
job->PZinput_type = PZ_IN_CUR;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_POL:
|
case PZ_POL:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PZAN*)anal)->PZwhich = PZ_DO_POLES;
|
job->PZwhich = PZ_DO_POLES;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_ZER:
|
case PZ_ZER:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PZAN*)anal)->PZwhich = PZ_DO_ZEROS;
|
job->PZwhich = PZ_DO_ZEROS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PZ_PZ:
|
case PZ_PZ:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((PZAN*)anal)->PZwhich = PZ_DO_POLES | PZ_DO_ZEROS;
|
job->PZwhich = PZ_DO_POLES | PZ_DO_ZEROS;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,30 +15,32 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
TFsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
TFsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((TFan *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case TF_OUTPOS:
|
case TF_OUTPOS:
|
||||||
((TFan *)anal)->TFoutPos = value->nValue;
|
job->TFoutPos = value->nValue;
|
||||||
((TFan *)anal)->TFoutIsV = TRUE;
|
job->TFoutIsV = TRUE;
|
||||||
((TFan *)anal)->TFoutIsI = FALSE;
|
job->TFoutIsI = FALSE;
|
||||||
break;
|
break;
|
||||||
case TF_OUTNEG:
|
case TF_OUTNEG:
|
||||||
((TFan *)anal)->TFoutNeg = value->nValue;
|
job->TFoutNeg = value->nValue;
|
||||||
((TFan *)anal)->TFoutIsV = TRUE;
|
job->TFoutIsV = TRUE;
|
||||||
((TFan *)anal)->TFoutIsI = FALSE;
|
job->TFoutIsI = FALSE;
|
||||||
break;
|
break;
|
||||||
case TF_OUTNAME:
|
case TF_OUTNAME:
|
||||||
((TFan *)anal)->TFoutName = value->sValue;
|
job->TFoutName = value->sValue;
|
||||||
break;
|
break;
|
||||||
case TF_OUTSRC:
|
case TF_OUTSRC:
|
||||||
((TFan *)anal)->TFoutSrc = value->uValue;
|
job->TFoutSrc = value->uValue;
|
||||||
((TFan *)anal)->TFoutIsV = FALSE;
|
job->TFoutIsV = FALSE;
|
||||||
((TFan *)anal)->TFoutIsI = TRUE;
|
job->TFoutIsI = TRUE;
|
||||||
break;
|
break;
|
||||||
case TF_INSRC:
|
case TF_INSRC:
|
||||||
((TFan *)anal)->TFinSrc = value->uValue;
|
job->TFinSrc = value->uValue;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -13,24 +13,26 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
TRANaskQuest(CKTcircuit *ckt, JOB *anal, int which,IFvalue *value)
|
TRANaskQuest(CKTcircuit *ckt, JOB *anal, int which,IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((TRANan *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
||||||
case TRAN_TSTOP:
|
case TRAN_TSTOP:
|
||||||
value->rValue = ((TRANan *)anal)->TRANfinalTime;
|
value->rValue = job->TRANfinalTime;
|
||||||
break;
|
break;
|
||||||
case TRAN_TSTEP:
|
case TRAN_TSTEP:
|
||||||
value->rValue = ((TRANan *)anal)->TRANstep;
|
value->rValue = job->TRANstep;
|
||||||
break;
|
break;
|
||||||
case TRAN_TSTART:
|
case TRAN_TSTART:
|
||||||
value->rValue = ((TRANan *)anal)->TRANinitTime;
|
value->rValue = job->TRANinitTime;
|
||||||
break;
|
break;
|
||||||
case TRAN_TMAX:
|
case TRAN_TMAX:
|
||||||
value->rValue = ((TRANan *)anal)->TRANmaxStep;
|
value->rValue = job->TRANmaxStep;
|
||||||
break;
|
break;
|
||||||
case TRAN_UIC:
|
case TRAN_UIC:
|
||||||
if(((TRANan *)anal)->TRANmode & MODEUIC) {
|
if (job->TRANmode & MODEUIC) {
|
||||||
value->iValue = 1;
|
value->iValue = 1;
|
||||||
} else {
|
} else {
|
||||||
value->iValue = 0;
|
value->iValue = 0;
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,14 @@ Modified: 2000 AlansFixes
|
||||||
* (must be done after mode is set as below)
|
* (must be done after mode is set as below)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int TRANinit(CKTcircuit *ckt, JOB *job)
|
int TRANinit(CKTcircuit *ckt, JOB *anal)
|
||||||
{
|
{
|
||||||
ckt->CKTfinalTime = ((TRANan*)job)->TRANfinalTime;
|
#define job ((TRANan *) anal)
|
||||||
ckt->CKTstep = ((TRANan*)job)->TRANstep;
|
|
||||||
ckt->CKTinitTime = ((TRANan*)job)->TRANinitTime;
|
ckt->CKTfinalTime = job->TRANfinalTime;
|
||||||
ckt->CKTmaxStep = ((TRANan*)job)->TRANmaxStep;
|
ckt->CKTstep = job->TRANstep;
|
||||||
|
ckt->CKTinitTime = job->TRANinitTime;
|
||||||
|
ckt->CKTmaxStep = job->TRANmaxStep;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -39,7 +41,7 @@ int TRANinit(CKTcircuit *ckt, JOB *job)
|
||||||
|
|
||||||
|
|
||||||
ckt->CKTdelmin = 1e-11*ckt->CKTmaxStep; /* XXX */
|
ckt->CKTdelmin = 1e-11*ckt->CKTmaxStep; /* XXX */
|
||||||
ckt->CKTmode = ((TRANan*)job)->TRANmode;
|
ckt->CKTmode = job->TRANmode;
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,8 @@ Author: 1985 Thomas L. Quarles
|
||||||
int
|
int
|
||||||
TRANsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
TRANsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
{
|
{
|
||||||
|
#define job ((TRANan *) anal)
|
||||||
|
|
||||||
NG_IGNORE(ckt);
|
NG_IGNORE(ckt);
|
||||||
|
|
||||||
switch(which) {
|
switch(which) {
|
||||||
|
|
@ -22,33 +24,33 @@ TRANsetParm(CKTcircuit *ckt, JOB *anal, int which, IFvalue *value)
|
||||||
case TRAN_TSTOP:
|
case TRAN_TSTOP:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy("TST0P is invalid, must be greater than zero.");
|
errMsg = copy("TST0P is invalid, must be greater than zero.");
|
||||||
((TRANan *)anal)->TRANfinalTime = 1.0;
|
job->TRANfinalTime = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
((TRANan *)anal)->TRANfinalTime = value->rValue;
|
job->TRANfinalTime = value->rValue;
|
||||||
break;
|
break;
|
||||||
case TRAN_TSTEP:
|
case TRAN_TSTEP:
|
||||||
if (value->rValue <= 0.0) {
|
if (value->rValue <= 0.0) {
|
||||||
errMsg = copy( "TSTEP is invalid, must be greater than zero." );
|
errMsg = copy( "TSTEP is invalid, must be greater than zero." );
|
||||||
((TRANan *)anal)->TRANstep = 1.0;
|
job->TRANstep = 1.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
((TRANan *)anal)->TRANstep = value->rValue;
|
job->TRANstep = value->rValue;
|
||||||
break;
|
break;
|
||||||
case TRAN_TSTART:
|
case TRAN_TSTART:
|
||||||
if (value->rValue >= ((TRANan *)anal)->TRANfinalTime ) {
|
if (value->rValue >= job->TRANfinalTime) {
|
||||||
errMsg = copy("TSTART is invalid, must be less than TSTOP.");
|
errMsg = copy("TSTART is invalid, must be less than TSTOP.");
|
||||||
((TRANan *)anal)->TRANinitTime = 0.0;
|
job->TRANinitTime = 0.0;
|
||||||
return(E_PARMVAL);
|
return(E_PARMVAL);
|
||||||
}
|
}
|
||||||
((TRANan *)anal)->TRANinitTime = value->rValue;
|
job->TRANinitTime = value->rValue;
|
||||||
break;
|
break;
|
||||||
case TRAN_TMAX:
|
case TRAN_TMAX:
|
||||||
((TRANan *)anal)->TRANmaxStep = value->rValue;
|
job->TRANmaxStep = value->rValue;
|
||||||
break;
|
break;
|
||||||
case TRAN_UIC:
|
case TRAN_UIC:
|
||||||
if(value->iValue) {
|
if(value->iValue) {
|
||||||
((TRANan *)anal)->TRANmode |= MODEUIC;
|
job->TRANmode |= MODEUIC;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue