Although Jim Baldwin's solution is entirely satisfactory (+1), it is possible to obtain the desired expression without the additional assumptions. Begin by solving the ODE without the boundary condition.
s = FC[h] /. Flatten@DSolve[{a (FC[h])^2 - 2 b FC[h] + c - D[FC[h], h] == 0},
FC[h], h, Assumptions -> b^2 - a c > 0]
(* (b - Sqrt[b^2 - a c] Tanh[Sqrt[b^2 - a c] h + Sqrt[b^2 - a c] C[1]])/a *)
Now, obtainingC[1]
by Solve[0 == s /. h -> 0, C[1]]
gives the same ugly expressions that DSolve
with the boundary condition gives.
Flatten@Solve[0 == s /. h -> 0, C[1]]
(* {C[1] -> -(ArcCosh[-(Sqrt[-b^2 + a c]/(Sqrt[a] Sqrt[c]))]/Sqrt[b^2 - a c]),
C[1] -> ArcCosh[-(Sqrt[-b^2 + a c]/(Sqrt[a] Sqrt[c]))]/Sqrt[b^2 - a c],
C[1] -> -(ArcCosh[Sqrt[-b^2 + a c]/(Sqrt[a] Sqrt[c])]/Sqrt[b^2 - a c]),
C[1] -> ArcCosh[Sqrt[-b^2 + a c]/(Sqrt[a] Sqrt[c])]/Sqrt[b^2 - a c]} *)
Instead, simply observe that C[1]
is
C[1] -> ArcTanh[b/Sqrt[b^2 - a c]]/Sqrt[b^2 - a c]
Then,
s /. C[1] -> ArcTanh[b/Sqrt[b^2 - a c]]/Sqrt[b^2 - a c]
(* (b - Sqrt[b^2 - a c] Tanh[Sqrt[b^2 - a c] h + ArcTanh[b/Sqrt[b^2 - a c]]])/a *)
Simplify[TrigToExp[%]] /. Sqrt[b^2 - a c] -> q
(* (c (-1 + E^(2 h q)))/(b (-1 + E^(2 h q)) + (1 + E^(2 h q)) q) *)
and
Simplify[% == (c (1 - E^(-2 q (h))))/(q + b + (q - b) E^(-2 q (h)))]
(* True *)
It may be that the additional assumptions are needed when working with the DSolve
solution with boundary condition, because it introduces factors of Sqrt[a]
and Sqrt[c]
that eventually drop out of the simplification but appear to require that a > 0
and c > 0
during intermediate steps.