Karmanov_Reznichenko
.pdfМинистерствообразованияинауки Российской Федерации Обнинский государственный технический университет Атомной энергетики
Факультет естественныхнаук
Ф.И. Карманов, Д.А. Резниченко
Методические указания к выполнениюлабораторныхработпо курсу
«Вычислительные методыв квантовойфизике»
Часть 1 Решение систем линейных уравнений
Обнинск
2004
Методические указания
к выполнениюлабораторныхработпо курсу «Вычислительные методыв квантовойфизике» Часть 1
Решение системлинейныхуравнений
Карманов Ф.И., Резниченко Д.А.
Данное методическое пособие предназначено для студентов 4-го курса специальности 070500 «Ядерные реакторы и энергетические установки» и 070900 «Физика металлов» и содержит методические рекомендации к выполнению лабораторных работ по курсу «Вычислительные методы в квантовой физике». В пособии рассматриваются постановки задач, формулируются методы их решения, обсуждаются алгоритмы и приводятся подробные тексты программ моделирования с использованием достаточно широких возможностей интегрированного пакета «MathCAD 11a». Особое внимание уделяется созданию программ как инструментов исследования и выполнению компьютерного моделированияизучаемых явлений.
Первая часть содержит материал, относящийся к одному из традиционных разделов вычислительной математики - решениюсистем линейных уравнений.
Карманов Ф.И. |
13.01.04. |
РезниченкоД.А. |
|
Рецензенты: к.ф.-м.н. В.А. Шакиров. |
|
д.х.н. |
В.К. Милинчук. |
2
Решение систем линейных алгебраических уравнений
Задача 1
Частица массы m находится в потенциальной яме конечной глубины Uo. Требуется найти допустимые уровни энергии частицы, решая уравнение Шрёдингера для задачи о стационарных состояниях. Ширина ямы равна a.
|
|
|
|
|
|
|
|
Решение |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
Система линейных уравнений |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Пусть a := 2.0 A |
|
|
|
|
|
|
−0.1 a |
|
|
0 |
|
|||||||||
Uo := 20 eV |
|
|
|
0 |
|
|
|
0 |
|
|||||||||||
Для построения графика потенциала |
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
0 |
|
|
|
−Uo |
|||||||||||||
введем массивы Xgr, Ugr: |
|
|
Ugr := |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Xgr := |
a |
|
|
−Uo |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
0 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0 |
|
|
|
|
|
|
|
|
|
1.1 a |
|
|
|
0 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Уравнение Шредингера |
|
|||||
|
Ugr 10 |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
имеет вид |
|
|
|
|
||||||
|
|
|
|
20 |
|
|
|
|
|
|
|
|
d2 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
2m |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
0 |
2 |
|
|
|
ψ + |
(E − U(x)) |
ψ = 0 |
|||||||||||||
|
|
|
|
|
|
|
|
Xgr |
|
dx2 |
h2 |
Рис. 1. Распределение потенциала
Будем искать решение в виде ψ(х) = Аexp(ikx) + Bexp(-ikx), где неизвестные параметры A и B определяются из условий ограниченности волновой функции и непрерывности волновой функции и ее первой производной на границах, т.е. при x=0 и x=a. Выполнение этих условий приводит к следующей системе линейных алгебраических уравнений:
B0 − A1 − B1 = 0 |
где k(x) - задается |
||
соотношением |
|||
−k0 B0 − k1 A1 + k1 B1 = 0 |
k(x)2 = |
2 m |
(E − U(x)) |
|
|||
|
|
h2 |
3
eik1 a A1 + e− ik1 a B1 − eik2 a A2 = 0
k1 ei k1 a A1 − k1 e− ik1 a B1 − k2 eik2 a A2 = 0
Поскольку данная система уравнений однородна, то она однозначно разрешима, только если ее определитель равен нулю, а это и есть необходимое уравнение для определения уровней энергии частицы.
Определение элементов матрицы С |
|
|
|
|
||
Вводим векторы X, U, |
|
0 |
|
|
0 |
|
характеризующие распределение |
X := |
U := |
−Uo |
|
||
|
|
|
||||
потенциала : |
|
a |
|
0 |
|
|
|
|
|
|
|
mc2 |
:= 0.511 106 |
eV |
|
|
hc := |
1.9732858 103 |
eV A |
|
|
|
|
|
|
||||||||||
k2(e, j) := |
2 mc22 |
(e − Uj) |
|
|
k(e, j) := k2(e, j) |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
hc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пусть |
|
|
E := −0.5 Uo |
|
|
|
|
i := |
−1 |
|
|
|
|
|
|
|
|
|
|||||
C0 |
,0 |
:= 1.0 |
|
C0 |
,1 |
:= −1.0 |
C0,2 |
:= −1.0 |
|||||||||||||||
C1 |
,0 |
:= −k(E,0) C0,0 |
C1 |
,1 |
:= k(E,1) C0,1 |
C1,2 |
:= −k(E,1) C0,2 |
||||||||||||||||
C |
2 |
,1 |
:= e |
(i k(E,1) X1) |
C |
2 |
,2 |
:= e |
(− i k(E,1) X1) |
C |
2,3 |
:= −e |
(i k(E,2) X1) |
||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
C3 |
,1 |
:= k(E,1) C2,1 |
C3 |
,2 |
:= −k(E,1) C2,2 |
C3,3 |
:= k(E,2) C2,3 |
||||||||||||||||
Значения элементов матрицы С и ее определитель |C| |
|
при Е = -0.5Uo |
|||||||||||||||||||||
|
|
|
|
1 |
|
−1 |
|
|
|
|
|
−1 |
0 |
|
|
|
|
|
|||||
C = |
−1.62i |
−1.62 |
|
|
|
|
1.62 |
0 |
|
|
|
C |
|
= −0.409i |
|||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
0 |
−0.995 − 0.098i |
−0.995 + 0.098i |
−0.039 |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
0 |
−1.612 − 0.159i |
1.612 − 0.159i |
−0.063i |
|
|
|
4
LU-разложение матрицы С |
M := lu(C) |
( для справок см. Help -> Resource Center -> Quick Sheets, References -> Vectors and Matrices -> Decompositions of Matrices )
Проанализируем структуру полученной матрицы М и извлечем из нее верхнюю U и нижнюю L треугольные матрицы, а также матрицу перестановок Р:
Матрица |
|
|
0 |
1 |
0 |
0 |
|
|
|
1 |
0 |
0 |
0 |
||
перестановок |
P := submatrix(M ,0,3,0,3) |
P = |
|||||
|
|
|
|
|
|
||
|
|
|
0 |
0 |
1 |
0 |
|
|
|
|
0 |
0 |
0 |
1 |
L := submatrix(M,0,3,4,7) |
|
|
|
1 |
0 |
0 |
0 |
||
Нижняя |
|
|
L = |
0.617i |
1 |
0 |
0 |
||
треугольная |
|
|
|
0 |
0.448 + 0.547i |
1 |
0 |
|
|
матрица |
|
|
|
|
|
||||
|
|
|
|
|
0 |
0.726 + 0.886i −1.329i |
1 |
||
U := submatrix(M ,0,3,8,11) |
|
|
|
|
|
|
|
||
|
|
−1.62i |
−1.62 |
1.62 |
0 |
|
|||
Верхняя |
U = |
|
0 |
|
−1 + i |
−1 − i |
0 |
|
|
треугольная |
|
0 |
|
0 |
−1.094 + 1.094i |
−0.039 |
|
||
матрица |
|
|
|
|
|
||||
|
|
|
0 |
|
0 |
0 |
−0.115i |
Определитель матрицы С как произведение диагональных элементов
верхней треугольной матрицы, умноженный на (-1)^ p , где р - число перестановок (в нашем случае, судя по найденной матрице Р, была только одна перестановка) и его модуль:
3 |
|
|
|
|
|
Det := − ∏ Un,n |
Det = −0.409i |
|
Det |
|
= 0.409 |
|
|
||||
|
|
||||
n = 0 |
|
|
|
|
|
5
Расчет уровней энергии частицы в потенциальной яме
На основе описанного выше алгоритма вычисляем детерминант как функцию энергии с помощью подпрограммы D(E). Поскольку в MathCAD существует встроенная функция вычисления определителя системы линейных уравнений, основанная на использовании разложения матрицы на верхюю и нижнюю треугольную, то воспользуемся этой встроенной функцией.
D(e) := for j 0 .. 2 N − 1
C2 j,2 j−1 ← exp(i k(e, j) Xj) if ( j > 0) C2 j,2j ← exp(−i k(e, j) Xj)
C2 j,2 j+1 |
← −exp(i k(e, j + 1) Xj) |
|
|
||
C2 j,2 j+2 |
← −exp(−i k(e, j + 1) Xj) |
if |
( j < N) |
||
C2 j+1 |
,2 j−1 |
← k(e, j) C2 j,2 j−1 if |
( j > 0) |
||
C2 j+1 |
,2 j ← −k(e, j) C2 j,2 j |
|
|
||
C2 j+1 |
,2 j+1 |
← k(e, j + 1) C2 j,2 j+1 |
|
|
|
C2 j+1 |
,2 j+2 |
← −k(e, j + 1) C2 j,2 j+2 |
if ( j < N) |
|
Det ← |
C |
|
|
|
|
|
|
|
N := 1 |
E := −0.999 Uo,−0.989 Uo .. −0.001 |
|
|||
|
|
10 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
D(E) |
|
0.1 |
|
|
|
|
|
|
0.01 |
|
|
|
|
|
|
. |
|
3 |
|
|
|
|
|
1 10 |
20 |
|
15 |
10 |
5 |
0 |
|
|
|
|
|||||
|
|
|
|
|
E |
|
|
|
|
|
|
Рис. 2. |
График функции D(E) |
|
6
Определение корней с помощью функции root(y,x)
Построим более детальные графики в окрестности предполагаемых значений корней.
|
|
|
|
|
2 |
|
0.4 |
|
|
|
|
|
|
D(E) |
|
|
|
D(E) |
1 |
|
0.2 |
|
|
|
|
|
|
0 |
20 |
15 |
10 |
|
0 10 |
5 |
|
|
E |
|
|
|
E |
Исходя из графика функции D(E) ясно что , приближенные значения корней E1 = -16 , E2 = -4 . Используя встроенную функцию root(f,x), уточняем значения корней:
(для справок см. Help -> Resource Center -> QuickSheets, References -> Solving Equations ->Solving Equations in a Single Unknown)
TOL = 1 × 10− 3 ( значение по умолчанию)
E := −16 |
E1 := root(D(E) ,E) |
E1 |
= −15.556 |
E := −4 |
E2 := root(D(E) ,E) |
E2 |
= −4.117 |
Оценим влияние параметра TOL на точность нахождения корней:
a ) TOL := 10− 2 E := −16
E := −4
TOL = 0.01 |
|
|
E1 := root(D(E) ,E) |
E1 |
= −15.529 |
E2 := root(D(E) ,E) |
E2 |
= −4.115 |
b ) TOL := 10− 4 |
TOL = 1 × 10− 4 |
|
|
E := −16 |
E1 := root(D(E) ,E) |
E1 |
= −15.556 |
E := −4 |
E2 := root(D(E) ,E) |
E2 |
= −4.117 |
Как видно, требуемая точность нахождения корня (три знака после запятой) достигается при TOL:= 10− 3.Чему равна невязка уравнения?
7
Решение системы линейных уравнений
Поскольку система уравнений однородна, то ее решение может быть найдено только если предположить, что одна из компонент вектора неизвестных может быть определена на основе некоторых дополнительных условий. В нашем случае - это условие нормировки волновой функции. Полагая, например, Bo известной величиной и опуская одно из уравнений исходной системы, получим:
A1 + B1 = B0
k1 A1 − k1 B1 = −k0 B0
eik1 a A1 + e− ik1 a B1 − eik2 a A2 = 0
Входящие сюда параметры ko и k1 должны быть заданы при энергии, отвечающей одному из найденных уровней энергии.
Для нахождения решения этой системы уравнений воспользуемся встроенной функцией lsolve()
(для справок см. Help -> Resource Center -> QuickSheets, References -> Solving Equations ->Solving a Linear System of Equations)
Пусть, например, |
Bo := 1 |
|
|
||
то матрица системы М и вектор правой части V имеют вид : |
|||||
|
1 |
1 |
0 |
|
|
M(e) := |
k(e,1) |
−k(e,1) |
0 |
|
|
|
|
|
|
−exp(i k(e,2) a) |
|
exp(i k(e,1) a) |
exp(−i k(e,1) a) |
||||
|
Bo |
|
а ее решение: |
|
|
V(e) := −k(e,0) Bo |
AB(e) := lsolve(M(e) ,V(e)) |
||||
|
|
|
|
|
|
|
0 |
|
|
|
|
0.5 − |
0.936i |
Как и следовало ожидать, |
значения А1 и |
||
В1, соответствующие интервалу 0< x < a |
|||||
AB(E1) = |
0.5 + 0.936i |
внутри ямы, являются комплексно сопря- |
|||
|
|
|
женными величинами, обеспечивая тем |
||
|
56.896 |
самым действительность функции ψ. |
8
Волновые функции состояний
Вычислим теперь значения волновых функций для каждого из найденных состояний и построим их графики. Отметим, что волновые функции являются ненормированными.
ψ(x,e) := ab ← lsolve(M(e) ,V(e))
y ← Bo exp(−i k(e,0) x) if x ≤ 0 if 0 < x < a
y ← ab0 exp(i k(e,1) x)
y ← y + ab1 exp(−i k(e,1) x) y ← ab2 exp(i k(e,0) x) if x ≥ a
y
xx := 0 ..a
ψ(x,E1) 10
ψ(x,E2) 10
0 Ugr E1 E2
20 |
|
|
|
0 |
|
|
|
20 |
|
|
|
2 |
0 |
2 |
4 |
|
x,x,x,Xgr,xx,xx |
|
|
Рис. 3. Волновые функции и уровни энергии |
|
||
|
9 |
|
|
Упражнения
1. Проанализируйте постановку задачи о стационарных состояниях для частицы, находящейся в потенциальной яме конечной глубины (см. [1]). Получите трансцендентное уравнение
k |
, |
||
ka = n π − 2arcsin |
|
|
|
ko |
где a - ширина ямы, n - номер состояния (целое число), k - волновое число, изменяющееся в диапазоне [0, ko], а ko равно
ko = |
2 m Uo , |
|
h |
корни которого определяют значения уровней энергии в таком потенциальном поле. При этом энергия состояния определяется соотношением
2
E = (hk2m) − Uo .
Получите оценку числа стационарных состояний, реализующихся в данной потенциальной яме в зависимости от соотношения ее глубины и ширины
nmax ≤ 1 + |
ko a |
. |
|
||
|
π |
2.Найдите графически решение трансцендентного уравнения, приведенного в упражнении 1, для обсуждавшихся выше параметров потенциала.
3.На основе приведенного выше описания алгоритма «соберите» работающий вариант программы и вычислите значения уровней энергии и волновых функций в потенциальной яме конечной глубины с выбранными Вами параметрами ямы. Проанализируйте результаты на основе информации, приведенной в упражнении 1.
4.Рассчитайте уровни энергии и волновые функции для стационарных состояний частицы в двух близко расположенных потенциальных ямах конечной глубины. Эта система может рассматриваться как простейшая модель ковалентной связи. Какими дополнительными свойствами обладают волновые функции и уровни энергии в этой задаче?
10