Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

1st order PDE through Method of Characteristics

  1. Jun 30, 2010 #1
    Hello all!

    I appreciate it if you can share any thoughts that you may have regarding how to solve the following PDE:

    [tex]\frac{\partial U(z,t)}{\partial t}+(1-z)\frac{\partial U(z,t)}{\partial z}=(\frac{1}{z}-1)\left(U(z,t)-U(0,t)\right)[/tex]

    Initial condition:[tex]U(z,0)=z^{K}[/tex]

    [tex]U(0,t)[/tex] arises due to a boundary condition, but it is unknown and should be derived by solving the PDE itself (details are irrelevant).

    A typical strategy would be using http://www-solar.mcs.st-and.ac.uk/~alan/MT2003/PDE/node8.html" to tackle this. But [tex]U(0,t)[/tex] can't be dealt with.

    Specifically, I am stuck when integrating both sides of the following subsidiary equation due to [tex]U(0,t)[/tex]:

    I greatly appreciate it if you could share any thoughts you might have regarding how I can proceed to solve this through this method or any other method.
    Last edited by a moderator: Apr 25, 2017
  2. jcsd
  3. Jul 1, 2010 #2
    It might help if you substitute U(z,t) +(z-1)t =V(z,t).
  4. Jul 2, 2010 #3
    Hello !

    A method to analytically solve the EDP is presented in the joint page.
    Of course, the general solution includes arbitrary constants that should be determined if further conditions related with U(0,t) would be specified.

    Attached Files:

  5. Jul 5, 2010 #4
    Thank you very much JJacquelin and Eynstone for your comments!
    I just received a notification about your replies; I will go through your proposals and will get back to you in few days to let you know if I managed to find a solution.

    PS: In the meantime, I appreciate it if you could introduce me to some textbook or paper, if exists, that explains your methods in detail (in English or French).
  6. Jul 9, 2010 #5
    Hello again!

    The substitution that you suggested leads to the following equation:
    \frac{\partial V(z,t)}{\partial t}+(1-z)\frac{\partial V(z,t)}{\partial z}=(\frac{1}{z}-1)\left(V(z,t)-V(0,t)-z\right)
    I fail to see your point in suggesting this; this basically leads to the same difficulty when tackling the original problem. Any thoughts?

    Thank you very much for taking the time to do all the steps. Your method seems to lead to a solution. The only issue here is that [tex]U(0,t)[/tex] is unknown and I don't have the [tex]c_{k}[/tex] values in the series development. The only way that I currently know to tackle this is the use of Rouché's Theorem at some point in the solution (in the Laplace domain) to get [tex]U(0,s)[/tex] (hence [tex]U(0,t)[/tex]).
    Apart from the concern with regard to [tex]U(0,t)[/tex], your method is perfect. In your opinion, there's no way that Method of Characteristics can be used here to derive a solution?

    Thank you again to both of you! :)
  7. Jul 23, 2010 #6
    Hello again,
    sorry for the late answer due to vacation.
    As you say :
    OK, U(0,t) is a kind of bondary condition and if the bondary conditions are not known, or incomplete, any method will failed to reach the solution.
    But, as far as I can understand, some conditions or specifications are given so that U(0,t) might be derived. So, one could say that U(0,t) is "not explicitly known" instead of "not known", which isn't the same.
    The question is : are the given conditions or particular specifications sufficient ?
    The answer is Yes or No, depending of the way the boundary conditions or particular specifications are specified. From a previous thread :
    My opinion is that details are very relevant, in fact the key point.
  8. Jul 23, 2010 #7
    How about separation of variables? What happens if you assume the solution is of the form (just use x):


    Not sayin' that'll work. Just sayin' what happens if you try?
    Last edited: Jul 23, 2010
  9. Jul 26, 2010 #8
    Thanks for your comment.
    Unfortunately, it doesn't seem to me that Separation of Variables can get me out of this gridlock.
    Following the original notation, if I take [tex]U(z,t)=Z(z)T(t)[/tex] and assuming that [tex]K[/tex] is the separation constant, I will end up like this:
    The ODE in [tex]t[/tex] will result in: [tex]T(t)=e^{-Kt}[/tex]
    The ODE in [tex]z[/tex] can probably be solved as well, but [tex]Z(z)[/tex] will contain [tex]Z(0)[/tex] and [tex]K[/tex] as well, which remain unknown.
    There is not enough initial/boundary conditions to derive [tex]K[/tex] and [tex]Z(0)[/tex].
    The problem takes a simpler shape with this method, but the original issue remains the same.
    Please let me know if you have some other idea.
    Thanks again! :)
  10. Jul 26, 2010 #9
    Ok Masnet. I tried it and didn't get very far. The best I could do is that u(z,t)=z is a solution, that is if k=1. Perhaps this is not the way to go. Sorry.
  11. Jul 26, 2010 #10


    User Avatar
    Homework Helper

    EDIT: This post contains an error. The laplace transform of the time derivative of U gives -z^K + sU(z,s), whereas I originally wrote +z^K + sU(z,s). This changes the solution of the differential equation by placing a minus sign instead of a plus sign after the first term on the RHS.

    I might try a Fourier or Laplace transform in time. For a Fourier transform, let

    [tex]\hat{U}(z,\omega) = \int_{-\infty}^\infty dt U(z,t)e^{i\omega t}[/tex]

    Assuming that [itex]U(z,t)[/itex] goes to zero as t tends to [itex]\pm \infty[/itex], the fourier transform of the time derivative gives [itex]-i\omega \hat{U}(z,\omega)[/itex]. Then, you need only solve the DE

    [tex](1-z)\frac{\partial \hat{U}}{\partial z}(z,\omega) - i\omega \hat{U}(z,\omega) = \left(\frac{1}{z}-1\right)\left[ \hat{U}(z,\omega) -\hat{U}(0,\omega)\right].[/tex]

    As far as this equation is concerned, [itex]\hat{U}(0,\omega)[/itex] is just a constant that can be determined self consistently after the equation is solved.

    Of course, since you have an initial condition, [itex]U(z,0) = z^K[/itex], I might try a Laplace transform:

    [tex]\tilde{U}(z,s) = \int_0^\infty dt e^{-st} U(z,t)[/tex]

    Then the laplace transform of the time derivative, assuming that the solution decays is dominated by e^(-st) as t goes to infinity, is [itex]z^K + s\tilde{U}(z,s)[/itex].

    Hence, you have to solve the DE

    [tex](1-z)\frac{\partial \tilde{U}}{\partial z}(z,s) + s\tilde{U}(z,s) + z^K = \left(\frac{1}{z}-1\right)\left[ \tilde{U}(z,s) -\tilde{U}(0,s)\right].[/tex]
    where as far as this equation is concerned, [itex]\tilde{U}(0,s)[/itex] is just a constant that can be determined self consistently after the equation is solved.
    Last edited: Jul 27, 2010
  12. Jul 26, 2010 #11
    OK, thanks anyway for your time! :)
  13. Jul 26, 2010 #12
    Thank you very much for your comment and the steps you've outlined. Seems I'm too tired to remember why this didn't work. I will think about it again and respond later on; maybe this time works!
    Thanks again! :)
  14. Jul 26, 2010 #13
    Thank you very much for sharing your thoughts and I hope you've enjoyed your vacation! :)
    Now, off to the PDE:

    OK, now it seems in order for me to be able to respond to your comments, I should go back and explain where this PDE comes from. The original problem is a Differential-Difference equation; Differential in t, Difference in n. n can vary between 0 and N-1. This leads to the boundary conditions that I talked about before, i.e. the Differential-Difference equation takes another form in the boundaries. I also know what the initial condition is with respect to t.

    I use Probability Generating Functions and their properties to turn the above Differential-Difference equation into a PDE, in t and z. This is the PDE that I posted first and you've been helping me to solve. To solve this PDE, the only thing I have is the above initial condition which, in z domain, is [tex]U(z,0)=z^{N-1} [/tex] (the initial condition I posted in my first post). [tex]U(0,t)[/tex] arises in the process of transforming the Differential-Difference to the PDE and is an unknown. I somehow has to derive it while solving the PDE itself. I add that I am almost 100% sure that the derivation of the PDE from the Differential-Difference equation is accurate.

    The curious issue is that the Differential-Difference equation can be solved through Method of Induction (solving for increasing values of n and then deriving a general formula). So, the problem can be solved. However, I have been unable to solve it directly, i.e., turning it to a PDE and then solving the PDE.

    Also, at some point before, I mentioned that the only way that I currently know to tackle the gridlock is the use of Rouché's Theorem at some point in the solution (in the Laplace domain) to derive [tex]U(0,s)[/tex] and then [tex]U(0,t)[/tex]. I can report now that this method didn't work either. It was about taking one of the subsidiary equations in the Method of Characteristics to the Laplace domain, then use the Rouché's Theorem to get [tex]U(0,s)[/tex], but that didn't work out, as I ended up with a situation that everything canceled out in the equation; a situation like [tex]0=0[/tex].

    If you think you have some time and some interest left in working on this, please let me know and I will post the details of the original problem. You've already spent a lot of time, so thank you very much! :)
  15. Jul 27, 2010 #14


    User Avatar
    Homework Helper

    EDIT: This post contains an error. The laplace transform of the time derivative of U gives -z^K + sU(z,s), whereas I originally wrote +z^K + sU(z,s). This changes the solution of the differential equation by placing a minus sign instead of a plus sign after the first term on the RHS.

    Using Mathematica's DSolve gives

    [tex]\tilde{U}(z,s) & = & -C_1(-1+z)^sz
    + z\left( -\frac{(1-z)^sz^K {_2}F_1(K,s;1+K;z)}{K}
    - \frac{(1-z)^sz^{1+K} {_2}F_1(1+K,1+s;2+K;z)}{1+K}
    + \frac{\tilde{U}(0,s)\left(\frac{s-1}{s}\right)^s {_2}F_1\left(s,1+s;2+s;\frac{1}{z}\right)}{z(1+s)}\right)[/tex]
    where C1 is a constant of integration and 2F1 is the Gauss Hypergeometric function. Setting z = 0 causes all but the last term on the RHS to vanish, giving

    [tex]\tilde{U}(0,s) = \frac{\tilde{U}(0,s)\left(\frac{s-1}{s}\right)^s {_2}F_1\left(s,1+s;2+s;\frac{1}{z}\right)}{1+s}[/tex]
    s is a variable, so we know the only solution of this is [itex]\tilde{U}(0,s) = 0[/itex]. Hence,

    [tex]\tilde{U}(z,s) = -C_1(-1+z)^sz + z\left( -\frac{(1-z)^sz^K {_2}F_1(K,s;1+K;z)}{K} - \frac{(1-z)^sz^{1+K} {_2}F_1(1+K,1+s;2+K;z)}{1+K}\right)[/tex]
    where C1 is an undetermined constant. (i.e., any C1 will work). Unless you have another initial/boundary condition you didn't notice, this will stay undetermined. (But maybe that's ok?)

    So, provided I didn't make a mistake in deriving the laplace transform DE and mathematica hasn't lead us astray, now the fun is trying to invert this Laplace transform.

    [EDIT: Sorry, eqnarray doesn't seem to work well in the tex tags, so I can't format the long equation to not force a horizontal scroll without screwing up the equation.]
    Last edited: Jul 27, 2010
  16. Jul 27, 2010 #15
    Thanks. That's very nice. No way we can fix the thread so it doesn't run off the left side of the screen? I notice Mathematica cannot invert the first term:

    InverseLaplaceTransform[z (z - 1)^s, s, t]

    Although it may require inverting the entire expression and taking a limit. However, we could perhaps solve it numerically. For example, suppose it was just that term and we wanted the solution at the point (z,t)=(1/2,1). Then we could just numerically integrate the bromwich integral:

    Code (Text):
    NIntegrate[I*Exp[s*t]*(1 - z)^s /.
       {z -> 1/2, t -> 1, s -> 2 + I*y},
      {y, -100, 100}]

    3.3306690738754696*^-15 -
    Notice I only went from -100 to 100. The range would depend on how fast it decays. The result is encouraging since Mathematica returns no errors and it's pure imaginary so would cancel the i in the 1/2pi i coefficient and give us a real number. Perhaps we could do likewise for the other two term, then do this for a grid of points, then do a fit of the data to obtain u(z,t).
  17. Jul 27, 2010 #16

    once again in solving PDE, the major difficulty is not to find the general solution, but to fit the general solution to the boundary conditions : The general solution includes parameters and arbitray functions. The main difficulty is to determine the unknown functions and parameters to be compatible with the boundary conditions which are directly or indirectly given.
    The key aspect is how the boundary conditions are settled, especially when they aren't explicitly given, but derive from other conditions (which is the present case). The mathematical developments may be rather easy or very arduous depending on the method used, depending on whether the chosen method have or doesn't have some affinities with the kind of given specifications for the boundary conditions.
    As far as I can understand, there are discret specifications ( n varying fom 0 to N-1). So, it isn't a surprise that induction method involves less difficulties than other methods.
    Nevertheless, it seems probable that other processes would lead to the same result, but possibly by dint of much efforts.
    I will not highlight the method I proposed in the previous message, because I have some doubts in case of discret specifications. But, if you intend to push this method ahead, I would suggest this :
    Definitively forget the notation U(0,t) and remplace it by Sigma(Ck*exp(-k*t) )
    It is the same to say "an unknown function" or a "series with unknown coefficients"
    In fact, Sigma(Ck*exp(-k*t) ) is a bit better that "unknown function" because among the infinity of "unknown functions" it limits the possibilities to a smaller familly of unknown fuctions.
    Then, after putting Sigma(Ck*exp(-k*t) ) in the PDE , write the relationships derived from the specifications which settle the boundary conditions. This will lead to a system of equations where the unknowns are C1, C2, C3, ... (as many as the number of equations)
    Theorically, solving the system will lead to the solution 'expessed as a series with the computed coefficients)
    But, the process is likely to become too complicated. This would mean that the method is not convenient in the present case and must be abandoned, even if it is theoretically correct.
    Hoping that will help you.
  18. Jul 27, 2010 #17


    User Avatar
    Homework Helper

    I tried to fix the equation, but eqnarray doesn't seem to work well in the tex tags.

    As for inverse Laplace transforming that first term, note that

    [tex]\int_0^\infty dt~\delta(t+\log(z-1))e^{-st} = e^{s\log(z-1)} = (z-1)^s[/tex]
    ...so long as -log(z-1) is in the range [itex][0,\infty)[/itex]. This restricts 1 < z < 2 (for real z). The hypergeometric functions in the solution, on the other hand, require |z| < 1. So, the way out of this seems to be the constant C1 that appeared in the solution. Setting this to zero gives

    \tilde{U}(z,s) = z\left( -\frac{(1-z)^sz^K {_2}F_1(K,s;1+K;z)}{K} - \frac{(1-z)^sz^{1+K} {_2}F_1(1+K,1+s;2+K;z)}{1+K}\right)

    So, for |z| < 1 this equation is now (hopefully) perfectly fine. So, the goal would be to invert this expression... which may not be easy/possible to do.
  19. Jul 27, 2010 #18
    Thank you JJacquelin, Mute and jackmell for your comments.
    I greatly appreciate your time!
    Seems I need more time to think about and work on your proposals.
    I will post back once I conclude.
    Thank you very much again! :)
  20. Jul 27, 2010 #19
    I have doubts about that expression because the numerical results are not agreeing with the initial condition u(z,0)=z^k and Mathematica is not complaining about the integration. Take for example, if u(z,0)=z^2 and I want the solution at the point u(1/2,0). Now according to the initial conditions, that should be 1/4. However, when I numerically integrate the Bromwich integral from 2-300 i to 2+300 i, I get a negative number and increasing the range to 400, 500 does not change the results significantly which leads me to suspect it's converging nicely and there does not appear to be a branch-cut issue with the integral since if I just plot the real and imaginary component of that integrand over the contour, I obtain a nice smooth curve that looks to be decaying nicely at the end points.

    Code (Text):
        (((1 - z)^s*z^k*Hypergeometric2F1[k, s, 1 + k, z])/k +
         (1/(1 + k))*(1 - z)^s*z^{1 + k}*Hypergeometric2F1[1 + k, 1 + s, 2 + k,
           z])*Exp[s*t] /. {z -> 1/2, s -> 2 + I*y, t -> 0}, {y, -300, 300}]

    {-0.12420389085099157 + 0.*I}
    Code (Text):
        z*(((1 - z)^s*z^k*Hypergeometric2F1[k, s, 1 + k, z])/
           k + (1/(1 + k))*(1 - z)^s*z^{1 + k}*
           Hypergeometric2F1[1 + k, 1 + s, 2 + k, z])*Exp[s*t]] /. {z ->
        1/2, s -> 2 + I*y, t -> 0}, {y, -10, 10}]
    Last edited: Jul 27, 2010
  21. Jul 27, 2010 #20


    User Avatar
    Homework Helper

    I looked into it, and I agree that it is not quite correct! A problem is I messed up a minus sign:

    [tex]\int_0^\infty dt e^{-st}\frac{\partial U(z,t)}{\partial t} = -z^K + s\tilde{U}(z,s)[/tex]

    Previously I mistakenly put a plus sign in front of the z^K term. The only change seems to be a minus sign after the first term on the RHS of the original solution I posted (mathematica also factored out a [itex](z-1)^s[/itex] from the terms in brackets, so I just put it pack in, because I'm assuming |z| < 1 anyways). So, again setting [itex]\tilde{U}(0,s) = C_1 = 0[/itex] we get the same solution as before with an overall change in minus sign. So... that at least fixes the minus sign issue. Not yet sure about why the numerical solution you're getting seems to be the square of the expected answer (besides the above solution possibly not being the correct one).

    Perhaps we shouldn't set [itex]C_1 = 0[/itex], but if we don't I'm not sure the solution can be inversed laplace transformed. Maybe the hypergeometric function has an analytic continution for |z| > 1, but I suspect the solution is derived using the series defined of the hypergeometric function, so I don't know if that would be a valid solution.

    EDIT: I tried the mathematica script with that constant not zero, and the integral seems to be diverging. I supsect the constant does indeed need to be zero for the Laplace transform to exist.
    Last edited: Jul 27, 2010
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook