I'm trying to solve an ODE system with the NDSolve method. This my ODE system, with the BC and the functions V and dV defined:
s = NDSolve[{F'[
t] == -(2 /Sqrt[3]) (F[t]^2/2 + a[t]^2* V[B[ t]])^(1/2)*F[t] -
a[t]^2*dV[B[t]],
a'[t] == a[t]/Sqrt[3] (F[t]^2/2 + a[t]^2* V[B[ t]])^(1/2),
B'[t] == F[t], F[tmin] == Subscript[v, 0], a[tmin] == a0 ,
B[tmin] == Subscript[B, 0] }, {F, a, B}, {t, tmin, tmax}, Method->"ExplicitRungeKutta"]
Where the solution functions are:
F(t), a(t), B(t)
I need the solutions for a big interval, like:
t = [-10^(10), -10^(-10)]
So:
tmin = -10^(10)
tmax = -10^(-10)
But the system seems to be stiff. I'm trying to replace the "ExplicitRungeKutta" method for "StiffnessSwitching method", replacing the method with:
Method -> {"StiffnessSwitching", Method -> {"ExplicitRungeKutta", Automatic}}
But the system seems to remain stiff.
The complete code is:
Needs["DifferentialEquations`NDSolveProblems`"];
Needs["DifferentialEquations`NDSolveUtilities`"];
Needs["NumericalCalculus`"];
V[B_] := 3;
dV[B_] := V'[B];
B0 = 1;
F0 = 0;
a0 = 10^(-10);
tmin = -10^(10);
tmax = -10^(-10);
s = NDSolve[{F'[
t] == -(2 /Sqrt[3]) (F[t]^2/2 + a[t]^2* V[B[ t]])^(1/2)*F[t] -
a[t]^2*dV[B[t]],
a'[t] == a[t]/Sqrt[3] (F[t]^2/2 + a[t]^2* V[B[ t]])^(1/2),
B'[t] == F[t], F[tmin] == F0, a[tmin] == a0 , B[tmin] == B0 }, {F,
a, B}, {t, tmin, tmax}, Method->"ExplicitRungeKutta"]
Question: Is there any way to obtain the solutions of these equations without stiffness? What method should I use?
I'd appreciate much all the answers.
Method -> "StiffnessSwitching"
without invoking RK at all? $\endgroup$v0
? (2) What if it's a singularity and not stiffness? $\endgroup$tmin
&tmax
switched, or istmin
supposed to be greater thantmax
? $\endgroup$