Hello there and thanks for taking a look at this problem.
This problem is related to my previous question and I will therefore use a similar introduction from, Choice of step size using ODEs in matlab.
Introduction: I'm currently studying a 2D exciton spinor Bose-Einstein Condensate and am curious about the ground state of this system. The mathematical method of getting to the ground state is called the imaginary time method.
The method is very simple. Normal real time in quantum mechanics is replaced by imaginary one $$ t = -i \tau$$ This substitution causes the high energy particles in the system to decay faster than the low energy ones. Re-normalizing the number of particles in every step of the calculation we end up with a system of lowest energy particles, aka. the ground state.
The equation(s) in question is nonlinear, called the nonlinear Schrödinger equation, sometimes the Gross-Pitaevskii equation. To solve the problem I'm using Matlabs ode45 which evolves the system forward in time and eventually reaches the ground state.
The problem and the question: There are a lot of parameters controlling the physics here. It is very appropriate to work with constants and variables of comfortable dimensionality such as, micrometers, picoseconds, millielectronvolts and so on.
However, working with picoseconds and millielectronvolts seems to produce drastically different results then working with nanoseconds and microelectronvolts. $$ (\text{ns},\mu \text{eV}) \quad ^?\leftrightarrow \ ^? \quad (\text{ps}, \text{meV})$$
My question is: If all parameters are set so that these two representations correspond correctly, i.e. are effectively the same thing, why would the results be completely different for say...
...in the representation of ps and meV
[~,y_out] = ode113(odefun,[0:100:10000],y_in, ...variables_in_ps_and_meV)...)
and otherwise in the representation of ns and ueV?
[~,y_out] = ode113(odefun,[0:0.1:10],y_in, ...variables_in_ns_and_ueV...)
As you can see, the time step 100ps corresponds to 0.1ns.
Note: In the case of using nanoseconds, i.e. time steps 0.1, the ODE calculates much, much faster. This has me inclined to believe the method of using nanoseconds is somehow rushed and not accurate.
Thanks for any thoughts!
Update 1: Here are two pictures showing the completely different results
Update 2: I just found out that it doesn't matter at all whether I work with $\mu$eV or meV. The same results are displayed! This narrows the problem down to only the choice of appropriate time dimensionality for the ode.
Update 3: Major breakthrough. I decided to write a simple 1D Schrödinger equation in a harmonic potential and tried out nanoseconds vs. picoseconds. The results can be found here.
As you can see, there is no difference when using either nanoseconds or picoseconds (not very surprising). But now just remains to figure out what in the devil is causing this strange behavior in my 2D nonlinear Schrödinger equations.