Лабораторная работа № 3-4
«Пакет MATHEMATICA»
Работа с таблицами, 2D –графикой, 3D –графикой, со специальными функциями. Изучение проходит на примере задачи рассеяния электрона на рассеивателе в виде сферического потенциального барьера.
Вдоль оси zслева направо на сферический рассеиватель падает поток электронов. Волновая функция электрона имеет вид плоской волны
(1)
где k–волновое число. Потенциальная энергия взаимодействия электрона с рассеивателем имеет вид
(2)
где a–радиус потенциального барьера (потенциального шара).
x s = f()/r ei k r
r
0 = ei k z z
V(r)
y
Уравнение Шредингера для стационарных состояний имеет вид
После преобразований это уравнение принимает вид
(3)
Решение уравнения (3) ищем с асимптотикой Зомерфельда
(4)
Дифференциальное уравнение (3) с асимптотикой (4) можно заменить эквивалентным интегральным уравнением
(5)
Здесь G(R) –функция Грина учитывает выбранную асимптотику.
Учитывая цилиндрическую симметрию задачи, решение интегрального уравнения (5) можно искать с помощью разложения по парциальным волнам.
(6)
где Pl(z) –полиномы Лежандра. В пакетеMathematicaэта функция обозначается какLegendreP[l,z].
Неизвестная функция lнаходится как решение следующего интегрального уравнения.
(7)
Здесь jl(z) –сферическая функция Бесселя
(8)
где Jl(z) –функция Бесселя. В пакетеMathematicaэта функция обозначается какBesselJ[l,z]. Интегральное ядро(r, r) в уравнении (7) определяется соотношениями
(9)
Здесь hl(z) –сферическая функция Ханкеля
(8)
где Hl(z) –функция Ханкеля.
Лабораторная работа № 3 Разложение плоской волны по сферическим гармоникам.
Если в (7) положить потенциальную энергию равной нулю, т.е. убрать рассеиватель, то решением уравнения (7) будет
(9)
С другой стороны, в отсутствии рассеивателя, решением уравнения (3) является плоская волна (1). Поэтому, подставив (9) в разложение (6), получаем разложение плоской волны в ряд
(10)
Здесь – угол в сферической системе координат, поэтому. Сделаем замену
(11)
В формуле (11) есть две особенности, на которые стоит обратить внимание. Во-первых, ряд бесконечный, нам же для расчетов надо выбирать конечное число членов ряда L. Во-вторых, ряд (11) содержит произвольный параметрv, от значения которого величина экспонентыне должна зависеть. Такая независимость связана с тем, что ряд бесконечный, для конечного ряда это уже неверно. Так если взять конечное число членов ряда, то из (11) получим приближенное представление экспоненты.
(11a)
Левая часть соотношения (11a) зависит от одного параметраu, а правая от трех параметровu,v,L.
Заметим следующее, в задаче рассеяния бесконечный ряд (6) нам придется заменить конечной суммой аналогичной (11a). Конечная сумма, возникающая из ряда (6) будет также зависеть от этих трех параметровu,v,L. Возникает проблема – при заданных переменныхuиv, сколько членовLсуммы необходимо взять, чтобы бесконечный ряд вычислялся с заданной точностью. Если относительную ошибку вычисления ряда положить равной, например,= 0.01, то математически задача сведется к нахождению функции
(11b)
Если теперь в конечной сумме взять число членов ряда равным L Lr, то относительная ошибка вычисления бесконечного ряда будет не больше.
Так как в общем случае, эта задача требует много усилий и времени счета, сделаем разумное предположение, что если мы получим зависимость (11b) для плоской волны (11a), то этот результат можно перенести и на задачу рассеяния.
Задание 1.
Вычисление плоской волны с заданной точностью.
Создадим функцию
(12)
Эта функция является приближением экспоненты (11), и в пределе должна совпадать с ней
(13)
Напишем эту функцию в пакете Mathematica
Необходимо, для заданных значений u,v, |u|v, подобрать такое число членов рядаL, чтобы значение функцииFun[u, v, L] отличалось от точного значения не более чем на= 0.01. Заметим, что для комплексной экспоненты абсолютная и относительная погрешность совпадают. Точный результат можно найти, используя встроенную функциюExp[I u]. Например
Для нахождения функции (11b) можно использовать следующий код
Эту функцию можно вызвать следующим образом
Первый пункт задания.С помощью функциидля трех значенийv= 0.1, 5.0, 10.0 нужно построить следующие графики.
Рис. 1, v= 0.1 Рис. 2,v= 5.0
Рис. 3, v= 10.0
Если для построения этих графиков использовать функцию Plot[], то это может занять слишком много времени. Удобней сначала создать двойной массив точек с помощью функцииTable[]. Затем построить график с помощью функцииListPlot[]. Далее приведен пример получения графика синусоиды.
Рис. 4,
Второй пункт задания.Из рисунков 1, 2, 3 видно, что для фиксированного значения параметраv, функцияLr меняется в достаточно узком интервале, причем самое большое значение (наихудший вариант) принимает на границах интервала–v u +v. Поэтому мы упростим нашу задачу, будем искать зависимостьLr отuиv, предполагая, чтоu=v.
(13a)
Теперь построим график функции (13a).
Рис. 5,
Из рисунка 5 видно, что зависимость имеет в среднем линейный характер. Это имеет место и для больших значений параметра v. Например, на следующем рисунке область измененияvувеличена в 6 раз.
Рис. 6,
Поэтому возникает идея получить приближенную линейную формулу вычисления функции Lr, которую потом можно будет использовать для задания числаLчленов ряда для заданного значения параметраv.
(14)
Заданиебудет состоять внахождении чисел,, при которых прямая линия (14) наилучшим образом аппроксимирует кривую (13b), график которой приведен на рисунках 5 и 6.
Будем использовать минимизацию среднеквадратичного отклонения прямой линии (14) от заданной функции (13b). ВыбираемNзначений переменнойv.
Вычисляем значения функции (13b) в этих точках
(14a)
Затем создаем функцию двух переменных ,.
(14b)
Ищем экстремум функции
(14c)
Отсюда получаем линейную систему для нахождения коэффициентов ,.
(14d)
Нужно создать программудля решения системы (14d) инайти коэффициенты,. Результат расчетов показан на следующем рисунке.
Рис. 7