МАЙЕР Р.В.

РЕШЕНИЕ УРАВНЕНИЯ ШРЕДИНГЕРА НА КОМПЬЮТЕРЕ

Динамическое состояние квантовой частицы описывается волновой функцией Ψ(x,y,z,t), квадрат модуля которой равен плотности вероятности нахождения частицы в данной точке пространства. Вероятность нахождения частицы в элементарном объеме dV равна |Ψ(x,y,z,t)|2dV.

Основным уравнением квантовой механики является уравнение Шредингера:

Его решение имеет вид: Ψ(x,t)=ψ(x) e-iωt, где ω=2πE/h, а функция ψ(x,t) удовлетворяет уравнению:

Рассмотрим одномерное движение частицы массой m в поле потенциала U(t). Запишем стационарное уравнение Шредингера:

Квантовая система может находиться в стационарных состояниях с энергией E, каждое из которых описываются волновой функцией стационарного состояния. Если частица находится в потенциальной яме, то значения энергии En образуют дискретный спектр.

Численно решить уравнение Шредингера --- значит подобрать такие значения энергии En, при которых функция ψ(x) не расходится, то есть всюду сохраняет конечные значения. Только при этом интеграл от квадрата модуля Ψ будет конечной величиной. Ниже представлена программа, решающая уравнение Шредингера для частицы в потенциальной яме, U(x) строит график зависимости ψ(x) и |Ψ(x)|². В ней с некоторым шагом dE увеличивается энергия частицы E и строится график зависимости ψ(x), который при x → ∞ стремиться к +∞ либо к - ∞ . Необходимо определить энергию частицы, при которой функция на бесконечности будет стремиться к 0. Все расчеты носят приближенный характер, точного совпадения с истинным значением энергии в стационарном состоянии не происходит, однако получающиеся решения устойчивы, то есть незначительные изменения E не приводят к сколько--нибудь заметным изменениям ψ(x) внутри потенциальной ямы и вблизи нее.

В программе fi соответствует ψ(x), а fi1 и fi2 --- первой и второй производным по координате x.

uses Crt, Graph;
Const dx=0.002; dE=1; aa=0.0001; U1=5000; U2=2000;
var h, Gd, Gm : integer;
U,E,x,a,fi,fi1,fi2 : real; EE: string;
BEGIN
  Gd := Detect;  InitGraph(Gd, Gm, 'c:\bp\bgi');
  if GraphResult <> grOk then Halt(1);
   E:=136; a:=50; x:=-20;
 Repeat x:=x+0.2; U:=U1;
  if (x>0)and(xa then U:=U2;
  circle(100+round(x*5),470-round(U/15),1);
 until x>80;
 Repeat x:=-20; fi1:=0.0001; fi:=-0.0001;
 Repeat x:=x+dx; U:=U1;
  if (x>0)and(xa then U:=U2;
  fi2:=-aa*(E-U)*fi; fi1:=fi1+fi2*dx; fi:=fi+fi1*dx;
  circle(100+round(x*5),220-round(fi*fi/500),1);
  circle(100+round(x*5),350-round(fi/3),1);
 until (KeyPressed)or(abs(fi)>20000);
  E:=E+dE; h:=h+10; Str(E:5:1,EE); OuttextXY(530,10+h,EE);
 until KeyPressed;
 Repeat until KeyPressed;
END.

Недостаток данного метода --- результат моделирования сильно зависит от начальных условий: координаты x и соответствующих значений fi (ψ(x)) и fi1 (производной ψ(x) по x). На бесконечности ψ(x) должна обращаться в 0, а в программе задаются конечные значения x, fi и fi1.

Варианты решения этой задачи рассмотрены в [1, с.280-289].

Литература

1. Гулд Х., Тобочник Я. Компьютерное моделирование в физике: В 2-х частях. Часть вторая.-- М.: Мир, 1990.-- 390 с.


ВВЕРХ

Hosted by uCoz