Post Go back to editing

Unchanged circuit simulates on version 24.0.12 but not on 24.1.5

Category: Software
Product Number: LTspice version 24.1.5
Software Version: 24.1.5

I have a circuit that simulates perfectly on LTspice version 24.0.12 but after updating to version 24.1.5 it does not simulate and produces the following error message:

(515): Expected device instantiation or directive here.

.SIMULATOR DEFAULT

What would cause this? It seems like the new version is expecting something in a different format, but the message is so vague that it's difficult to pinpoint what causes it.

I have a few models instantiated as Spice Directives on the schematic and one reads:

************************************

*BAS70LP;Schottky rectifier

*SIMULATOR=SIMETRIX
*ORIGIN=DZSL_DPG_SU
*DATE=11NOV2011
*VERSION=1

.MODEL BAS70LP D ( IS=1.5n RS=14 ISR=3n BV=75 NBV=300 IBV=15n IKF=.4m
+ CJO=2.04p M=0.19 VJ=.4 N=.99 TT=1.6n EG=.8 XTI=.3 TBV1=.0001 TRS1=.0048)

.SIMULATOR DEFAULT

************************************

Is this model format no longer valid??

  • Hello,

    Try just to remove ".SIMULATOR DEFAULT"

  • This also produces an error in older versions of LTspice.  But in older versions, the simulation completes, then the simulation log pops up with the following error message:
         Error on line 944 : .simulator default
         Unknown control card

    Delivering a syntax error after the simulation completes is not ideal, particularly if it's a long simulation.  The general philosophy in 24.1 is to notify the user of syntax errors before running the simulation, so that issues can be addressed without wasting time on a bad simulation.  In this particular case, the invalid line was innocuous, but nonetheless we would not recommend putting invalid simulator directives in an LTspice simulation. 

  • Understood on the new philosophy, this could be useful especially on long sims. But in a case like this, where the sim could run by ignoring the useless line, wouldn’t a warning be more appropriate than an error which precludes any simulation?

    Follow up issue: after removing that line the simulation attempted to run but failed to converge. Again, the circuit is identical to the one ran on v24.0.12. This new version 24.1.5 touts that it has “convergence improvements”, but in this case it failed to converge where v24.0.12 did. I tried changing the integration method, adjusting Gmin, Abstol, Reltol, Volttol, etc. couldn’t get it to converge on 24.1.5

  • The trouble would be determining what invalid directives should fail, and what should be allowed to continue.  In the case that the user was hoping for the directive to do something, clearly a failure would be the right answer, while if the user expected no effect, a warning would be preferable.  But we don't generally expect netlists to intentionally include directives with no effect, so we've chosen to err in that direction.

    As for convergence, we have generally seen improved convergence in 24.1, but there are always exceptions. You could try adding ".options debugtran" (a new feature in 24.1) and then check the log when the simulation is finished.  Note this option slows down the simulation somewhat, but it provides a report in the log of what devices and nodes are triggering convergence failures.  That said, it does not provide details inside of encrypted models, so it may depend on what you are simulating.  Often, the trouble is near the nodes or devices flagged in the report.  Perhaps this can help you identify where to examine more closely.  Often, adding a very small capacitance to very high impedance nodes can help, but sometimes the fix may be more involved.