I have three coupled differential equations to solve. Those equations are
equation1=neta'[t] == -(7.6458*10^-23) neta[t] - (1.49912 neta[t])/t
equation2=rho'[t] == -(3.89898*10^36/t^3) + (3.97887*10^-23) neta[t]
equation3=npsi'[t] == (9 npsi[t])/(78125000000000000000000 \[Pi]) - (1.49912 npsi[t])/t
I have tried to solve these equations by using
soln = NDSolve[{equation1,equation2, equation3, neta[10^-10] == 0.0025,rho[10^-10]== 4*10^6 ,npsi[10^-10] == 0}, {neta,rho,npsi}, {t, 10^-10, 1}, AccuracyGoal -> Autometic, Method -> {"ExplicitRungeKutta", "DifferenceOrder" -> 5,
"StiffnessTest" -> True}, MaxStepSize -> Autometic, PrecisionGoal -> Autometic]
It is showing the error
NDSolve::ndsz: At t == 1.`*^-10, step size is effectively zero;singularity or stiff system suspected.
However, if I just skip the second equation and solve for the other two then it can be solved by the same code. Even if I skip the first part of equation2 then also it is solving. So I think the problem is in the first part of the equation2, a very large number is coming there and it fails to solve.
Can you please help in this regards?
Thank you.
Suppose I have a set of equations
eqn1=neta'[t] == -7.6458*10^-23 neta[t] - 3.566*10^-18 neta[t] Sqrt[rho[t]]
eqn2=rho'[t] == 3.97887*10^-23 neta[t] - 4.75467*10^-18 rho[t]^(3/2)
eqn3=npsi'[t] == 3.66693*10^-23 neta[t] - 3.566*10^-18 npsi[t] Sqrt[rho[t]]
Then if I do it in a similar way then
soln = NDSolve[{eqn1,eqn2, eqn3, neta[10^-10] == 0.0025,rho[10^-10]== 4*10^6 ,npsi[10^-10] == 0}, {neta,rho,npsi}, {t, 10^-10, 1}, AccuracyGoal -> Autometic, Method -> {"ExplicitRungeKutta", "DifferenceOrder" -> 5, "StiffnessTest" -> True}, MaxStepSize -> Autometic, PrecisionGoal -> Autometic]
It shows same kind of error
NDSolve::ndtol: Tolerances requested by the AccuracyGoal and PrecisionGoal options could not be achieved at t == 1.`*^-10.
10^59
, you have chosen a bad set of units. It seems to me that you should rescalet
in this case by something like10^23
. $\endgroup$