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).

This commit is contained in:
Brian Taylor 2023-11-06 14:55:02 -08:00 committed by Holger Vogt
parent 35d338f256
commit 295f212de8
6 changed files with 16 additions and 2 deletions

View File

@ -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

View File

@ -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)) {

View File

@ -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)) {

View File

@ -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)) {

View File

@ -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)) {

View File

@ -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) {