I am trying to solve a set of coupled differential eqns. I need the solution over a large range of the variable t. But the notebook freezes and stops working.
replace = {Subscript[m, ϕ] -> 10^-5, Γ ->
10^-11, λ -> 0.01, ξ -> -1, m -> 10^-21,
Subscript[M, P] -> 1};
V[t_] := 1/2 Subscript[m, ϕ]^2 ϕ[t]^2 /. replace ;
R[t_] := Subscript[M, P]^-2 (4 V[t] - ϕ'[t]^2) /. replace;
H[t_] := Sqrt[
1/(3 Subscript[M,
P]^2) (1/2 ϕ'[t] ^2 + V[t] + Subscript[ρ, r][t])] /.
replace;
χi[t_] := ((- ξ R[t] - m^2)/λ)^(1/2) /. replace;
eqna = ϕ''[t] +
3 H[t] ϕ'[t] + Γ ϕ'[t] +
D[V[t], ϕ[t]] /. replace;
eqnb = χ''[t] + 3 H[t] χ'[t] + λ χ[t]^3 +
m^2 χ[t] + ξ R[t] χ[t] /. replace;
eqnc = Subscript[ρ, r]'[t] +
4 H[t] Subscript[ρ, r][t] - Γ ϕ'[t]^2 /.
replace;
sol1 = NDSolve[{eqna == 0 , eqnb == 0,
eqnc == 0, ϕ[10^5] == 15 , ϕ'[10^5] ==
0, χ[10^5] == χi[10^5], χ'[10^5] == 0,
Subscript[ρ, r][10^5] == 10^-20}, {ϕ, χ,
Subscript[ρ, r]}, {t, 10^5, 10^50}] // FullSimplify
The code works fine for smaller intervals: say around 10^5 to 10^10. Is there a way I could run the program in a short time for my required large interval without freezing the notebook? Taking some time, say around 1 day is also fine, provided the notebook doesn't freeze.
Note that I have also tried redefining the variable in Log scale, so that the interval is reduced. But the problem still remains.
replace = {Subscript[m, ϕ] -> 10^-5, Γ ->
10^-11, λ -> 0.01, ξ -> -1, m -> 10^-21,
k -> Log[10], Subscript[M, P] -> 1};
V[t_] := 1/2 Subscript[m, ϕ]^2 ϕ[t]^2 /. replace ;
R[t_] :=
Subscript[M, P]^-2 (4 V[t] - k^-2 10^(-2 t) ϕ'[t]^2) /. replace;
H[t_] := Sqrt[
1/(3 Subscript[M,
P]^2) (1/2 ϕ'[t] ^2 + k^2 10^(2 t) V[t] +
k^2 10^(2 t) Subscript[ρ, r][t])] /. replace;
χi[t_] := ((- ξ R[t] - m^2)/λ)^(1/2) /. replace;
eqna = k^-2 10^(-2 t) ϕ''[t] - ϕ'[t] k^-1 10^(-2 t) +
3 k^-2 10^(-2 t)
H[t] ϕ'[t] + Γ k^-1 10^-t ϕ'[t] +
D[V[t], ϕ[t]] /. replace;
eqnb = k^-2 10^(-2 t) χ''[t] - χ'[t] k^-1 10^(-2 t) +
3 k^-2 10^(-2 t) H[t] χ'[t] + λ χ[t]^3 +
m^2 χ[t] + ξ R[t] χ[t] /. replace;
eqnc = k^-1 10^-t Subscript[ρ, r]'[t] +
4 k^-1 10^-t H[t] Subscript[ρ, r][
t] - Γ k^-2 10^(-2 t) ϕ'[t]^2 /. replace;
sol1 = NDSolve[{eqna == 0 , eqnb == 0,
eqnc == 0, ϕ[5] == 15 , ϕ'[5] ==
0, χ[5] == χi[5], χ'[5] == 0,
Subscript[ρ, r][5] == 10^-20}, {ϕ, χ,
Subscript[ρ, r]}, {t, 5, 50}] // FullSimplify
```