Karmanov_Trojanov
.pdfФедеральное агенство по образованию Российской Федерации
Обнинский государственный технический университет Атомной энергетики
Факультет естественных наук
Ф.И. Карманов, М.М. Троянов
Численное решение нелинейных уравнений в физике Учебное пособие по курсу
«Вычислительные методы в инженерных расчетах»
Обнинск
2005
Карманов Ф.И., Троянов М.М.
Численное решение нелинейных уравнений в физике Учебное пособие
Данное учебное пособие предназначено для студентов 4-го курса специальности 070500 «Ядерные реакторы и энергетические установки»», 070900 «Физика металлов» и «Прикладная математика», слушающих курсы «Вычислительные методы в физике» и «Вычислительные методы в инженерных расчетах». В пособии рассматриваются постановки задач, формулируются методы их решения, обсуждаются алгоритмы и приводятся подробные тексты программ моделирования с использованием достаточно широких возможностей интегрированного пакета «MathCAD 11a». Особое внимание уделяется созданию программ как инструментов исследования и выполнению компьютерного моделирования изучаемых явлений.
Пособие содержит материал, относящийся к одному из традиционных разделов вычислительной математики - решению нелинейных уравнений и систем, возникающих в некоторых областях квантовой физики, статистической физики и физики твердого тела.
КармановФ.И. |
29.11.04. |
Троянов М.М.
Рецензенты: к.ф.- м.н. Ю.В. Лисичкин. д.ф.- м.н. В.Л. Шаблов.
Темплан 2005 год
@Обнинский государственный технический университет атомной энергетики
@Карманов Ф.И., Троянов М.М.
Глава 1. Связанные состояния в ступенчатом потенциале
(решение систем линейных уравнений)
Поиск уровней энергии частицы в заданном одномерном потенциальном поле обычно сводится к решению задачи о собственных значениях для стационарного уравнения Шредингера [1-2]
−h2 d2 Ψ(x) + V(x) Ψ(x) = E Ψ(x) 2 m dx2
при дополнительных условиях непрерывности волновой функции и ее первой производной, а также условии квадратичной интегрируемости (нормировки) волновой функции.
Подобные задачи возникают при анализе свойств низкоразмерных квантовых систем, таких как квантовые точки, нити или кольца, во многих областях науки и нанотехнологии, связаных с развитием вычислительной техники, физики атомных и молекулярных кластеров, полимерных цепочек и нанокристаллов [3–5].
Одномерная потенциальная решетка
Для потенциалов, ограниченных снизу (V(x) > V0 ) и стремящихся к конечному пределу при x –> ± ∞ , собственные значения дискрет-
ны и принадлежат интервалу [V0<E<Vc], где Vc = min(V(- ∞),V(+ ∞)).
Одно из возможных представлений потенциала в одномерной цепочке атомов состоит в использовании кусочно-постоянных функций. Для этого область действия потенциала разбивается на несколько участков, в пределах которых потенциал считается постоянным,
V0 = 0, |
x ≤ x0 = 0 |
||||
|
, |
|
x0 ≤ x ≤ x1 |
||
V1 |
|
||||
|
|
|
|
|
, |
V (x) = ... |
|
|
|
|
|
|
|
, |
xN −2 |
≤ x ≤ xN −1 |
|
VN −1 |
|||||
V |
|
= 0, |
x |
N |
≤ x |
N +1 |
|
|
|
3
а решение уравнения Шредингера представляется в виде линейной комбинации бегущих вправо и влево плоских волн при условии, что собственное значение El больше высоты ступеньки на данном участке Vn , или экспоненциально убывающих и нарастающих функций при El < Vn :
Ψ(x)ln = Aln exp(i kln x) + Bln exp(−i kln x), |
xn−1 ≤ x ≤ xn |
|||
Параметры kln волновых функций определяются соотношениями |
||||
k |
= |
2 m (El − Vn) |
|
|
h |
|
|||
ln |
|
|
Если El = Vn , то на этом участке волновая функция представляется прямой линией
Ψ(x)ln = Aln + Bln x
Из условия нормировки следует, что коэффициенты Al1 и BlN обращаются в ноль, поскольку волновая функция связанного состояния должна экспоненциально убывать при x –> ± ∞.
Требование непрерывности волновой функции и ее производной во внутренних точках xn области определения потенциала приводит к системе 2(N+1) линейных уравнений относительно коэффициентов Aln и Bln волновой функции:
|
|
A eikln xn + B |
ln |
e−ikln xn = A |
eikln +1xn + B |
ln+1 |
e−ikln +1xn , |
||||||
|
|
ln |
|
|
ln+1 |
|
|
|
|
|
|||
k |
ln |
(A eikln xn − B e |
−ikln xn ) = k |
ln+1 |
(A |
eikln +1xn − B |
ln+1 |
e−ikln +1xn ) . |
|||||
|
ln |
ln |
|
|
|
ln+1 |
|
|
|
|
Получаемая система уравнений является однородной и потому имеет нетривиальное решение, если определитель D(E ) ее матрицы С обращается в ноль. Решение этого уравнения в общем случае можно получить только численно. Найденные корни этого уравнения определяют спектр частицы в заданном потенциале. После решения уравнения |D(E)| = 0 и нахождения уровней энергии для определения коэффициентов волновой функции необходимо решить представленную выше систему уравнений с учетом дополнительного условия нормировки волновой функции.
4
В качестве примера применения этого метода рассчитаем уровни энергии и волновые функции электрона в системе из No= 5 одинаковых потенциальных ям конечной глубины, разделенных равновысокими барьерами постоянной ширины. Пусть
mc2 := 0.511 106 eV |
hc := 1.9732858 103 |
eV A |
|||||||||||||||||||||
No := 5 |
N := 2 No − 1 |
|
|
i := |
|
|
−1 |
|
|
|
|||||||||||||
Uo := 20 eV |
a := 3.6 A |
|
b := 0.50 |
|
A |
|
|
|
|
X := 0 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
j := 1 .. N + 1 |
Uj := if (mod( j,2) = 1,−Uo,0) |
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
Xj := if (mod( j,2) = 1,Xj−1 + a,Xj−1 + b) |
|||||||||||||||||
Ugr := |
|
u0 ← U0 |
|
Xgr := |
|
for j 0 .. N |
|||||||||||||||||
|
|
|
|||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
|
for |
j 1 .. N |
|
|
|
|
|
|
|
|
x2 j ← Xj |
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
j2 ← 2 j − 1 |
|
|
|
|
|
|
|
|
x2 j+1 ← Xj |
||||||||
|
|
|
|
|
|
uj2 ← Uj |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
uj2+1 ← Uj |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 mc22 |
(e − Uj) |
||||||||
|
|
|
u2 N+1 ← UN+1 |
|
k(e, j) := |
|
|||||||||||||||||
|
|
|
u |
|
|
|
|
|
|
|
|
|
|
|
|
hc |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Ugr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20
0 |
5 |
10 |
15 |
20 |
|
|
Xgr |
|
|
Рис. 1. Потенциальная решетка
Матрицу С(Е) нужной структуры и ее определитель можно сформировать с помощью следующей подпрограммы, а затем рассчитать зависимость его модуля от энергии.
5
D(e) := |
|
for j 0 .. N |
|
|
|
||
|
|
|
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 |
|
|
|
|
|
|
|
e := −0.9999 Uo,−0.9998 Uo .. −0.001 |
|
|||
|
|
|
10 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
0.1 |
|
|
|
|
|
|
0.01 |
|
|
|
|
|
|
1 |
.10 |
3 |
|
|
|
|
|
1 |
.10 |
4 |
|
|
|
|
|
1 |
.10 |
5 |
|
|
|
|
|
1 |
.10 |
6 |
|
|
|
|
|
1 |
.10 |
7 |
|
|
|
|
D(e) 1 |
.10 |
8 |
|
|
|
|
|
|
1 |
.10 |
9 |
|
|
|
|
1 |
.10 |
10 |
|
|
|
|
|
1 |
.10 |
11 |
|
|
|
|
|
1 |
.10 |
12 |
|
|
|
|
|
1 |
.10 |
13 |
|
|
|
|
|
1 |
.10 |
14 |
|
|
|
|
|
1 |
.10 |
15 |
|
|
|
|
|
1 |
.10 |
16 |
|
|
|
|
|
1 |
.10 |
17 |
15 |
10 |
5 |
0 |
|
|
|
|
20 |
e
Рис. 2. График функции D(E)
6
Как видно из рис.2, в нашей одномерной решетке формируется система пяти близко расположенных уровней, разделенных промежутком, в котором нет связанных состояний. С увеличением энергии группа из пяти уровней повторяется, а расстояние между уровнями внутри группы увеличивается. Начальные значения энергии, необходимые для начала итерационного уточнения корней с использованием встроенной функции root(), могут быть найдены, например, с помощью следующей программной единицы на основе анализа изменения знака и значений функции в окрестности корня.
En(En,Em,δE) := n ← 0 E ← En
D1 ← D(E)
D2 ← D(E + δE) while E < Em
E ← E + δE
D3 ← D(E) δ1 ← D2 − D1 δ2 ← D3 − D2
if (δ1 δ2 < 0) (δ1 < δ2)
Aen ← E − δE n ← n + 1
D1 ← D2
D2 ← D3
Ae
EA := En(−0.999 Uo,−0.001 Uo,0.001) |
|
|
Nlev := rows(EA) |
|
Nlev = 15 |
EL(nlev,Ea) := |
|
for n 0 .. nlev − 1 |
|
|
||||
eL := EL(Nlev,EA) |
|
|
|
E ← Ean |
|
|
|
||
|
|
|
|
eln ← root(D(E) ,E) |
|
|
|
el |
7
После вычисления уровней энергии следует найти коэффициенты A и B волновых функций для каждого из найденных значений энергии. Для этого следует модифицировать исходную систему линейных уравнений, полагая один из коэффициентов известным, например, равным единице. В дальнейшем расчете его можно найти из условия нормировки волновой функции. Для решения системы уравнений воспользуемся встроенной функцией lsolve().
AB(E) := |
B0 ← 1 |
|
|
||
|
C0,0 ← −k(E,1) |
|
|
||
|
C0,1 ← k(E,1) |
|
|
||
|
for |
j 1 .. N |
|
|
|
|
|
|
C2 j−1,2j−2 ← exp(i k(E, j) Xj) |
|
|
|
|
|
|
|
|
|
|
|
C2 j−1,2 j−1 ← exp(−i k(E, j) Xj) |
|
|
|
|
|
C2 j−1,2j ← −exp(i k(E, j + 1) Xj) |
|
|
|
|
|
C2 j−1,2j+1 ← −exp(−i k(E, j + 1) Xj) |
if j < N |
|
|
|
|
C2 j,2j−2 ← k(E, j) C2 j−1,2j−2 |
|
|
|
|
|
C2 j,2j−1 ← −k(E, j) C2 j−1,2j−1 |
|
|
|
|
|
C2 j,2j ← k(E, j + 1) C2 j−1,2j |
|
|
|
|
|
C2 j,2j+1 ← −k(E, j + 1) C2 j−1,2j+1 |
if |
j < N |
|
V0 ← k(E,0) B0 |
|
|
||
|
for |
n 1 .. 2 N |
|
|
|
|
Vn ← 0 |
|
|
||
|
ab ← lsolve(C,V) |
|
|
||
|
ab |
|
|
|
|
Вычислим коэффициенты для первых пяти состояний: |
A0 := AB(eL0) |
||||
A1 := AB(eL1) |
A2 := AB(eL2) A3 := AB(eL3) |
|
A4 := AB(eL4) |
8
Распечатаем найденные значения уровней энергии и коэффициенты волновой функции для основного состояния системы. Эти коэффициенты являются либо действительными, либо комплексно-сопряжен- ными, что обеспечивает действительность волновой функции состояния.
|
|
0 |
|
|
0 |
-18.585 |
|
|
1 |
-18.438 |
|
|
2 |
-18.219 |
|
|
3 |
-17.976 |
|
|
4 |
-17.783 |
|
|
5 |
-14.142 |
|
eL = |
6 |
-13.592 |
|
7 |
-12.812 |
||
|
|||
|
8 |
-11.938 |
|
|
9 |
-11.17 |
|
|
10 |
-6.314 |
|
|
11 |
-5.281 |
|
|
12 |
-3.826 |
|
|
13 |
-2.149 |
|
|
14 |
-0.463 |
|
|
|
|
|
|
0 |
|
0 |
0.502-1.812i |
|
1 |
0.502+1.812i |
|
2 |
4.49·103 |
|
3 |
2.725·10 -4 |
|
4 |
-3.108+1.767i |
|
5 |
-3.108-1.767i |
|
6 |
6.5·107 |
A0 = |
7 |
4.027·10 -8 |
|
8 |
4.132+0.788i |
|
9 |
4.132-0.788i |
|
10 |
6.142·10 11 |
|
11 |
4.255·10 -12 |
|
12 |
-2.236-2.783i |
|
13 |
-2.236+2.783i |
|
14 |
4.149·10 15 |
|
15 |
0 |
|
|
|
Волновую функцию задаем с помощью программного блока:
ψ(x,E,ab) := B0 ← 1
for j 1 .. N
break if (Xj−1 ≤ x) (x ≤ Xj)
y ← ab2 j−2 exp(i k(E, j) x) + ab2 j−1 exp(−i k(E, j) x) y ← B0 exp(−i k(E,0) x) if x ≤ X0
y ← ab2 N exp(i k(E,N + 1) x) if x ≥ XN y ← 2 y
9