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

Mathematica: Need help to solve this pde set

  1. Dec 6, 2011 #1
    I have a pde set as following:

    parameters: γ, ω, α, β, c, η
    variables: z,t; x,y
    want: S = S(z,t;x,y)
    A = A(z,t)

    ∂S/∂t = -γ*S - i ω*A*exp{-i*[(-θ-α*t)*x+β*t*y]}
    [∂/∂t + (1/c)*∂/∂t] A = -i η*∫∫dxdy S*exp{i*[(-θ-α*t)*x+β*t*y]}

    The integral range is angle:(0,2Pi), radius: (0,R)

    How to solve this equation with NDSolve? I tried the following, which obviously does not work:

    Code (Text):
    t1 = 500;(*ns, duration=5*10^-7 s*)
    \[Mu] = -250;(*ns, central=-2.5*10^-7 s*)
    \[Sigma] = 100;(*ns, width=10^-7 s*)
    L = 1;
    R = 0.2;
    c = c = 29.979;
    \[Gamma] = 1/100000;
    \[Omega] = 1.329489268210057*10^-8;
    \[Eta] = 2.0034565952485216*10^9;
    \[Theta] = 1022.4;
    \[Alpha] = 4.09;
    \[Beta] = 0;

    sol = NDSolve[{\!\(
    \*SubscriptBox[\(\[PartialD]\), \(t\)]\(sS[z, t, x]\)\) == -\[Gamma]*
          sS[z, t, x] -
         I \[Omega]* E^(-I ((-\[Theta] - \[Alpha] t)*x))*aS[z, t, x], (\!\(
    \*SubscriptBox[\(\[PartialD]\), \(z\)]\(aS[z, t, x]\)\) + 1/c  \!\(
    \*SubscriptBox[\(\[PartialD]\), \(t\)]\(aS[z, t,
             x]\)\)) == -I \[Eta]*
          E^(I ((-\[Theta] - \[Alpha] t)*x))*sS[z, t, x], {y, -R,
           R}, {x, -Sqrt[R^2 - y^2], Sqrt[R^2 - y^2]}] ,
       sS[z, -t1, x] == 0,
       aS[z, -t1, x] ==
        1/(Sqrt[2 Pi] \[Sigma]) E^(-((-t1 - \[Mu])^2/(2 \[Sigma]^2))),
       aS[0, t, x] ==
        1/(Sqrt[2 Pi] \[Sigma]) E^(-((t - \[Mu])^2/(2 \[Sigma]^2)))}, {sS,
        aS,x}, {z, 0, L}, {t, -t1, 0}, {x, -R, R}, MaxSteps -> Infinity,
      StartingStepSize -> 0.01, PrecisionGoal -> 1000,
      MaxStepSize -> 0.01]
    Anyone know how to do it easily?
    Last edited: Dec 6, 2011
  2. jcsd
  3. Dec 9, 2011 #2
    I don't think NDSolve can solve that. Strip it down into it's canonicalized form so that's it's easier to see what's going on. Looks like:

    [tex]\frac{\partial S}{\partial t}=-yS-iwA g(t,x,y)[/tex]

    [tex]\frac{\partial A}{\partial t}=-ik\int_0^{2\pi}\int_0^{R} S(z,t,u,v) g(t,u,v)dudv[/tex]

    So since the derivative are only with respect to t, those are ordinary coupled integrodifferential equations. However you need appropriate initial conditions. For example, you need an initial region for S so that the integration can be performed for every time step starting at t=0. So the initial conditions would be:

    [tex]A(z,0)= h(z)[/tex]

    [tex]S(z,0,x,y)=g(z,x,y),\quad 0\leq x\leq R,\quad 0\leq y\leq 2\pi[/tex]

    for some constant z. Then I think just start by coding a simple Euler method. Do just like you would do for two ordinary DEs, but at each time step, numerically compute the integral and add it into the calculations.

    That's a start anyway. May need to tweek it.
    Last edited: Dec 9, 2011
  4. Dec 10, 2011 #3
    Hi, jackmell,

    After many trials I also realize that it is not quite possible to simply use NDSolve to get it done. Thanks for the suggestion to go to a canonicalized form and I find that one can put the e^ factor into the variables to make a better looking form. I find that I made a mistake--the second equation involves a derivative of z: [∂/∂z + (1/c)*∂/∂t] A=... . It is not only ODEs. So things get complicated. I am trying to find a numerical way to solve it. Thanks for you answer~
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook