remove the CR in some printf's

This commit is contained in:
dwarning 2010-03-09 19:29:44 +00:00
parent 288e0b7214
commit 22d1617182
1 changed files with 58 additions and 57 deletions

View File

@ -51,11 +51,10 @@ ckt->CKTmode = firstmode;
/* first, check if we should try gmin stepping */ /* first, check if we should try gmin stepping */
if (ckt->CKTnumGminSteps >= 1){ if (ckt->CKTnumGminSteps >= 1){
if (ckt->CKTnumGminSteps == 1){ if (ckt->CKTnumGminSteps == 1)
converged = dynamic_gmin(ckt, firstmode, continuemode, iterlim); converged = dynamic_gmin(ckt, firstmode, continuemode, iterlim);
} else { else
converged = spice3_gmin(ckt, firstmode, continuemode, iterlim); converged = spice3_gmin(ckt, firstmode, continuemode, iterlim);
}
} }
if (!converged) /* If gmin-stepping worked... move out */ if (!converged) /* If gmin-stepping worked... move out */
return (0); return (0);
@ -69,16 +68,16 @@ ckt->CKTmode = firstmode;
if (ckt->CKTnumSrcSteps >= 1){ if (ckt->CKTnumSrcSteps >= 1){
if (ckt->CKTnumSrcSteps == 1) if (ckt->CKTnumSrcSteps == 1)
converged = gillespie_src(ckt, firstmode, continuemode, iterlim); converged = gillespie_src(ckt, firstmode, continuemode, iterlim);
else else
converged = spice3_src(ckt, firstmode, continuemode, iterlim); converged = spice3_src(ckt, firstmode, continuemode, iterlim);
} }
#ifdef XSPICE #ifdef XSPICE
/* gtri - begin - wbk - add convergence problem reporting flags */ /* gtri - begin - wbk - add convergence problem reporting flags */
ckt->enh->conv_debug.last_NIiter_call = MIF_FALSE; ckt->enh->conv_debug.last_NIiter_call = MIF_FALSE;
/* gtri - end - wbk - add convergence problem reporting flags */ /* gtri - end - wbk - add convergence problem reporting flags */
#endif #endif
} }
return (converged); return (converged);
} }
@ -165,7 +164,7 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
ckt->CKTmode = firstmode; ckt->CKTmode = firstmode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"starting dynamic Gmin stepping", (IFuid *) NULL); "Starting dynamic gmin stepping", (IFuid *) NULL);
NumNodes = 0; NumNodes = 0;
for (n = ckt->CKTnodes; n; n = n->next) for (n = ckt->CKTnodes; n; n = n->next)
@ -188,7 +187,7 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
success = failed = 0; success = failed = 0;
while ((!success) && (!failed)){ while ((!success) && (!failed)){
fprintf (stderr, "\rTrying gmin = %12.4E ", ckt->CKTdiagGmin); fprintf (stderr, "Trying gmin = %12.4E ", ckt->CKTdiagGmin);
ckt->CKTnoncon = 1; ckt->CKTnoncon = 1;
iters = ckt->CKTstat->STATnumIter; iters = ckt->CKTstat->STATnumIter;
@ -196,64 +195,66 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
iters = (ckt->CKTstat->STATnumIter) - iters; iters = (ckt->CKTstat->STATnumIter) - iters;
if (converged == 0){ if (converged == 0){
ckt->CKTmode = continuemode; ckt->CKTmode = continuemode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"One successful Gmin step", (IFuid *) NULL); "One successful gmin step", (IFuid *) NULL);
if (ckt->CKTdiagGmin <= gtarget){ if (ckt->CKTdiagGmin <= gtarget){
success = 1; success = 1;
} else { } else {
i = 0; i = 0;
for (n = ckt->CKTnodes; n; n = n->next){ for (n = ckt->CKTnodes; n; n = n->next){
OldRhsOld[i] = *(ckt->CKTrhsOld + n->number); OldRhsOld[i] = *(ckt->CKTrhsOld + n->number);
i++; i++;
} }
for (i = 0; i < ckt->CKTnumStates; i++){ for (i = 0; i < ckt->CKTnumStates; i++){
*(OldCKTstate0 + i) = *(ckt->CKTstate0 + i); *(OldCKTstate0 + i) = *(ckt->CKTstate0 + i);
} }
if (iters <= (ckt->CKTdcTrcvMaxIter / 4)){ if (iters <= (ckt->CKTdcTrcvMaxIter / 4)){
factor *= sqrt (factor); factor *= sqrt (factor);
if (factor > ckt->CKTgminFactor) if (factor > ckt->CKTgminFactor)
factor = ckt->CKTgminFactor; factor = ckt->CKTgminFactor;
} }
if (iters > (3 * ckt->CKTdcTrcvMaxIter / 4)) if (iters > (3 * ckt->CKTdcTrcvMaxIter / 4))
factor = sqrt (factor); factor = sqrt (factor);
OldGmin = ckt->CKTdiagGmin; OldGmin = ckt->CKTdiagGmin;
if ((ckt->CKTdiagGmin) < (factor * gtarget)){ if ((ckt->CKTdiagGmin) < (factor * gtarget)){
factor = ckt->CKTdiagGmin / gtarget; factor = ckt->CKTdiagGmin / gtarget;
ckt->CKTdiagGmin = gtarget; ckt->CKTdiagGmin = gtarget;
} else { } else {
ckt->CKTdiagGmin /= factor; ckt->CKTdiagGmin /= factor;
}
} }
} else { }
} else {
if (factor < 1.00005){ if (factor < 1.00005){
failed = 1; failed = 1;
(*(SPfrontEnd->IFerror)) (ERR_WARNING, (*(SPfrontEnd->IFerror)) (ERR_WARNING,
"Last gmin step failed", "Last gmin step failed",
(IFuid *) NULL); (IFuid *) NULL);
} else { } else {
factor = sqrt (sqrt (factor)); (*(SPfrontEnd->IFerror)) (ERR_WARNING,
ckt->CKTdiagGmin = OldGmin / factor; "Further gmin increment",
i = 0; (IFuid *) NULL);
factor = sqrt (sqrt (factor));
ckt->CKTdiagGmin = OldGmin / factor;
for (n = ckt->CKTnodes; n; n = n->next){ i = 0;
for (n = ckt->CKTnodes; n; n = n->next){
*(ckt->CKTrhsOld + n->number) = OldRhsOld[i]; *(ckt->CKTrhsOld + n->number) = OldRhsOld[i];
i++; i++;
} }
for (i = 0; i < ckt->CKTnumStates; i++){ for (i = 0; i < ckt->CKTnumStates; i++){
*(ckt->CKTstate0 + i) = *(OldCKTstate0 + i); *(ckt->CKTstate0 + i) = *(OldCKTstate0 + i);
}
} }
} }
} }
}
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
FREE (OldRhsOld); FREE (OldRhsOld);
@ -272,11 +273,11 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode,
if (converged != 0){ if (converged != 0){
(*(SPfrontEnd->IFerror)) (ERR_WARNING, (*(SPfrontEnd->IFerror)) (ERR_WARNING,
"Dynamic Gmin stepping failed", "Dynamic gmin stepping failed",
(IFuid *) NULL); (IFuid *) NULL);
} else { } else {
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"Dynamic Gmin stepping completed", "Dynamic gmin stepping completed",
(IFuid *) NULL); (IFuid *) NULL);
#ifdef XSPICE #ifdef XSPICE
/* gtri - begin - wbk - add convergence problem reporting flags */ /* gtri - begin - wbk - add convergence problem reporting flags */
@ -310,7 +311,7 @@ spice3_gmin (CKTcircuit * ckt, long int firstmode,
ckt->CKTmode = firstmode; ckt->CKTmode = firstmode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"starting Gmin stepping", (IFuid *) NULL); "Starting gmin stepping", (IFuid *) NULL);
if (ckt->CKTgshunt == 0) if (ckt->CKTgshunt == 0)
ckt->CKTdiagGmin = ckt->CKTgmin; ckt->CKTdiagGmin = ckt->CKTgmin;
@ -329,16 +330,16 @@ spice3_gmin (CKTcircuit * ckt, long int firstmode,
if (converged != 0){ if (converged != 0){
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
(*(SPfrontEnd->IFerror)) (ERR_WARNING, (*(SPfrontEnd->IFerror)) (ERR_WARNING,
"Gmin step failed", (IFuid *) NULL); "gmin step failed", (IFuid *) NULL);
break; break;
} }
ckt->CKTdiagGmin /= ckt->CKTgminFactor; ckt->CKTdiagGmin /= ckt->CKTgminFactor;
ckt->CKTmode = continuemode; ckt->CKTmode = continuemode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"One successful Gmin step", (IFuid *) NULL); "One successful gmin step", (IFuid *) NULL);
} }
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
@ -355,7 +356,7 @@ spice3_gmin (CKTcircuit * ckt, long int firstmode,
if (converged == 0){ if (converged == 0){
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"Gmin stepping completed", (IFuid *) NULL); "gmin stepping completed", (IFuid *) NULL);
#ifdef XSPICE #ifdef XSPICE
/* gtri - begin - wbk - add convergence problem reporting flags */ /* gtri - begin - wbk - add convergence problem reporting flags */
@ -365,7 +366,7 @@ spice3_gmin (CKTcircuit * ckt, long int firstmode,
} else { } else {
(*(SPfrontEnd->IFerror)) (ERR_WARNING, (*(SPfrontEnd->IFerror)) (ERR_WARNING,
"Gmin stepping failed", (IFuid *) NULL); "gmin stepping failed", (IFuid *) NULL);
} }
return (converged); return (converged);
@ -395,7 +396,7 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
ckt->CKTmode = firstmode; ckt->CKTmode = firstmode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"starting source stepping", (IFuid *) NULL); "Starting source stepping", (IFuid *) NULL);
ckt->CKTsrcFact = 0; ckt->CKTsrcFact = 0;
raise = 0.001; raise = 0.001;
@ -404,7 +405,7 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
NumNodes = 0; NumNodes = 0;
for (n = ckt->CKTnodes; n; n = n->next){ for (n = ckt->CKTnodes; n; n = n->next){
NumNodes++; NumNodes++;
} }
OldRhsOld = (double *) MALLOC ((NumNodes + 1) * sizeof (double)); OldRhsOld = (double *) MALLOC ((NumNodes + 1) * sizeof (double));
OldCKTstate0 = OldCKTstate0 =
@ -427,9 +428,9 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
fprintf (stderr, "\n"); fprintf (stderr, "\n");
if (ckt->CKTgshunt <= 0){ if (ckt->CKTgshunt <= 0){
ckt->CKTdiagGmin = ckt->CKTgmin; ckt->CKTdiagGmin = ckt->CKTgmin;
} else { } else {
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
} }
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
ckt->CKTdiagGmin *= 10; ckt->CKTdiagGmin *= 10;
@ -449,21 +450,21 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
if (converged != 0){ if (converged != 0){
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
(*(SPfrontEnd->IFerror)) (ERR_WARNING, (*(SPfrontEnd->IFerror)) (ERR_WARNING,
"Gmin step failed", (IFuid *) NULL); "gmin step failed", (IFuid *) NULL);
#ifdef XSPICE #ifdef XSPICE
/* gtri - begin - wbk - add convergence problem reporting flags */ /* gtri - begin - wbk - add convergence problem reporting flags */
ckt->enh->conv_debug.last_NIiter_call = MIF_FALSE; ckt->enh->conv_debug.last_NIiter_call = MIF_FALSE;
/* gtri - end - wbk - add convergence problem reporting flags */ /* gtri - end - wbk - add convergence problem reporting flags */
#endif #endif
break; break;
} }
ckt->CKTdiagGmin /= 10; ckt->CKTdiagGmin /= 10;
ckt->CKTmode = continuemode; ckt->CKTmode = continuemode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"One successful Gmin step", "One successful gmin step",
(IFuid *) NULL); (IFuid *) NULL);
} }
ckt->CKTdiagGmin = ckt->CKTgshunt; ckt->CKTdiagGmin = ckt->CKTgshunt;
} }
@ -483,7 +484,7 @@ gillespie_src (CKTcircuit * ckt, long int firstmode,
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"One successful source step", (IFuid *) NULL); "One successful source step", (IFuid *) NULL);
ckt->CKTsrcFact = ConvFact + raise; ckt->CKTsrcFact = ConvFact + raise;
} }
if (converged == 0) if (converged == 0)
@ -601,7 +602,7 @@ spice3_src (CKTcircuit * ckt, long int firstmode,
ckt->CKTmode = firstmode; ckt->CKTmode = firstmode;
(*(SPfrontEnd->IFerror)) (ERR_INFO, (*(SPfrontEnd->IFerror)) (ERR_INFO,
"starting source stepping", (IFuid *) NULL); "Starting source stepping", (IFuid *) NULL);
for (i = 0; i <= ckt->CKTnumSrcSteps; i++) for (i = 0; i <= ckt->CKTnumSrcSteps; i++)
{ {