0
$\begingroup$

I need help solving this equation. Is there a built in function that solves this type of equations? DSolve wouldn't work.

Updated equation:

DSolve[D[p[u, t], t]*(1/M + β*(b^2/Kp)) - (b/(3*Kp))*
    D[pa[t], t] + ((2*b^2)/Kp)*(1 - β)*
    Integrate[D[p[u, t], t]*u, {u, 0, 1}] == (1/u)*D[k[u]*u*D[p[u, t], u], u], 
 p[u, 0] = po, p[1, t] = pa[t], p, {u, t}]

The error I get is:

Input is not an ordinary differential equation.

$\endgroup$
4
  • $\begingroup$ Welcome to Mathematica.SE! I suggest the following: 0) Browse the common pitfalls question 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Read the faq! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$ Mar 2, 2015 at 5:45
  • 1
    $\begingroup$ You may receive more and better answers if you include at least the Mathematica code for the equation and perhaps some failed intent to solve it $\endgroup$ Mar 2, 2015 at 5:46
  • $\begingroup$ Please, consider updating your question to include what you have tried and where you are getting stuck. That way, people on this site will know exactly what help you need. $\endgroup$
    – user9660
    Mar 2, 2015 at 6:26
  • $\begingroup$ @Raven: your equation for p[u,t] is linear (I guess pa'(t) means D[p[u,t],u]/.u->a) and can therefore be solved by standard mathematical methods once you provide the boundary and initial conditions. Physically it decribes Diffusion in a cylinder. A necessary condition can be obtained by differentiating the equation with respect to u. The resulting equation for q = D[p,u] is solved by MMA exactly in terms of Bessel functions. $\endgroup$ Mar 2, 2015 at 9:15

1 Answer 1

1
$\begingroup$

Outline

As you didn't provide boundary and initial conditions and the function pa'[t] this solution must be generic.

Your equation for p[u,t] is linear (I guess pa'(t) means D[p[u,t],u]/.u->a) and can therefore be solved by standard mathematical methods once you provide the boundary and initial conditions. Physically it describes diffusion in a cylinder. A necessary condition can be obtained by differentiating the equation with respect to u. The resulting equation for q = D[p,u] is solved by Mathematica exactly in terms of Bessel functions.

Derivation

The integral differential equation in Mathematica terms is (pap is pa'(t))

D[p[u, t], t] + Integrate[u D[p[u, t], t], {u, 0, 1}] - pap[t] == (1/
  u) (D[p[u, t], u] + u D[ p[u, t], {u, 2}]) (* equation 1 *)

Differentiating the equation with respect to u lets the integral and the term pa'[t] vanish and gives for

q[u,t] = D[p[u,t],u]

the equation

D[q[u, t], t] == D[(1/u D[r q[u, t]]), u] (* equation 2 *)

This linear equation can be solved by standard methods. In fact separating of variables writing q = T[t] * U[u] gives

T'[t]/T[t] = - k^2 = U''[u] + 1/u U'[u] - 1/u^2 U[u]

where -k^2 is the separation parameter. The ODEs for T[t] and U[u] and their respective solutions are

solT = DSolve[T'[t] == -k^2 T[t], T[t], t]

(*
Out[246]= {{T[t] -> E^(-k^2 t) C[1]}}
*)

solU = DSolve[U''[u] + 1/u U'[u] - 1/u^2 U[u] == -k^2 U[u], U[u], u]

(*
Out[245]= {{U[u] -> BesselJ[1, k u] C[1] + BesselY[1, k u] C[2]}}
*)

The separation parameter must be determined by the boundary conditions of U[u] at some u=u1 and u=u2.

Most frequently u1 = 0 and it is requested that U remains finite. This forces the BesselY term to vanish (which we assume in what follows). The other condition might be U[u=1] = 0 which leads to discrete values of k, called k[i] here.

The general solution of equation 2 is therefore of the form

q[u, t] = Sum[ a[i] Exp[- k[i]^2 t] BesselJ[1, k[i] u], {i, 1, ∞}]

where the coefficients a[i] have to be determined by the initial condition q[u,t=0].

Now we turn to the original function p[u,t].

Integrating q[u,t] from u=0 to u gives (notice J[0] instead of J[1], and letting b[i] = a[i]/k[i])

p[u, t] = Sum[ 
   b[i] Exp[- k[i]^2 t] BesselJ[0, k[i] u], {i, 1, ∞}] + g[t]

where g[t] is an arbitrary function of t alone.

Inserting this solution into equation 1 we have with

pk[u_, t_] := Exp[- k[i]^2 t] BesselJ[0, k[i] u]

on the one hand

(1/u) (D[pk[u, t], u] + u D[ pk[u, t], {u, 2}]) // FullSimplify

(*
Out[256]= -E^(-t k[i]^2) BesselJ[0, u k[i]] k[i]^2
*)

D[pk[u, t], t] // FullSimplify

(*
-E^(-t k[i]^2) BesselJ[0, u k[i]] k[i]^2 + g'[t]
*)

Hence we are left with

Integrate[u D[p[u, t], t], {u, 0, 1}] - pap[t] == g'[t]

The integral can be done giving

Integrate[u BesselJ[0, k[i] u], {u, 0, 1}]

(*
Out[251]= BesselJ[1, k[i]]/k[i]
*)

and the final equation is then

Sum[ b[i]/k[i] Exp[- k[i]^2 t] BesselJ[1, k[i] u], {i, 1, ∞}] +  
  g[t] == g'[t] + pap[t] (* equation 3 *)

Summary

Apart from the time dependence through the unknown function pap[t], the solution can be expressed by standard functions within Mathematica.

$\endgroup$
2
  • $\begingroup$ The function pa[t] is the pressure applied on the surface of the cylinder. p[1,t]=pa[t]. I have also updated my complete equation. $\endgroup$
    – Raven
    Mar 2, 2015 at 16:33
  • $\begingroup$ @Raven: I have described the solution procedure completely in my answer. You should now go through it step by step provide the boundary and initial conditions and the external funtion pf[t]. In the end you'll obtain p[u,t]. $\endgroup$ Mar 2, 2015 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.