Can someone suggest a better way to solve for streamlines?

P.S. `StreamPlot` is not providing accurate results.

Here, velocity is `u[x,y] i + v0[x,y] j`. `p0x[x]` is the pressure gradient. The last line in the code is taking too long to execute a simpler solution will be appreciated.

My code is as follows :

```
B1[x_] = 1 + a*Cos[2*Pi*x];
p0x[x_] = -1/B1[x];
u0[x_, y_] = -p0x[x];
v0[x_, y_] = D[p0x[x], x]*y;
u1[x_, y_] = 
  λ^2*D[p0x[x], {x, 2}]/2*y^2 - λ^2* D[p0x[x], {x, 2}]/6*(B1[x])^2;
u[x_, y_] = -p0x[x] + δ^2*λ^2*D[p0x[x], {x, 2}]/2*(y^2 - (B1[x])^2/3);
eq = (D[y[x], x] == v0[x, y[x]]/u[x, y[x]]) /. {a -> 0.3, λ -> 1, δ -> 1} ;

sl = DSolve[eq, y[x], x]

```