Динамическое состояние квантовой частицы описывается волновой функцией Ψ(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 с. ВВЕРХ
|