You are on page 1of 12

Shahjalal University of Science and Technology

Department of Electrical & Electronic Engineering

Assignment

Course Title: Electrical Properties of Materials

Course Code: EEE 327

Topic: Numerical Solution of schrodinger’s wave equation


with finite difference method

Date of submission: 25.03.2018

Submitted by, Submitted to,


Nafis Mustakim Md. Asaduz Zaman Mamun
2015338012 Lecturer
Dept. of EEE,
SUST.
OBJECTIVE:
1. Use Finite Difference Method to solve schrodinger’s wave equation numerically for the
following conditions :
 Infinite potential well
 Linear potential well
 Notch potential

All numerical simulations are solved using Matlab.

Infinite potential well :


Potential well is given bellow:

Schrodinger’s wave equation for the given infinite potential well is solved by the mean of finite
difference method.
Result:

Discussion:
 For ground state it is more probable to find the electron in the mid region
 For first excited state the red curve shows the probability density function. It is
evident that it is not likely to find the electron in the mid region
 Second excited state curve (yellow) shows the probability density function of the
electron in the second excited state
Linear potential well:
The linear potential well is plotted with the help of Matlab. We need to solve schrodinger’s
wave equation in this region.
Result:

Discussion:
It is evident from the graph that probability to find the electron in the region with potential
energy is more unlikely.
Notch potential:

Schrodinger’s wave equation for the given notch potential is solved by the mean of finite
difference method.
Result:

Discussion:
The probability of finding the electron is rare in the potential region.
Codes:
Infinite well:
clc

clear all

close all

hbar= (9.93*10^-34); % assigning value of hbar

mass = (9.11*10^-31); %mass of electron

step_size = 5;

data_points = 1000;

KE = zeros(data_points); %KE is kinetic energy

KE(1,1)=2;

for n=2:data_points %hamiltonian matrix

KE (n,n) = 2;

KE(n,n-1)= -1;

KE(n-1,n)=-1;

end

k=(hbar^2)/(2*mass*step_size^2);

Kinetic_Energy = KE*k; %final kinetic energy of wave equation

Potential_Energy = zeros(data_points);

for i=1:200

Potential_Energy (i,i)= .005;

end

for i=data_points-200:data_points

Potential_Energy (i,i)= .005;

end

hamiltonian = Kinetic_Energy + Potential_Energy;

[eigenvectors,eigenvalues] = eig(hamiltonian);

x= linspace(0,step_size*data_points,data_points);
ground = eigenvectors(:,1)+ eigenvalues(1,1)*ones(data_points,1);%sum of eigenvalue and eigenvectors give wave
fuction

ground_state= ground .* ground ;% calculation of probability density function

first = eigenvectors(:,2)+ eigenvalues (2,2)*ones(data_points,1);

first_state = first .* first;

second = eigenvectors(:,3)+ eigenvalues (3,3)*ones(data_points,1);

second_state = second .* second ;

area(x,diag (Potential_Energy)) %plote of position vs potential

hold on

plot(x,ground_state,'g','LineWidth',2)

hold on

plot(x,first_state,'r','LineWidth',2)

hold on

plot(x,second_state,'y','LineWidth',2)

legend('Potential Energy', 'Ground State', 'First Excited State', 'Second Excited State')

title('Numerical solution of schrodinger wave equation')

xlabel('Position in nm')

ylabel('Probabilty density function')

Linear potential well:


clc

clear all

close all

hbar= (9.93*10^-34); % assigning value of hbar

mass = (9.11*10^-31); %mass of electron

step_size = .005;

data_points = 50;

KE = zeros(data_points); %KE is kinetic energy

KE(1,1)= 2;

for n=2:data_points %hamiltonian matrix

KE (n,n) = 2;
KE(n,n-1)= -1;

KE(n-1,n)=-1;

end

k=(hbar^2)/(2*mass*step_size^2);

Kinetic_Energy = KE*k; %final kinetic energy of wave equation

Potential_Energy = zeros(data_points);

c=.0000001;

for i=1:data_points

Potential_Energy (i,i)= c ;

c=c+.01;

end

hamiltonian = Kinetic_Energy + Potential_Energy;

[eigenvectors,eigenvalues] = eig(hamiltonian);

x= linspace(0,step_size*data_points,data_points);

ground = eigenvectors(:,1)+ eigenvalues(1,1)*ones(data_points,1); %sum of eigenvalue and eigenvectors give wave


fuction

ground_state= ground .^2 ; % calculation of probability density function

first = eigenvectors(:,2)+ eigenvalues (2,2)*ones(data_points,1);

first_state = first.^2 ;

second = eigenvectors(:,3)+ eigenvalues (3,3)*ones(data_points,1);

second_state = second .^2 ;

area(x,diag (Potential_Energy))

hold on

plot(x,ground_state,'g','LineWidth',2)

hold on

plot(x,first_state,'r','LineWidth',2)

hold on

plot(x,second_state,'y','LineWidth',2)

legend('Potential Energy', 'Ground State', 'First Excited State', 'Second Excited State')

title('Numerical solution of schrodinger wave equation')


xlabel('Position')

ylabel('Probabilty density function')

Notch potential:
clc

clear all

close all

hbar= (9.93*10^-34); % assigning value of hbar

mass = (9.11*10^-31); %mass of electron

step_size = .05;

data_points = 500;

KE = zeros(data_points); %KE is kinetic energy

KE(1,1)= 2;

for n=2:data_points %hamiltonian matrix

KE (n,n) = 2;

KE(n,n-1)= -1;

KE(n-1,n)=-1;

end

k=(hbar^2)/(2*mass*step_size^2);

Kinetic_Energy = KE*k; %final kinetic energy of wave equation

Potential_Energy = zeros(data_points);

for i=200:data_points-200

Potential_Energy (i,i)= .01;

end

hamiltonian = Kinetic_Energy + Potential_Energy;

[eigenvectors,eigenvalues] = eig(hamiltonian);

x= linspace(0,step_size*data_points,data_points);

ground = eigenvectors(:,1)+ eigenvalues(1,1)*ones(data_points,1);%sum of eigenvalue and eigenvectors give wave


fuction

ground_state= ground .^2 ;% calculation of probability density function

first = eigenvectors(:,2)+ eigenvalues (2,2)*ones(data_points,1);


first_state = first .^2;

second = eigenvectors(:,3)+ eigenvalues (3,3)*ones(data_points,1);

second_state = second .^2 ;

area(x,diag (Potential_Energy))

hold on

plot(x,ground_state,'g','LineWidth',2)

hold on

plot(x,first_state,'r','LineWidth',2)

hold on

plot(x,second_state,'y','LineWidth',2)

legend('Potential Energy', 'Ground State', 'First Excited State', 'Second Excited State')

title('Numerical solution of schrodinger wave equation')

xlabel('Position')

ylabel('Probabilty density function')

You might also like