Построение волновых функций для атома и молекулы, используя пакет аналитических вычислений Maple

Пояснение к Курсовой Работе

для студентов 3 курса 8 факультета МАИ. 2008

В.Е. Тарасов v.e.tarasov@bk.ru

Задание:

Построение волновых функций для атома и молекулы, используя пакет аналитических вычислений Maple.

(Построение 3D изображений атомных орбиталей и их гибридизаций в пакете Maple)

Пояснение.

Атомная орбиталь — одноэлектронная волновая функция в сферически симметричном электрическом поле атомного ядра, задающаяся главным n, орбитальным l и магнитным m квантовыми числами.

Название «орбиталь» (а не орбита) отражает геометрическое представление о движении электрона в атоме; такое особое название отражает тот факт, что движение электрона в атоме описывается законами квантовой механики и отличается от классического движения по траектории.

Геометрическое изображение

Геометрическое представление атомной орбитали - область пространства, ограниченная поверхностью равной плотности (эквиденситной поверхностью) вероятности или заряда. Плотность вероятности на граничной поверхности выбирают исходя из решаемой задачи, но, обычно, таким образом, чтобы вероятность нахождения электрона в ограниченной области лежит в диапазоне значений 0.9-0.99.

Поскольку энергия электрона определяется кулоновским взаимодействием и, следовательно, расстоянием от ядра, то главное квантовое число n задает размер орбитали.

Форма и симметрия орбитали задаются орбитальным квантовыми числами l и m: s-орбитали являются сферически симметричными, p, d и f-орбитали имеют более сложную форму, определяемую угловыми частями волновой функции - угловыми функциями. Угловые функции Ylm (φ , θ) - собственные функции оператора квадрата углового момента L2, зависящие от квантовых чисел l и m, являются комплексными и описывают в сферических координатах (φ , θ) угловую зависимость вероятности нахождения электрона в центральном поле атома. Линейная комбинация этих функций определяет положение орбиталей относительно декартовых осей координат.

Для линейных комбинаций Ylm приняты следующие обозначения:

Значение орбитального квантового числа

0

1

1

1

Значение магнитного квантового числа

0

0

Линейная комбинация

-

-

Обозначение

2

2

2

2

2

0

-

 Дополнительным фактором, иногда учитываемым в геометрическом представлении, является знак волновой функции (фаза). Этот фактор существен для орбиталей с орбитальным квантовым числом l, отличным от нуля, то есть не обладающих сферической симметрией: знак волновой функции их "лепестков", лежащих по разлные стороны узловой плоскости, противоположен. Знак волновой функции учитывается в методе молекулярных орбиталей МО ЛКАО (молекулярные орбитали как линейная комбинация атомных орбиталей).

СФЕРИЧЕСКАЯ ФОРМА s-орбитали

РАСПОЛОЖЕНИЕ В ПРОСТРАНСТВЕ р-орбиталей

ФОРМЫ d-ОРБИТАЛЕЙ

ФОРМЫ f-ОРБИТАЛЕЙ

ФОРМА g-ОРБИТАЛИ

Гибридизация атомных орбиталей. Молекулярные орбитали.

По методу молекулярных орбиталей любая молекула рассматривается как совокупность всех ядер и электронов всех атомов, образующих данную сложную частицу.

Существует несколько вариантов этого метода. Рассмотрим один из них, наиболее распространённый.

ЛКАО МО - линейная комбинация атомных орбиталей - есть молекулярная орбиталь.

Образование её можно представить как результат сложения и вычитания комбинируемых атомных орбиталей.

Если атомные орбитали обозначить φA и φB, то их линейная комбинация даст молекулярные орбитали двух типов. При сложении возникает молекулярная орбиталь ψ+, при вычитании - ψ-.

Сложение означает, что молекулярная орбиталь характеризуется повышенной электронной плотностью в пространстве между ядрами, поэтому энегетически она выгоднее исходных атомных орбиталей. Такая орбиталь называется связующей.

При вычитании атомных орбиталей образуется орбиталь с пространственным разрывом между ядрами. Электронная плотность равна нулю, и подобная орбиталь энергетически менее выгодна, чем исходные атомные орбитали. Такая молекулярная орбиталь называется разрыхляющей.

ГИБРИДИЗАЦИЯ с участием двух орбиталей, s и px

ГИБРИДИЗАЦИЯ с участием трех орбиталей: s, px и py

sp

180°

 

линейная

H–Be–H, HC≡CH

sp2

120°

 

плоская тригональная

H2C=CH2, C6H6, BCl3

sp3

109°28'

 

тетраэдрическая

[NH4]+, CH4, CCl4, H3C–CH3

sp2d

90°

 

квадратная

[Ni(CN)4]2–, [PtCl4]2–

sp3d или dsp3

90°, 120°

 

триагонально-бипирамидальная

PCl5

d2sp3 или sp3d2

90°

 

октаэдрическая

[Fe(CN)6]3–, [CoF6]3–, SF

Описание движения в кулоновском поле (сферические координаты), используя Maple.

Рассмотрим атом водорода в квантовой механике. Напомним, что при движении в центрально-симметричном поле момент количества движения сохраняется. В силу этого, в волновой функции можно выделить радиальную и угловую часть. Наиболее прямой способ вычисления собственных функций момента движения есть непосредственное решение об отыскании собственных функций квадрата момента, записанного в сферических координатах. При этом, собственные функции момента оказываются ничем иным, как определенным образом нормированными сферическими функциями.

В данном примере мы графически представим собственные функции стационарных состояний и обсудим некоторые их свойства.

Итак, нам известно, что полная волновая функция 

Угловая часть волновой функции

Собственная функция третьей проекции оператора момента равна

> restart:

> Phi:=(2*Pi)^(-1/2)*exp(I*m*phi);

Заметим сразу, что данные функции являются ортонормированными

> int(evalc( Phi* conjugate(Phi) ), phi=0..2*Pi);

и, поэтому, мы просто не будем учитывать этот множитель далее при вычислении полной волновой функции.

Продолжая изучение угловой части полной собственной функции, введем полиномы Лежандра , используя обобщенную формулу Родрига

Ø        P:=(l,x)->if l<>0 then 1/(2^l*l!)*diff((x^2-1)^l,x$l) else 1 fi;

С точки зрения программиста мы написали процедуру с именем P(l,x) , которая зависит от двух аргументов l и x .

С другой стороны, мы могли бы использовать встроенную процедуру из пакета  orthopoly   для определения этих полиномов.

Для примера, посмотрим, как выглядит один из полиномов Лежандра

> collect(P(5,x),x);

Присоединенные полиномы Лежандра

> P1:=(l,m,x) -> if m=0 then P(l,x) else (1-x^2)^(m/2)*diff(P(l,x),x$m) fi:

Введем стандартную замену аргумента

> Theta:=d->sqrt((2*l+1)*(l-m)!/(l+m)!)*subs(d=cos(theta),P1(l,m,d));

Теперь определим сферические гармоники

> Y:=d->Theta(d)*Phi:

которые являются комплексными функциями. Для примера построим графики вещественной и мнимой частей сферических гармоник

> with (plots):

Warning, the name changecoords has been redefined

> l:=3:m:=1: sphereplot(Re(Y(d)),phi=0..2*Pi,theta=0..Pi,scaling=constrained, grid=[15,100],axes=framed,title=`Вещественная часть при l=3, m=1`);

> l:=4: m=0: sphereplot(Im(Y(d)),phi=0..2*Pi,theta=0..Pi,scaling=constrained, grid=[15,100],axes=framed,title=`Мнимая часть при l=4, m=0`);

Вычислим квадрат нормы присоединенной функции Лежандра, т.е. | |^2 , для одной из гармоник, например при

> l:=3: m:=1: sphereplot((Theta(d)^2),phi=Pi/2..2*Pi,theta=0..Pi, scaling=constrained,grid=[15,100],axes=framed, title=`Квадрат нормы угловой части при l=3, m=1`);

и ее проекцию на плоскость

> polarplot(Theta(d)^2,theta=0..2*Pi,scaling=constrained, title=`Проекция на плоскость xy`);

Радиальная часть волновой функции

Перейдем к построению радиальной части волновой функции

Определим полиномы Лаггера по формуле Родрига

> L:=(j,k,x)->if j<>0 then 1/j!*exp(x)/x^k*diff(x^(j+k)*exp(-x),x$j) else 1 fi;

Заметим, что мы используем математическое определение (см. справочник Бейтмена и Эрдейи), которое нормировками отличается от определения, данного в книге Ландау и Лифшица. Именно это определение совпадает со встроенной процедурой

> simplify(L(3,2,x));

> simplify(L[orthopoly](3,2,x));

Радиальная часть

> Ru:=(n,l,x)->x^l*exp(-x/2)*L(n-l-1,2*l+1,x):

Посмотрим, как выглядит эта функция при частных значениях параметров

> n:=4: l:=2: simplify(Ru(n,l,x));

Зададим необходимую нормировку радиальных функций и определим стандартную подстановку аргумента

> n:='n':l:='l':r:='r': R:=x->sqrt(4*(n-l-1)!/(n+l)!/(a^3*n^4))*simplify(subs(x=2*r/(n*a),Ru(n,l,x)));

Построим график квадрата нормы радиальной части волновой функции, при

> a:=1: n:=3: l:=1: plot((r*R(d))^2,r=0..30,title=`Квадрат нормы радиальной части при n=3, l=1`);

Посмотрим, как изменяется характер волновой функции в зависимости от энергии системы, т.е. в зависимости от числа

> bases:= [seq(i,i=l+1..l+9)]: S:=seq(plot((r*R(d))^2,r=0..30, color=COLOR(HUE,1.1-n/10), title=`Квадрат нормы радиальной части`, legend=`При n=`||n), n=bases): plots[display](S,insequence=false);

Можно видеть характерное "размазывание" функции с ростом энергии.

Более наглядно данное явление можно увидеть в среде Maple, используя анимацию. Для этого надо изменить опции в последней команде следующим образом insequence=true , т.е. попросить систеиу выдавать графики на дисплей не одновременно, а последовательно.

Построение полной волновой функции, используя Maple.

Используя введенные ранее части полной волновой функции | |^2=| |^2 одной из гармоник, например при

> n:=3: l:=2: m:=0: plot3d([r*cos(theta),r*sin(theta),Re((r*R(d)*Theta(d))^2)], r=0..30,theta=Pi/2..2*Pi,axes=framed, title=`Квадрат нормы при n=3,l=2,m=0`);

С волновыми функциями при

> a:=1: l:=1: m:=0: bases:= [seq(i,i=l+1..l+9)]: S:=seq(plot3d([r*cos(theta),r*sin(theta),Re((r*R(d)*Theta(d))^2)], r=0..50,theta=0..2*Pi,axes=framed, title=`Квадрат нормы при n = `||n), n=bases): display3d(S,insequence=true);

Далее, при фиксированной энергии, посмотрим зависимость от квантового числа

Ø        a:=1: n:=7: m:=0: bases:= [seq(i,i=0..n-1)]: S:=seq(plot3d([r*cos(theta),r*sin(theta),Re((r*R(d)*Theta(d))^2)], r=0..50,theta=0..2*Pi,axes=framed, title=`Квадрат нормы при l = `||l), l=bases): display3d(S,insequence=true);

Используем иные возможности системы Maple, для того, чтобы увидеть другие характеристики данной функции. Например Maple, позволяет вывести контурную проекцию данного распределения. В отличие от анимации, данный график может быть напечатан.

> plot3d([r*cos(theta),r*sin(theta),(r*R(d)*Theta(d))^2], r=0..20,theta=0..2*Pi,axes=boxed,orientation=[0,0], shading=z,style=patchcontour,scaling=constrained, title=`Контурная проекция квадрата нормы`);

Определим процедуру, которая позволяет построить все рассматриваемые выше графики для какой-либо из гармоник:

> HydrogenPlots:=proc(n,l,m) global a,p1,p2,p3,p4,p5; local txt; a:=1; txt:=`nlm=`||n||l||m:

p1:=sphereplot(Theta(d)^2,phi=Pi/2..2*Pi,theta=0..Pi,axes=boxed, scaling=constrained,grid=[15,100],title=`txt`); print(p1);

p2:=polarplot([Theta(d)^2,theta+Pi/2,theta=0..2*Pi],scaling=constrained, title=`txt`); print(p2);

p3:=plot((r*R(d))^2,r=0..30,title=`txt`); print(p3);

p4:=plot3d([r*cos(theta),r*sin(theta),(r*R(d)*Theta(d))^2], r=0..30,theta=Pi/2..2*Pi,axes=boxed,title=`txt`); print(p4);

p5:=plot3d([r*cos(theta),r*sin(theta),(r*R(d)*Theta(d))^2], r=0..30,theta=0..2*Pi,axes=boxed,orientation=[0,0],style=patchcontour,scaling=constrained, shading=z,title=`txt`); end:

Например, пусть

> n:=4: l:=2: m:=1: HydrogenPlots(n,l,m);

Конечно, вид графиков можно изменить, например изменив стиль

> replot(p1,style=patch,shading=z,orientation=[56,70]);

Можно посмотреть, как меняется распределение вероятности в зависимости от номера гармоники и без анимации, например при одной и той же энергии

> for n from 4 to 4 do for l from 0 to n-1 do for m from 0 to l do txt:=`nlm=`||n||l||m: p||n||l||m:=plot3d([r*cos(theta),r*sin(theta),(r*R(d)*Theta(d))^2], r=0..50,theta=0..2*Pi,axes=boxed,orientation=[0,0], style=contour,scaling=constrained, shading=z, title=`txt`,numpoints=1000); print(p||n||l||m); od; od; od;

Список литературы

Минкин В.И., Симкин Б.Я., Миняев P.M.

Теория строения молекул. Электронные оболочки. М., "Мир", 1979

А.В. Цыганов Курс лекций "Квантовая механика с Maple" Санкт-Петербург 2000 http://www.andrey-ts.narod.ru/Maple/maple.php