В настоящее время я пытаюсь решить 1D Schrödinger eq. (независимое от времени) с методом Нумерова. Вывод метода ясен для меня, но у меня есть некоторые проблемы с реализацией. Я пытался искать решения в google, и есть некоторые (например, этот или этот), но я не совсем понимаю, что они делают в своих кодах.
С помощью некоторой математики вы можете получить уравнение в этой форме: , где . Для начала я хотел бы посмотреть на потенциал V(x)=1 if -a 2017-11-24T01:09:00+03:00 4 года, 3 месяца назад
К сожалению, я не совсем помню квантовую физику, поэтому я не понимаю некоторых деталей. Тем не менее я вижу некоторые ошибки в вашем коде:
Почему внутри numerov_step вы квадрат k1 , k2 и k3 ?
В вашем основном цикле
вы перепутались с индексами. Похоже, эта строка должна быть
Это та часть, которую я действительно не понимаю. Заглядывая в анимацию в вашей первой ссылке, похоже, что это уравнение имеет хорошие решения только для определенных комбинаций V(x) и E а в других случаях оно быстро развивается. Похоже, что и ваши V(x) и пропорция E к hbar и V(x) сильно отличаются от ссылок на статьи, и это может быть еще одна причина, по которой решение идет вразрез.
Видео:Пример. Численное решение радиального уравнения Шредингера (одноточечная разностная схема)Скачать
Визуализация квантовой физики с помощью Python
Дата публикации Apr 12, 2018
В этом блоге я решил рассмотреть некоторую квантовую химию на уровне колледжа для получения электронных орбиталей. Дополнительная забавная часть в том, что мы собираемся визуализировать волновые функции и вероятности электронов . используя Python!
Видео:Численные методы (1 урок)(Решение нелинейных уравнений. Метод дихотомии. Python)Скачать
Уравнение Шредингера
В 1926 году Эрвин Шредингер выдвинул знаменитое волновое уравнение, которое связывает энергию системы с ее волновыми свойствами. Поскольку его применение к атому водорода довольно сложно, мы сначала используем волновое уравнение для решения частицы в коробке. Волновое уравнение Шредингера, выраженное в 1D
Видео:Урок 455. Уравнение ШрёдингераСкачать
Визуализация частиц в коробке
Теперь, чтобы упростить наше уравнение, мы предполагаемЧастица в коробке,
Проблема частиц в коробке не соответствует какой-либо реальной химической системе. Его полезность в нашем контексте заключается в том, что он иллюстрирует некоторые квантово-механические особенности. Потенциальная энергия на барьере установлена на бесконечность (т.е. частица не может вырваться), а потенциальная энергия внутри барьера установлена на 0. В этих условиях классическая механика предсказывает, что частица имеет равную вероятность нахождения в любой части коробка и кинетическая энергия частицы могут иметь любое значение. Принимая это предположение во внимание, мы получаем различные уравнения для энергии частицы на барьере и внутри коробки.
На барьере V бесконечно и, следовательно, частица не существует:
Внутри прямоугольника V равно нулю и, следовательно, волна может иметь любое конечное значение:
Внутри коробки мы можем изменить уравнение следующим образом:
Как мы видим выше, волновая функция должна быть такой, чтобы при двукратном дифференцировании она давала ту же функцию, умноженную на E. Функция синуса обладает таким поведением.
Теперь нам нужно оценить значения констант, α и A. Для α мы используем волновые уравнения на барьерах, где волновые функции равны 0.
Теперь добавьте значение для α:
Мы можем определить значение A, потребовав нормализовать волновую функцию. Это потому, что частица должна существовать где-то в коробке. Следовательно, сумма вероятности нахождения частицы в коробке равна 1:
Включая значения, окончательные волновые и энергетические уравнения:
Визуализация энергии и волновых функций с помощью Python:
Обратите внимание, что есть регионы, где оба Ψ и Ψ*Zero равны нулю в тех же регионах. Это известно как узел. Энергетические уровни орбиталей не являются непрерывными. Они существуют на дискретных уровнях, представленных расположением узлов. Кроме того, по мере увеличения значения n плотность волны внутри прямоугольника также увеличивается.
Видео:Сущёв И. - Квантовая теория. Ч.2 - 1. Численные методы решения уравнения ШрёдингераСкачать
Визуализация орбиталей
Теперь, чтобы получить волновое уравнение относительно квантовых чисел, оно должно быть в следующем трехмерном формате:
Теперь разделение переменных зависит от типа атома и является слишком сложным, чтобы охватить это сообщение в блоге. Вместо этого мы просто напишем решение непосредственно для построения графика. В дальнейшем мы будем использовать функции R и Y для атома водорода, не выводя их.
Во-первых, давайте посмотрим на орбиту 1 с:
Волновая функция 1s показывает, что вероятность появления электрона уменьшается экспоненциально по мере удаления от ядра. Это также показывает сферическую форму.
Немного трудно увидеть на графике электронной плотности выше. Тем не менее, вы можете видеть, что он имеет сферическую форму. По мере удаления от центра плотность уменьшается. Как правило, точка отсечения — это когда вероятность появления электрона составляет 99%.
Графики той же плотности могут быть получены и для других spdf-орбиталей. Надеюсь, этот блог мотивировал вас повеселиться с квантовой физикой и программированием на Python! Чтобы узнать больше о визуализации на основе Python, посетите мой блог:Плоттинг на основе Python с Matplotlib
Видео:Python - численное решение дифференциального уравнения 1го порядка и вывод графикаСкачать
Численное решение обыкновенных дифференциальных уравнений (ОДУ) в Python
Рассмотрены приемы решения обыкновенных дифференциальных уравнений (ОДУ) с помощью модуля scipy.integrate языка Python
Видео:Алгоритмы. Нахождение корней уравнения методом хордСкачать
Краткое описание модуля scipy.integrate
Модуль scipy.integrate имеет две функции ode() и odeint(), которые предназначены для решения систем обыкновенных дифференциальных уравнений (ОДУ) первого порядка с начальными условиями в одной точке (т.е. задача Коши).
Функция ode() более универсальная, а функция odeint() (ODE integrator) имеет более простой интерфейс и хорошо решает большинство задач.
Функция odeint() имеет три обязательных аргумента и много опций. Она имеет следующий формат
Видео:34 Задача: Найти корни квадратного уравнения при помощи PythonСкачать
Решение одного ОДУ
Допустим надо решить диф. уравнение 1-го порядка
Получилось что-то такое:
Видео:01.02. Модель SIR. Численное решение системы дифференциальных уравнений с помощью SciPyСкачать
Решение системы ОДУ
Пусть теперь мы хотим решить (автономную) систему диф. уравнений 1-го порядка
Выходной массив w состоит из двух столбцов — y1(t) и y2(t).
Также без труда можно построить фазовые траектории:
📸 Видео
Решение системы ОДУ в PythonСкачать
Использование библиотеки SymPy для работы с системами уравнений в PythonСкачать
Решение 1 го нелинейного алгебраического уравнения в PythonСкачать
Решение n го нелинейных алгебраических уравнений в PythonСкачать
Вычислительная математика. Метод касательных на Python(1 практика).Скачать
Квантовая механика 41 - Уравнение Шредингера. Гамильтониан.Скачать
Программа, определяющая корни квадратного уравнения. Язык программирования Python.Скачать
Библиотека SymPy для алгебраических операций в PythonСкачать
Лекции 5-6. Уравнение Шредингера и его приближенные решения. Межатомные.Скачать
Уравнение ШрёдингераСкачать
24 Цикл for. Обход элементов функции range PythonСкачать
Решения системы линейных уравнений на Python (Sympy).Скачать