1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The perturbed sine-Gordon equation.

  1. Mar 27, 2006 #1
    Well, maybe this is not a mathematics question after all, but however, I ask it here.

    I have to implement a semi-difference scheme in Matlab of the perturbed sine-Gordon equation

    [tex]
    u_{1,t}=u_2
    [/tex]
    [tex]
    u_{2,t}=u_{1,xx}-\sin(u_1)-\alpha u_2+\gamma.
    [/tex]

    Here [itex]u_1[/itex] and [itex]u_2[/itex] are functions of [itex]x[/itex] and [itex]t[/itex], and [itex]\alpha[/itex] and [itex]\gamma[/itex] are constants. Solutions are searched in the interval [itex]0\leq x\leq\ell[/itex] and for [itex]t\geq0[/itex].

    Discretization gives

    [tex]
    u_{1i,t}=u_{2i}
    [/tex]
    [tex]
    u_{2i,t}=\frac{1}{(\Delta x)^2}(u_{1(i-1)}-2u_{1i}+u_{1(i+1)})-\sin(u_{1i})-\alpha u_{2i}+\gamma
    [/tex]

    for [itex]i=2,3,\dots,N-1[/itex].
    For [itex]i=1[/itex] and [itex]i=N[/itex] we get

    [tex]
    u_{11,t}=u_{21}
    [/tex]
    [tex]
    u_{21,t}=\frac{1}{(\Delta x)^2}(2u_{12}-2u_{11}-2\eta\Delta x)-\sin(u_{11})-\alpha u_{21}+\gamma
    [/tex]

    and

    [tex]
    u_{1N,t}=u_{2N}
    [/tex]
    [tex]
    u_{2N,t}=\frac{1}{(\Delta x)^2}(2u_{1(N-1)}-2u_{1N}+2\eta\Delta x)-\sin(u_{1N})-\alpha u_{2N}+\gamma
    [/tex]

    respectively.
    Here, the constant [itex]\eta[/itex] comes from the two boundary conditions [itex]u_x(0,t)=\eta[/itex] and [itex]u_x(\ell,t)=\eta[/itex].

    I have implemented this into Matlab. The implementation is seen in the attached files sineG.m and sineGsol.m. I believe my implementation is correct, but I do not get the correct solution.

    I would like to receive some comments on the implementation. Do you see any errors? It might be that I am plotting the wrong values against each other.
     

    Attached Files:

    Last edited: Mar 27, 2006
  2. jcsd
  3. Mar 30, 2006 #2
    Well, after all, everything is correct. It just occurred to me that I did not plot the correct arrays against each other. I've corrected that, and now I have got the correct solutions.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?