From a205868427f0c9f50bb898ffbd969aec0a64ea63 Mon Sep 17 00:00:00 2001 From: h_vogt Date: Mon, 20 May 2013 19:13:27 +0200 Subject: [PATCH] dctran.c breakpoint added for uic, bug no. 3606715 --- src/spicelib/analysis/dctran.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/spicelib/analysis/dctran.c b/src/spicelib/analysis/dctran.c index 9716e9fa3..f90493f76 100644 --- a/src/spicelib/analysis/dctran.c +++ b/src/spicelib/analysis/dctran.c @@ -507,7 +507,7 @@ resume: if (ckt->CKTtime == 0.) SetAnalyse( "tran init", 0); else - SetAnalyse( "tran", (int)((ckt->CKTtime * 1000.) / ckt->CKTfinalTime) + 0.5); + SetAnalyse( "tran", (int)((ckt->CKTtime * 1000.) / ckt->CKTfinalTime + 0.5)); #endif ckt->CKTdelta = MIN(ckt->CKTdelta,ckt->CKTmaxStep); @@ -545,6 +545,10 @@ resume: ckt->CKTbreaks[1] - ckt->CKTbreaks[0])); if(firsttime) { + /* set a breakpoint to reduce ringing of current in devices */ + if (ckt->CKTmode&MODEUIC) + CKTsetBreak(ckt,ckt->CKTstep); + ckt->CKTdelta /= 10; #ifdef STEPDEBUG (void)printf("delta cut for initial timepoint\n");