Cartoon of concerted (“phonon”) vibrations of a lattice
Matlab code

% Cartoon of phonon motion in crystal

 

clear; close all;

vid = VideoWriter('vibratingLattice.mp4','MPEG-4');

vid.Quality = 100;

vid.FrameRate = 20;

open(vid);

set(0,'defaultfigurecolor',[1 1 1]);

set(gca,'linewidth',7);

 

LL = 1;

 

lp = [0.4 -0.4 0.7];

ec = [0.25 0.28 0.5]; % Phil blue

fc = [1.0 0.83 0]; % Gold

    

 

[x,y,z] = sphere;

rad = 0.023;

for q = 0:0.04:0.96 % time 0.04

    newplot;

    set(gca, 'Projection','perspective');

    light('Position',lp,'Style','infinite');

    axis equal;

    axis off;

    xlim([-LL LL]);

    ylim([-LL LL]);

    zlim([-LL LL]);

    view(0,0);

    for r = -1:0.25:1   % x 0.25

        for s = -1:0.1:1   % y 0.1

            for t = -2:0.1:2   % z 0.1

                alphaVal = exp(-2*(1+r));

                hold on;

                if (s+t >= -1.09) & (s+t <= 1.09)

                    surf1 = surf(s+t+x*rad,r+y*rad,-s+0.032*sin(2*pi*(t+q+r/5))+z*rad);

                    set(surf1,'FaceColor',ec,'EdgeColor','none','FaceAlpha',alphaVal);

                end    

                hold off;

            end

        end

    end

    frame = getframe(gcf);

    writeVideo(vid,frame);

end

 

frame = getframe(gcf);

writeVideo(vid,frame);

close(vid);