Разложение функции в ряд Фурье

Седьмой семестр
Главная страница
Модель системы двух молекул из двух и трех атомов была построена с помощью скрипта compile-func.py:

compile-func.py –g 14,3,3+20,3,8+18,3,7+12,3,4+16,3,9

(максимумы гауссовых функций в точках 3, 8, 7, 4 и 9 и высотой 14,20, 18, 12 и 16 соответственно). В результате работы скрипта получен файл. График функции электронной плотности представлен на рисунке 1.


Рис.1 График функции электронной плотности для системы двух молекул из двух и трех атомов.

Полученная функция была разложена в ряд Фурье с использованием скрипта func2fourier.py. В результате получен файл, содержащий 499 гармоник.
Cкриптом fourier-filter.py отбиралось необходимое число гармоник (первые 10, 20, 30, 40, 50 и 60), по которым с помощью скрипта fourier2func.py восстанавливалась функция.


Рис.2 Функции электронной плотности, восстановленные по первым n гармоникам; красным показана исходная функция.

По первым 10 и 20 гармоникам можно определить только количество молекул в системе и их примерные размеры, по 30 гармоникам уже можно точно определить положения атомов в молекулах. Для дальнейших расчетов использовался набор из 30 гармоник.

Далее в расчет коэффициентом фурье был добавлен шум к амплитудам или фазам (параметры –F и –P скрипта func2fourier.py), результаты представлены на следующем рисунке.


Рис.3 Функции электронной плотности, восстановленные по данным с шумом.

Добавление шума к фазам влияет на функцию сильнее, чем добавление к амплитудам. Одновременное добавление 50% шума по фазе и амплитуде делает невозможным определение количества и положения молекул.

Также были построены функции по неполным наборам гармоник.


Рис.4 Функции электронной плотности, построенные по неполным наборам гармоник.

Удаление даже трети гармоник из середины все равно оставляют возможность определить координаты атомов. Восстановление по первым 30 гармоникам лучше, чем по первым 29 и 39 гармонике.

Таблица 1. Восстановление функции по коэффициентам ряда Фурье.




© Широковских Татьяна