I am trying to solve these 9 coupled ODEs
(v1[t] - t) n1'[t] + n1[t] v1'[t] == 0,
3 sigma1 n1[t] n1'[t] + (v1[t] - t) v1'[t] +phi'[t] == 0,
(v2[t] - t) n2'[t] + n2[t] v2'[t] == 0,
3 Q sigma2 n2[t] n2'[t] + (v2[t] - t) v2'[t] + Q phi'[t] == 0,
phi'[t] - (1/ne[t]) ne'[t] == 0,
phi'[t] - (sigmas1/ns1[t]) ns1'[t] == 0,
(vs20 + vs2[t] - t) ns2'[t] + ns2[t] vs2'[t] == 0,
3 Qs2 sigmas2 ns2[t] ns2'[t] + (vs20 + vs2[t] - t) vs2'[t] + Qs2 phi'[t] == 0,
a n1'[t] + b n2'[t] - ne'[t] - c ns1'[t] + d ns2'[t] == 0,
My problem is that I have a precision error that I can't fix probably due to the initial values.
Please, is there a numerical method to evaluate the initial conditions for each variable before solving the ODE?
sol = NDSolve[{(v1[t] - t) n1'[t] + n1[t] n1'[t] == 0, 3 sigma1 n1[t] n1'[t]
+ (v1[t] - t) v1'[t] + phi'[t] == 0, (v2[t] - t) n2'[t] + n2[t] v2'[t] ==
0, 3 Q sigma2 n2[t] n2'[t] + (v2[t] - t) v2'[t] + Q phi'[t] == 0, phi'[t] -
(1/ne[t]) ne'[t] == 0, phi'[t] - (sigmas1/ns1[t]) ns1'[t] == 0, (vs20 +
vs2[t]- t) ns2'[t] + ns2[t] vs2'[t] == 0, 3 Qs2 sigmas2 ns2[t] ns2'[t] +
(vs20+vs2[t]- t) vs2'[t] + Qs2 phi'[t] == 0, a n1'[t] + b n2'[t] - ne'[t] - c
ns1'[t] + d ns2'[t] == 0, n1[0] == 3, v1[0] == 1, phi[0] == 0, n2[0] == 0.52,
v2[0] == 0.25,ne[0] == ns1[0] == ns2[0] == 0, vs2[0] == 0.1}, {n1, v1, phi,
n2, v2, ne, ns1, ns2, vs2}, {t, 0, 0.9}, WorkingPrecision -> 50, PrecisionGoal
-> 30]
NDSolve::precw: The precision of the differential equation (.......) is less than WorkingPrecision (50.`).
the plots give
Block[{vs20 = 6, Q = 1/8, Qs2 = 1, sigma1 = 0.25, sigma2 = 0.25,sigmas1 = 1,
sigmas2 = 1, a = 0.335, b = 0.564, c = 1.9, d =3},Plot[Evaluate[{n1[t],v1[t],
phi[t]} /. sol], {t, 0, 0.9},PlotRange -> {-1, 4}, PlotRangePadding -> 0,
PlotLegends -> {"n1", "v1", "phi"}]]