Work Packages Models involving memory terms and hybrid PDE+ODE systems

Rays propagation of a fractional Schrodinger Equation

Author: - 21 July 2018

Download Code

Shows the propagation of the solution of a fractional Schrodinger equation with concentrated and highly oscillatory initial datum. The solution remains concentrated along the rays of geometric optics

N = 250;
L = 1;
hx = (2*L)/(N+1);

Definition of the initial datum u0 as a function_handle. u0 is chosen as a Gaussian profile multiplied by a higly oscillatory function

x0 = 0; %% Center of the Gaussian profile
gamma = hx^(-0.9); %% Amplitude of the Gaussian profile
fr = (1/hx)*pi^2/16; %% Frequency of the oscillations
u0 = @(x) exp(-0.5*gamma*(x-x0).^2).*exp(1i*fr*x);

Plot of the initial datum

fig = gcf;
set(gcf,'Units','pixels','Position',[427 306 712 284])

x = -L:hx:L;

subplot(1,3,1) %% Modulus
plot(x,abs(u0(x)))
title('\vertu_0(x)\vert')
xlabel('x'); ylabel('u(x)');

subplot(1,3,2) %% Real part
plot(x,real(u0(x)))
title('real(u_0(x))')
xlabel('x'); ylabel('u(x)');

subplot(1,3,3) %% Imaginary part
plot(x,imag(u0(x)))
title('img(u_0(x))')
xlabel('x'); ylabel('u(x)');

Solution for s = 1/2

Define the characteristic parameters of the problem

s = 0.5  %% Order of the fractional Laplacian
L        %% Extrema of the space interval
N        %% Number of points in the space mesh
T = 5    %% Length of the time interval
u0       %% The function_handle that we have showed before.

s =

    0.5000


L =

     1


N =

   250


T =

     5


u0 =

  function_handle with value:

    @(x)exp(-0.5*gamma*(x-x0).^2).*exp(1i*fr*x)


To solve the equation, we call the function fractional_schr. The solution of the equation is stored in the u variable.

[x,t,u] = fractional_schr(s,L,N,T,u0);

Now we can see a graphical interpretation

[X,T] = meshgrid(x,t);
%%
clf
mesh(X,T,u');
view(0,90)
xlabel('x'); ylabel('t'); title('Ray Evolution');

By typing “animation(x,t,u)” in the MATLAB console you can see the evolution in time of this wave.

$$u(t)$$ function