Revise memory allocation for different analysis types
This commit is contained in:
Holger Vogt 2021-09-17 12:10:35 +02:00
parent 601287e949
commit 3cf6857cfc
1 changed files with 7 additions and 2 deletions

View File

@ -1134,12 +1134,12 @@ vlength2delta(int len)
/* TSTOP / TSTEP */
int points = ft_curckt->ci_ckt->CKTtimeListSize;
/* transient and pss analysis (points > 0) upon start */
if (len == 0 && points > 0) {
if ((ft_curckt->ci_ckt->CKTmode & MODETRAN) && len == 0 && points > 0) {
/* number of timesteps plus some overhead */
return points + 100;
}
/* transient and pss if original estimate is exceeded */
else if (points > 0) {
else if ((ft_curckt->ci_ckt->CKTmode & MODETRAN) && points > 0) {
/* check where we are */
double timerel = ft_curckt->ci_ckt->CKTtime / ft_curckt->ci_ckt->CKTfinalTime;
/* return an estimate of the appropriate number of time points, if more than 20% of
@ -1150,6 +1150,11 @@ vlength2delta(int len)
else
return len;
}
/* op */
else if (ft_curckt->ci_ckt->CKTmode & MODEDCOP) {
/* op with length 1 */
return 1;
}
/* other analysis types that do not set CKTtimeListSize */
else
return 1024;