Учебный сайт Светланы Яровенко
» Семестры » Седьмой семестр » Восстановление одномерной функции электронной плотности

Восстановление одномерной функции электронной плотности

Задание состояло из нескольких этапов:

  1. Создание модельной функции ЭП в одномерной элементарной ячейке
  2. Расчет параметров сигнала, моделирующих экспериментальные данные: амплитуды и фазы
  3. Восстановление функции ЭП по "экспериментальным" данным
  4. Оценка качества восстановления

Для работы использовались следующие скрипты. В качестве модели для эксперимента были выбраны две молекулы, образующие водородную связь: HCN и HOH. Всего 6 атомов. Длины ковалентных связей: C-H — 1.068, C-N — 1.156, O-H — 0.991 [1,2]. На рис. 1 показано предполагаемое расположение молекул.


Экспериментальная модель

Рисунок 1. Экспериментальная модель двух молекул: HCN и HOH.


[1] Tables of Interatomic Distances and Configuration in Molecules and Ions, L.E. Sutton, ed., London: The Chemical Society, 1958.
[2] P. L. Silvestrelli and M. Parrinello, Structural, electronic, and bonding properties of liquid water from first principles, J. Chem. Phys. 111, 3572-3580, 1999.


Создание модельной функции ЭП

Функция была задана на интервале [0,30] с помощью следующей команды:

python compile-func.py -g 1,3,12+6,3,13.07+7,3,14.23+1,3,17.23+8,3,18.23+1,3,19.23

Полученная функция является суммой гауссовых функций, где 12, 13.07, 14.23, 17.23, 18.23, 19.23 — центры атомов, а 1, 7, 1, 8, 1 — высоты пиков (у водородов они наименьшие и равны 1). На рис. 2 представлен вид полученной функции.

График функции электронной плотности

Рисунок 2. График функции электронной плотности для заданной экспериментальной модели.


Описание модельной функции ЭП полным набором гармоник

Восстановление функции ЭП с помощью разложения Фурье проводилось с помощью следующих команд, где Х — число гармоник:

python fourier-filter.py -i func_ft.txt -r 0-X -o ft_0X.txt
python fourier2func.py -f func.txt -i ft_0X.txt -o 2_func_0X.txt

Самым оптимальным числом гармоник оказалось 36. Ниже представлены графики для четырёх разных чисел гармоник.

Рис. 3а. Восстановление функции ЭП 3 гармониками.

Рис. 3б. Восстановление функции ЭП 20 гармониками.

Рис. 3в. Восстановление функции ЭП 32 гармониками.

Рис. 3г. Восстановление функции ЭП 36 гармониками.


Далее к полнуму набору гармоник был добавлен шум к амплитуде или фазам (рис. 4). Ниже приведены использованные команды, где F показывает уровень шума, прибавленного к амплитуде, P — фазам:

python func2fourier.py -F 10 -P 10 -i func.txt -o noise_F10P10.txt
python fourier-filter.py -i noise_F10P10.txt -r 0-36  -o ft_F10P10_036.txt
python fourier2func.py -f func.txt -i ft_F10P10_036.txt -o 2_func_F10P10_036.txt

Рис. 4а. Восстановление полным набором гармоник с шумом к амплитуде, равном 30.

Рис. 4б. Восстановление полным набором гармоник с шумом к фазам, равном 30.

Рис. 4в. Восстановление полным набором гармоник с шумом к фазам, равном 10.

Рис. 4г. Восстановление полным набором гармоник с шумом к амплитуде и фазам, равном 10.


Видно, что восстановление сильно ухудшается при добавлении шума именно к фазам.

Описание модельной функции ЭП неполным набором гармоник

Помимо этого рассматривалось качество восстановления функции, если набор гармоник неполный (рис. 5а-в). Внизу представлены примерные команды:

python fourier-filter.py -i func_ft.txt -r 0-16,20-36  -o ft_036minus17-19.txt
python fourier2func.py -f func.txt -i ft_036minus17-19.txt -o 2_func_036minus17-19.txt

Также было интересно, увидеть, как на восстановление повлияет добавление быстро бьющейся гармоники (рис. 5г). Ниже находятся применённые команды.

python fourier-filter.py -i func_ft.txt -r 0-36,46  -o ft_036plus46.txt
python fourier2func.py -f func.txt -i ft_036plus46.txt -o 2_func_036plus46.txt

Рис. 5а. Восстановление набором гармоник без первой.

Рис. 5б. Восстановление набором гармоник без первых двух.

Рис. 5в. Восстановление неполным набором гармоник (нет 3 средних).

Рис. 5г. Восстановление набором из 36 гармоник с добавленной 46ой.


Оказалось, что более всего на качество влияло удаление средних гармоник. Добавление большой гармоники особо не повлияло на внешний вид функции.


В таблице 1 сведена полученная информация. Главным отличаем между полным и неполным набором гармоник является характеристика полноты данных. Фактически это отношение померенных гармоник к теоритически возможному числу. Например, при добавлении 46-ой гармоники мы считаем, что могли бы получить 46 гармоник, а в итоге померили только 37 (36 основных и 46-ая). В этом случае будет также отличаться разрешение, которое является периодом гармоники с наибольшем номером (в нашем случае это 30/n, где n — номер наибольшей гармоники, 30 — длина волны гармоники).


Таблица 1. Оценка качества восстановления функции ЭП.
Набор гармоник Разрешение (Å) Полнота данных (%) Шум амплитуды (% от величины F) Шум фазы (% от величины φ) Качество восстановления
Полный набор гармоник
0-3 10 100 0 0 Плохое
0-20 1.5 100 0 0 Среднее
0-32 0.94 100 0 0 Хорошее
0-36 0.83 100 0 0 Отличное
0-36 0.83 100 30 0 Среднее
0-36 0.83 100 0 30 Плохое
0-36 0.83 100 0 10 Плохое
0-36 0.83 100 10 10 Плохое
Неполный набор гармоник
1-36 0.83 97 0 0 Отличное
2-36 0.83 94 0 0 Отличное
0-16, 20-36 0.83 92 0 0 Хорошее
0-36, 46 0.65 80 0 0 Отличное


Наверх