Prepare Cshunt: add a cpacitor to each voltage node
Function inppas4() will add the extra caps, to be done.
This commit is contained in:
parent
db5c6cd0ec
commit
f8357dad88
|
|
@ -1336,6 +1336,10 @@ inp_dodeck(
|
|||
}
|
||||
} // if (!noparse) . . .
|
||||
|
||||
/* If option cshunt is given, add capacitors to each voltage node */
|
||||
if (ft_curckt->ci_defTask->TSKcshunt > 0.)
|
||||
INPpas4(ckt, tab);
|
||||
|
||||
/* add title of deck to data base */
|
||||
/* this won't work if the title is the empty string
|
||||
* cp_addkword() doesn't work for tt === ""
|
||||
|
|
|
|||
|
|
@ -215,6 +215,7 @@ struct CKTcircuit {
|
|||
#endif /* NEWTRUNC */
|
||||
double CKTgmin; /* .options GMIN */
|
||||
double CKTgshunt; /* .options RSHUNT */
|
||||
double CKTcshunt; /* .options CSHUNT */
|
||||
double CKTdelmin; /* minimum time step for tran analysis */
|
||||
double CKTtrtol; /* .options TRTOL */
|
||||
double CKTfinalTime; /* TSTOP */
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ void INPpas1(CKTcircuit *, struct card *, INPtables *);
|
|||
void INPpas2(CKTcircuit *, struct card *, INPtables *, TSKtask *);
|
||||
void INPpas3(
|
||||
CKTcircuit *, struct card *, INPtables *, TSKtask *, IFparm *, int);
|
||||
void INPpas4(CKTcircuit *, INPtables *);
|
||||
int INPpName(char *, IFvalue *, CKTcircuit *, int, GENinstance *);
|
||||
int INPtermInsert(CKTcircuit *, char **, INPtables *, CKTnode **);
|
||||
int INPtermSearch(CKTcircuit*, char**, INPtables*, CKTnode**);
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ enum {
|
|||
OPT_XMU,
|
||||
OPT_INDVERBOSITY,
|
||||
OPT_EPSMIN,
|
||||
OPT_CSHUNT,
|
||||
};
|
||||
|
||||
#ifdef XSPICE
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ struct TSKtask {
|
|||
#endif /* NEWTRUNC */
|
||||
double TSKgmin;
|
||||
double TSKgshunt; /* shunt conductance (CKTdiagGmin) */
|
||||
double TSKcshunt; /* shunt capacitor to ground */
|
||||
double TSKdelmin;
|
||||
double TSKtrtol;
|
||||
double TSKdefaultMosM;
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ CKTdoJob(CKTcircuit *ckt, int reset, TSKtask *task)
|
|||
ckt->CKTvoltTol = task->TSKvoltTol;
|
||||
ckt->CKTgmin = task->TSKgmin;
|
||||
ckt->CKTgshunt = task->TSKgshunt;
|
||||
ckt->CKTcshunt = task->TSKcshunt;
|
||||
ckt->CKTdelmin = task->TSKdelmin;
|
||||
ckt->CKTtrtol = task->TSKtrtol;
|
||||
#ifdef XSPICE
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ CKTnewTask(CKTcircuit *ckt, TSKtask **taskPtr, IFuid taskName, TSKtask **defPtr)
|
|||
/* use the application defaults */
|
||||
tsk->TSKgmin = 1e-12;
|
||||
tsk->TSKgshunt = 0;
|
||||
tsk->TSKcshunt = -1;
|
||||
tsk->TSKabstol = 1e-12;
|
||||
tsk->TSKreltol = 1e-3;
|
||||
tsk->TSKchgtol = 1e-14;
|
||||
|
|
|
|||
|
|
@ -172,6 +172,9 @@ CKTsetOpt(CKTcircuit *ckt, JOB *anal, int opt, IFvalue *val)
|
|||
case OPT_EPSMIN:
|
||||
task->TSKepsmin = val->rValue;
|
||||
break;
|
||||
case OPT_CSHUNT:
|
||||
task->TSKcshunt = val->rValue;
|
||||
break;
|
||||
/* gtri - begin - wbk - add new options */
|
||||
#ifdef XSPICE
|
||||
case OPT_EVT_MAX_OP_ALTER:
|
||||
|
|
@ -238,6 +241,7 @@ static IFparm OPTtbl[] = {
|
|||
{ "rshunt", OPT_ENH_RSHUNT, IF_SET|IF_REAL, "Shunt resistance from analog nodes to ground" },
|
||||
/* gtri - end - wbk - add new options */
|
||||
#endif
|
||||
{ "cshunt", OPT_CSHUNT, IF_SET|IF_REAL, "Shunt capacitor from analog nodes to ground" },
|
||||
{ "noopiter", OPT_NOOPITER,IF_SET|IF_FLAG,"Go directly to gmin stepping" },
|
||||
{ "gmin", OPT_GMIN,IF_SET|IF_REAL,"Minimum conductance" },
|
||||
{ "gshunt", OPT_GSHUNT,IF_SET|IF_REAL,"Shunt conductance" },
|
||||
|
|
|
|||
|
|
@ -1336,6 +1336,7 @@
|
|||
<ClInclude Include="..\src\spicelib\parser\inppas1.h" />
|
||||
<ClInclude Include="..\src\spicelib\parser\inppas2.h" />
|
||||
<ClInclude Include="..\src\spicelib\parser\inppas3.h" />
|
||||
<ClInclude Include="..\src\spicelib\parser\inppas4.h" />
|
||||
<ClInclude Include="..\src\spicelib\parser\inpxx.h" />
|
||||
<ClInclude Include="..\src\winmain.h" />
|
||||
<ClInclude Include=".\src\include\inttypes.h" />
|
||||
|
|
@ -2655,6 +2656,7 @@
|
|||
<ClCompile Include="..\src\spicelib\parser\inppas1.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inppas2.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inppas3.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inppas4.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inppname.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inpptree.c" />
|
||||
<ClCompile Include="..\src\spicelib\parser\inpsymt.c" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue