I'm trying to solve the following simple ODE using dsolve function in Sympy
v = sp.Function('v', real=True)
t, g, m, c = sp.symbols('t g m c', positive=True, real=True)
eq = sp.Eq(v(t).diff(t), g - c/m*v(t)**2)
sol = sp.dsolve(eq, v(t), ics={v(0):0})
The result isn't as simple as expected but the strange point is that if you check the solution to insure that the given initial condition is satisfied, it doesn't return the correct result (v(0)=0), as passed in the dsolve by ics argument.
sol.subs(t,0)