# Problem with NDSolve in Mathematica 9

Posted 9 years ago
1187 Views
|
0 Replies
|
0 Total Likes
|
 I'm having trouble by solving the following differential equation in Mathematica 9 and 10, where the code works fine in version 7: ?p = 200*10^(-15); e = 1.60217653*10^(-19); me = 9.1093826*10^(-31); c = 2.99792458*10^(8); ? = 8.854187817*10^(-12); h = 6.626*10^(-34); hbar = h/(2 Pi); ? = 786*10^(-9); n0 = 1.45; mred = 0.635*me ; Eg = 7.5*e; ?r = 220*10^(-15); ? = (2 Pi c)/?; k0 = (n0 ?/c); rhocrit = (?*mred*?^2/(e^2)); H = 2*10^(4); I0 = H*(2 Sqrt[Log[2]])/(?p Sqrt[Pi]); Int1[t_] := I0*Exp[-4 Log[2] (t^2/?p^2)]; ?[Int_] := (?/e)*Sqrt[(mred c n0 ? Eg)/(2 Int)]; ?[Int_] := ?[Int]^2/(1 + ?[Int]^2); ?[Int_] := 1/(1 + ?[Int]^2); ?[Int_] := Pi^2/(2 EllipticK[?[Int]]*EllipticE[?[Int]]); x[Int_] := (2 Eg)/(Pi hbar ? Sqrt[?[Int]])*EllipticE[?[Int]]; ?[Int_] := IntegerPart[x[Int] + 1] - x[Int]; Q[Int_] := Sqrt[(Pi)/(2 EllipticK[?[Int]])] Sum[ Exp[-s Pi ((EllipticK[?[Int]] - EllipticE[?[Int]])/(EllipticE[?[ Int]]))] DawsonF[ Sqrt[?[Int] (s + 2 ?[Int])]], {s, 0, 5}]; WPI[Int_] := If[10^(3) > Int, 0, (2 ?)/(9 Pi) *((? mred )/(hbar Sqrt[?[Int]]))^(3/2)*Q[Int]* Exp[-Pi ((EllipticK[?[Int]] - EllipticE[?[Int]])/(EllipticE[?[Int]]))* IntegerPart[x[Int] + 1]]]; Ekrit[t_] := Eg (1 + 1/(4 ?[Int1[t]]^2)); Ekin[t_] := Ekrit[t]/10; s1 = NDSolve[{sol1'[t] == WPI[Int1[ t]] + (((k0 ? ((16 Pi ?^2 Sqrt[ mred Ekin[t]^3])/(Sqrt[2]*e^4* sol1[t])))/(n0^2 rhocrit (1 + ?^2*(((16 Pi \ ?^2 Sqrt[mred Ekin[t]^3])/(Sqrt[2]*e^4*sol1[t]))^2)))) sol1[ t] Int1[t])/(Eg) - sol1[t]/?r, sol1[-3 ?p] == 1}, sol1, {t, -3.1 ?p, 4 ?p}]; In version 7 there are no error messages and with: LogPlot[Evaluate[sol1[t]/.s1],{t,-2 ?p, 2?p}] I get the expected result:but using the newer version the kernel shuts down without giving an output. Anyone got an idea how to solve this problem?
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.