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

Urgent - important question regarding SSFM

  1. Jun 2, 2010 #1
    hello all
    Im trying to solve the equation:

    i*dV/dt = d^2V/dz^2 + V*sqrt(1-V^2)

    I want to try by the split step fourier method.

    My problem is that most of the code/solvers I saw that implement the SSFM method are when the evolution is in space not in time, meaning the first derivative is d/dz and the second is (d/dt)^2

    any idea how it fact or maybe it doesnt matter ?

    furthermore, you think it is possible to solve itusing the matlab solver for PDE ?
    thanks in advance
    Last edited: Jun 2, 2010
  2. jcsd
  3. Jun 2, 2010 #2


    User Avatar
    Homework Helper

    In your equation, replace z with t and t with z:

    i*dV/dz = d^2V/dt^2 + V*sqrt(1-V^2)

    Is this the form you require to use the split-step method? If so, all I've done is a cosmetic change; time is now labeled by z and space is now labeled by t. So, it looks like the method should work with your equation based on what you've said.
  4. Jun 2, 2010 #3
    Mute, thank you for the response.

    Ofcourse, I understand this cosmetic changed, and indeed, by this change the form is regular.
    But, I wonder if it's is allow, I mean if this changed might influence on the result of the SSFM method i will use in this equation ?
    or the result should be okay ?

    In all the material I've looked I've noticed that always the evolution (i.e: the first derivative) if on the space (Z domain), so infact my question whether this cosmetic change might harm the result or all should be the same ?

    p.s: Furthermore, I would like to know if anyone know an organized source code for the SSFM ?
  5. Jun 3, 2010 #4


    User Avatar
    Homework Helper

    It shouldn't make any difference. The label t for time or z for space is just a convenience to us; the computer doesn't know that 'z' is space or 't' is time. You're the one who decides how to interpret the labels, so you can freely interpret z as time. So, if you make that cosmetic change and run the program, all you have to do is interpret the output properly, remembering that after the cosmetic change time is now z and space is now t.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook