Browse Source

When CIDER is detected, until KLU works with CIDER, print Error: CIDER simulation is not (yet) supported with 'option klu'. Use 'option sparse' instead. and then call controlled exit(1).

pre-master-46
Brian Taylor 2 years ago
committed by Holger Vogt
parent
commit
295f212de8
  1. 11
      src/include/ngspice/cidersupt.h
  2. 1
      src/spicelib/devices/nbjt/nbjtset.c
  3. 2
      src/spicelib/devices/nbjt2/nbt2set.c
  4. 1
      src/spicelib/devices/numd/numdset.c
  5. 1
      src/spicelib/devices/numd2/nud2set.c
  6. 2
      src/spicelib/devices/numos/nummset.c

11
src/include/ngspice/cidersupt.h

@ -89,6 +89,15 @@ extern BOOLEAN hasSORConverged(double *, double *, int);
extern BOOLEAN foundError(int );
extern BOOLEAN compareFiletypeVar(char *);
#ifdef KLU
#define klu_support_for_cider \
if (ckt->CKTkluMODE) { \
fprintf(stderr, "Error: CIDER simulation is not (yet) supported with 'option klu'.\n"); \
fprintf(stderr, " Use 'option sparse' instead.\n"); \
controlled_exit(1); \
}
#else
#define klu_support_for_cider
#endif
#endif

1
src/spicelib/devices/nbjt/nbjtset.c

@ -44,6 +44,7 @@ NBJTsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
ONEmaterial *pM, *pMaterial = NULL, *materialList = NULL;
double startTime;
klu_support_for_cider
/* loop through all the diode models */
for (; model != NULL; model = NBJTnextModel(model)) {

2
src/spicelib/devices/nbjt2/nbt2set.c

@ -47,7 +47,7 @@ NBJT2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
DOPtable *dopTableList = NULL;
double startTime;
klu_support_for_cider
/* loop through all the models */
for (; model != NULL; model = NBJT2nextModel(model)) {

1
src/spicelib/devices/numd/numdset.c

@ -45,6 +45,7 @@ NUMDsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
DOPtable *dopTableList = NULL;
double startTime;
klu_support_for_cider
/* loop through all the models */
for (; model != NULL; model = NUMDnextModel(model)) {

1
src/spicelib/devices/numd2/nud2set.c

@ -47,6 +47,7 @@ NUMD2setup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
DOPtable *dopTableList = NULL;
double startTime;
klu_support_for_cider
/* loop through all the models */
for (; model != NULL; model = NUMD2nextModel(model)) {

2
src/spicelib/devices/numos/nummset.c

@ -47,6 +47,8 @@ NUMOSsetup(SMPmatrix *matrix, GENmodel *inModel, CKTcircuit *ckt, int *states)
DOPtable *dopTableList = NULL;
double startTime;
klu_support_for_cider
/* loop through all the models */
for (; model != NULL; model = NUMOSnextModel(model)) {
if (!model->NUMOSpInfo) {

Loading…
Cancel
Save