From 5118369d20b4f7cec83dfc69148ca9b82c4ec9ee Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Mon, 28 Oct 2024 12:41:14 +0100 Subject: [PATCH] Improve error message during setup of TXL or CPL --- src/spicelib/devices/cpl/cplsetup.c | 10 ++++++++-- src/spicelib/devices/txl/txlsetup.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/spicelib/devices/cpl/cplsetup.c b/src/spicelib/devices/cpl/cplsetup.c index 7e9052fb1..39feee276 100644 --- a/src/spicelib/devices/cpl/cplsetup.c +++ b/src/spicelib/devices/cpl/cplsetup.c @@ -832,7 +832,10 @@ Gaussian_Elimination2(int dims, int type) max = ABS(A[j][i]); } if (max < epsilon) { - fprintf(stderr, " can not choose a pivot (misc)\n"); + fprintf(stderr, "\nError: Gaussian elimination (misc) fails during setup of CPL\n"); + fprintf(stderr, " All matrix elements are less than %e, \n", epsilon); + fprintf(stderr, " thus cannot choose a pivot.\n"); + fprintf(stderr, " Please check your model parameters.\n"); controlled_exit(EXIT_FAILURE); } if (imax != i) @@ -1767,7 +1770,10 @@ Gaussian_Elimination(int dims) max = ABS(At[j][i]); } if (max < epsi_mult) { - fprintf(stderr, " can not choose a pivot (mult)\n"); + fprintf(stderr, "\nError: Gaussian elimination (mult) fails during setup of CPL\n"); + fprintf(stderr, " All matrix elements are less than %e, \n", epsi_mult); + fprintf(stderr, " thus cannot choose a pivot.\n"); + fprintf(stderr, " Please check your model parameters.\n"); controlled_exit(EXIT_FAILURE); } if (imax != i) diff --git a/src/spicelib/devices/txl/txlsetup.c b/src/spicelib/devices/txl/txlsetup.c index effc0be8b..a0d3df9e8 100644 --- a/src/spicelib/devices/txl/txlsetup.c +++ b/src/spicelib/devices/txl/txlsetup.c @@ -545,7 +545,10 @@ Gaussian_Elimination1(int dims) max = ABS(A[j][i]); } if (max < epsi) { - fprintf(stderr, " can not choose a pivot \n"); + fprintf(stderr, "\nError: Gaussian elimination fails during setup of TXL\n"); + fprintf(stderr, " All matrix elements are less than %e, \n", epsi); + fprintf(stderr, " thus cannot choose a pivot.\n"); + fprintf(stderr, " Please check your model parameters.\n"); controlled_exit(EXIT_FAILURE); } if (imax != i) @@ -905,7 +908,10 @@ Gaussian_Elimination2(int dims) max = ABS(AA[j][i]); } if (max < epsi2) { - fprintf(stderr, " can not choose a pivot \n"); + fprintf(stderr, "\nError: Gaussian elimination fails during setup of TXL\n"); + fprintf(stderr, " All matrix elements are less than %e, \n", epsi2); + fprintf(stderr, " thus cannot choose a pivot.\n"); + fprintf(stderr, " Please check your model parameters.\n"); controlled_exit(EXIT_FAILURE); } if (imax != i)