Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ltspice Time Step too small

Status
Not open for further replies.

lambchops511

Member level 1
Joined
Oct 10, 2011
Messages
38
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,539
Hi All,

I am getting a "Time step too small; initial timepoint: trouble with node x"

My SPICE file is as follows:

Code:
MemristorHPTest

********************************
* MemristorHP
.SUBCKT MemristorHP plus minus PARAMS:
+ phio=0.95 Lm=0.0998 w1=0.1261 foff=3.5e-6 ioff=115e-6 aoff=1.2 fon=40e-6 ion=8.9e-6 aon=1.8 b=500e-6 wc=107e-3 
G1      plus      internal value={sgn(V(x))*(1/V(dw))^2*0.0617*(V(phiI)*exp(-V(B)*V(sr))-(V(phiI)+abs(V(x)))*exp(-V(B)*V(sr2)))} 
Esr     sr        0 value={sqrt(V(phiI))} 
Esr2    sr2       0 value={sqrt(V(phiI)+abs(V(x)))} 
Rs      internal  minus 215 
Eg      x         0 value={V(plus)-V(internal)} 
Elamda  Lmda      0 value={Lm/V(w)} 
Ew2     w2        0 value={w1+V(w)-(0.9183/(2.85+4*V(Lmda)-2*abs(V(x))))} 
EDw     dw        0 value={V(w2)-w1} 
EB      B         0 value={10.246*V(dw)} 
ER      R         0 value={(V(w2)/w1)*(V(w)-w1)/(V(w)-V(w2))} 
EphiI   phiI      0 value={phio-abs(V(x))*((w1+V(w2))/(2*V(w)))-1.15*V(Lmda)*V(w)*log(V(R))/V(dw)} 
C1      w         0 1e-9 IC=1.2 
R       w         0 1e8MEG 
Ec      c         0 value={abs(V(internal)-V(minus))/215} 
Emon1   mon1      0 value={((V(w)-aoff)/wc)-(V(c)/b)} 
Emon2   mon2      0 value={(aon-V(w))/wc-(V(c)/b)} 
Goff    0         w value={foff*sinh(stp(V(x))*V(c)/ioff)*exp(-exp(V(mon1))-V(w)/wc)} 
Gon     w         0 value={fon*sinh(stp(-V(x))*V(c)/ion)*exp(-exp(V(mon2))-V(w)/wc)}
.ENDS MemristorHP
********************************
Vtest test GND DC 0 SIN(0 1.8V 1 0 0 0)

R0    test X 1k
Xmemristor    X GND MemristorHP

.TRAN  1m 1 uic

.END
 

Try to decrease the step ceiling. Note that your command
.TRAN 1m 1 uic
is not optimal: the first number 1m has no effect to the simulation run; you have not set the step ceiling, thus it is defined automatically as 1/50=20ms and it is too high.
Try the following:
.TRAN 0 1 0 1m uic
Then it works in PSpice.
I do not work with LtSpice, thus I do not know if GND can be used for the ground. In PSpice, I replaced it by 0 (zero) in your code. Then it works fine.
Hope it helps you.
D.
 

You might look at whether this memristor model is singular
at any point. That's a good way to fail numerically.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top