How to form generalized functions with the C function output from DSolve

I am a beginner when it comes to mathematica. I want to solve a differential equation in polar co-ordinates. When I run it, I get a C function as an output with two arguments. I don't know how to form a function with these two arguments which satisfies the PDE.

$$\frac{\partial y}{\partial t} + a \frac{\partial y}{\partial r} + \frac{b}{r} \frac{\partial y}{\partial p} = 0$$

DSolve[D[y[t, r, p], t] + a D[y[t, r, p], r] + b/r D[y[t, r, p], p] == 0, y[t, r, p], {t, r, p}]

{{y[t, r, p] -> C[1][r - a t, (a p - b Log[r])/a]}}


I tried with two functions of the forms given below.

Example 1:

$$y(t, r, p) = J_1(r - at) \cos(p - \frac{b}{a} log(r))$$

Example 2:

$$y(t, r, p) = e^{r - at}e^{p - \frac{b}{a} log(r)}$$

I checked with both examples and none of them seem to validate the differential equation I started with. Any idea how to use this C[1] function?

• Test the validity of your trial solution by, for instance, Simplify[(D[y[t, r, p], t] + a D[y[t, r, p], r] + b/r D[y[t, r, p], p] == 0) /. y -> Function[{t, r, p}, BesselJ[1, r - a t] Cos[p - (b Log[r])/a]]]. Jan 20, 2022 at 14:40

deq = D[y[t, r, p], t] + a D[y[t, r, p], r] + b/r D[y[t, r, p], p] == 0;

y1 = Function[{t, r, p}, BesselJ[1, r - a t] Cos[p - b/a Log[r]]];

deq /. y -> y1 // Simplify     (*   True   *)

y2 = Function[{t, r, p}, E^(r - a t) E^(p - b/a Log[r])];

deq /. y -> y2 // Simplify     (*   True   *)

y3 = Function[{t, r, p}, BesselJ[1, r - a t] + Tan[p - (b Log[r])/a]];

deq /. y -> y3 // Simplify     (*   True   *)