Численное решение уравнения шредингера python

решение 1D уравнения Шредингера с методом Нумерова (python)

В настоящее время я пытаюсь решить 1D Schrödinger eq. (независимое от времени) с методом Нумерова. Вывод метода ясен для меня, но у меня есть некоторые проблемы с реализацией. Я пытался искать решения в google, и есть некоторые (например, этот или этот), но я не совсем понимаю, что они делают в своих кодах.

С помощью некоторой математики вы можете получить уравнение в этой форме: Численное решение уравнения шредингера python, где Численное решение уравнения шредингера python. Для начала я хотел бы посмотреть на потенциал 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

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

Видео:Численные методы (1 урок)(Решение нелинейных уравнений. Метод дихотомии. Python)Скачать

Численные методы (1 урок)(Решение нелинейных уравнений. Метод дихотомии. Python)

Уравнение Шредингера

В 1926 году Эрвин Шредингер выдвинул знаменитое волновое уравнение, которое связывает энергию системы с ее волновыми свойствами. Поскольку его применение к атому водорода довольно сложно, мы сначала используем волновое уравнение для решения частицы в коробке. Волновое уравнение Шредингера, выраженное в 1D

Численное решение уравнения шредингера python

Видео:Урок 455. Уравнение ШрёдингераСкачать

Урок 455. Уравнение Шрёдингера

Визуализация частиц в коробке

Теперь, чтобы упростить наше уравнение, мы предполагаемЧастица в коробке,

Численное решение уравнения шредингера python

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

На барьере V бесконечно и, следовательно, частица не существует:

Численное решение уравнения шредингера python

Внутри прямоугольника V равно нулю и, следовательно, волна может иметь любое конечное значение:

Численное решение уравнения шредингера python

Внутри коробки мы можем изменить уравнение следующим образом:

Численное решение уравнения шредингера python

Как мы видим выше, волновая функция должна быть такой, чтобы при двукратном дифференцировании она давала ту же функцию, умноженную на E. Функция синуса обладает таким поведением.

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Теперь нам нужно оценить значения констант, α и A. Для α мы используем волновые уравнения на барьерах, где волновые функции равны 0.

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Теперь добавьте значение для α:

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Мы можем определить значение A, потребовав нормализовать волновую функцию. Это потому, что частица должна существовать где-то в коробке. Следовательно, сумма вероятности нахождения частицы в коробке равна 1:

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Включая значения, окончательные волновые и энергетические уравнения:

Численное решение уравнения шредингера python

Численное решение уравнения шредингера python

Визуализация энергии и волновых функций с помощью Python:

Численное решение уравнения шредингера python

Обратите внимание, что есть регионы, где оба Ψ и Ψ*Zero равны нулю в тех же регионах. Это известно как узел. Энергетические уровни орбиталей не являются непрерывными. Они существуют на дискретных уровнях, представленных расположением узлов. Кроме того, по мере увеличения значения n плотность волны внутри прямоугольника также увеличивается.

Видео:Сущёв И. - Квантовая теория. Ч.2 - 1. Численные методы решения уравнения ШрёдингераСкачать

Сущёв И. -  Квантовая теория. Ч.2 - 1. Численные методы решения уравнения Шрёдингера

Визуализация орбиталей

Теперь, чтобы получить волновое уравнение относительно квантовых чисел, оно должно быть в следующем трехмерном формате:

Численное решение уравнения шредингера python

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

Во-первых, давайте посмотрим на орбиту 1 с:

Численное решение уравнения шредингера python

Волновая функция 1s показывает, что вероятность появления электрона уменьшается экспоненциально по мере удаления от ядра. Это также показывает сферическую форму.

Численное решение уравнения шредингера python

Немного трудно увидеть на графике электронной плотности выше. Тем не менее, вы можете видеть, что он имеет сферическую форму. По мере удаления от центра плотность уменьшается. Как правило, точка отсечения — это когда вероятность появления электрона составляет 99%.

Графики той же плотности могут быть получены и для других spdf-орбиталей. Надеюсь, этот блог мотивировал вас повеселиться с квантовой физикой и программированием на Python! Чтобы узнать больше о визуализации на основе Python, посетите мой блог:Плоттинг на основе Python с Matplotlib

Видео:Python - численное решение дифференциального уравнения 1го порядка и вывод графикаСкачать

Python - численное решение дифференциального уравнения 1го порядка и вывод графика

Численное решение обыкновенных дифференциальных уравнений (ОДУ) в Python

Рассмотрены приемы решения обыкновенных дифференциальных уравнений (ОДУ) с помощью модуля scipy.integrate языка Python

Видео:Алгоритмы. Нахождение корней уравнения методом хордСкачать

Алгоритмы. Нахождение корней уравнения методом хорд

Краткое описание модуля scipy.integrate

Модуль scipy.integrate имеет две функции ode() и odeint(), которые предназначены для решения систем обыкновенных дифференциальных уравнений (ОДУ) первого порядка с начальными условиями в одной точке (т.е. задача Коши).

Функция ode() более универсальная, а функция odeint() (ODE integrator) имеет более простой интерфейс и хорошо решает большинство задач.

Функция odeint() имеет три обязательных аргумента и много опций. Она имеет следующий формат

Видео:34 Задача: Найти корни квадратного уравнения при помощи PythonСкачать

34 Задача: Найти корни квадратного уравнения при помощи Python

Решение одного ОДУ

Допустим надо решить диф. уравнение 1-го порядка

Получилось что-то такое:

Видео:01.02. Модель SIR. Численное решение системы дифференциальных уравнений с помощью SciPyСкачать

01.02. Модель SIR. Численное решение системы дифференциальных уравнений с помощью SciPy

Решение системы ОДУ

Пусть теперь мы хотим решить (автономную) систему диф. уравнений 1-го порядка

Выходной массив w состоит из двух столбцов — y1(t) и y2(t).

Также без труда можно построить фазовые траектории:

📸 Видео

Решение системы ОДУ в PythonСкачать

Решение  системы ОДУ в Python

Использование библиотеки SymPy для работы с системами уравнений в PythonСкачать

Использование библиотеки SymPy для работы с системами уравнений в Python

Решение 1 го нелинейного алгебраического уравнения в PythonСкачать

Решение 1 го нелинейного алгебраического уравнения в Python

Решение n го нелинейных алгебраических уравнений в PythonСкачать

Решение n го нелинейных алгебраических  уравнений в Python

Вычислительная математика. Метод касательных на Python(1 практика).Скачать

Вычислительная математика. Метод касательных на Python(1 практика).

Квантовая механика 41 - Уравнение Шредингера. Гамильтониан.Скачать

Квантовая механика 41 - Уравнение Шредингера. Гамильтониан.

Программа, определяющая корни квадратного уравнения. Язык программирования Python.Скачать

Программа, определяющая корни квадратного уравнения. Язык программирования Python.

Библиотека SymPy для алгебраических операций в PythonСкачать

Библиотека SymPy для алгебраических операций в Python

Лекции 5-6. Уравнение Шредингера и его приближенные решения. Межатомные.Скачать

Лекции 5-6. Уравнение Шредингера и его приближенные решения. Межатомные.

Уравнение ШрёдингераСкачать

Уравнение Шрёдингера

24 Цикл for. Обход элементов функции range PythonСкачать

24 Цикл for. Обход элементов функции range Python

Решения системы линейных уравнений на Python (Sympy).Скачать

Решения системы линейных уравнений на Python (Sympy).
Поделиться или сохранить к себе: