Продолжение,
часть 1,
часть 2 Обычно для публикации в статье, курсовой, дипломе, диссертации и т.д. результат предыдущего этапа не слишком хорош, но его можно доработать в ручном режиме. для этого нам понадобится:
- gnuplot, программа построения графиков, сайт http://gnuplot.info, инструкции по работе http://t16web.lanl.gov/Kawano/gnuplot/index-e.html (основы) и http://www.phyast.pitt.edu/~zov1/gnuplot/html/gallery.html (хитрости, тонкости и секреты).
- GIMP, растровый редактор, сайт http://www.gimp.org/, книги http://www.altlinux.org/Books:Gimp и http://photoliving.com.ua/books.
- GaussSum и wxMacMolPlt, описанные выше
- экспериментально измеренные спектры, экспортированные в текстовый файл (можно использовать Gwyddion, http://gwyddion.net/, для экспорта из ряда форматов)
На предыдущем этапе мы получили колебательные спектры вещества в выходном файле Firefly. После построения спектров с помощью GaussSum в том же каталоге, где был исходный файл, появляется подкаталог gausssumверсия (например, gausssum2.2) и в нём два текстовых файла IRSpectrum.txt и RamanSpectrum.txt с пересчитанными в нём спектрами.
Кроме того, обычно расчёт проводится для сравнения с экспериментальным спектром, который для этого нужно экспортировать в текстовый формат, при необходимости удалить заголовок и заменить запятые в вещественных числах на точки, а разделитель колонок на пробелы или Tab. Из gwyddion экспорт можно выполнить через меню График->Экспортировать текст и там выбрать Совместимый с gnuplot.
Для построения красивого спектра из вышеописанных файлов будем использовать gnuplot. Скопируем оба текстовых файла в один каталог и запустим из него же gnuplot (под win32 последние версии gnuplot, если запускать его из меню, работают с файлами в каталоге Мои Документы или Documents, если нужно указать путь, то он пишется через прямые косые черты "/"). набор графиков строится командой plot:
plot "Fe-633.txt" using ($1/100):2 with lines title "1" ,\
"pcs-fe-785.txt" using ($1/100):2 with lines title "2" ,\
"Fe.txt" using 1:($2/10.0) with lines title "3"
в кавычках имя файла, using - какие столбцы в таблице использовать как оси X и Y (например, using 1:4), with lines - линиями, title - заголовок графика в легенде. В using можно делать простые математические операции, как в этом примере, тогда вместо номера столбца пишется операция в круглых скобках, перед номерами столбцов в операции ставится знак доллара.
Другие команды gnuplot:
- set xlabel "Wavenumber/cm^{-1}" - подпись оси X, аналогично ylabel для Y, x2label и y2label - оси справа и сверху, если они нужны.
- set grid - сетка
- set xrange [0:4000] - диапазон значений по оси X, аналогично yrange, * - считать границу автоматически.
- save "raman.plt" и load "raman.plt" - сохранить набор команд в файл и загрузить обратно
- fit f(x) "lc-hem.csv" via a,b,c,d - аппроксимация данных из файла "lc-hem.csv" функцией f(x) подгонкой переменных a, b, c, d
- f(x) = a*x*x*x+b*x*x+c*x+d - задание функции
- a = 450.0 задание переменной вещественного типа, b=20 - целого типа.
- set terminal postscript eps enhanced monochrome "Helvetica"18
set output "raman-lc.eps"
replot - построить график в файл eps, set terminal png - то же самое, но в файл png.
остальное описано в руководствах. Обычно я подбираю интенсивность теоретического спектра умножением спектра на постоянную величину таким образом, чтобы величина наиболее яркой линии в спектре была одинакова на теоретическом и практическом, у них всё равно величины измерения получаются разные, графики сдвигаю друг относительно друга с помощью добавления некоторой постоянной величины.
Теперь пришла пора разобрать спектр на отдельные линии. Открываем рассчитанный файл в wxmacmolplt, экспортируем File->Export, внизу выбираем формат png, меняем dpi на 300dpi (Print), включаем прозрачность Enable background transparency. Загружаем этот файл в GIMP, Цвет->Составляющие->Разобрать, там RGBA и разобрать на слои. В окне Слои. каналы и контуры выбираем Слои, и убираем значок видимости (глаз) у всех слоёв, кроме альфа-канала. Инструментом "Выделение смежных областей" выделяем белую область. Закрашиваем там серым те атомы и связи молекулы, которые для данной линии в спектре остаются неподвижны (В wxmacmolplt колебательные моды видны в менюшках Subwindow->Frequencies и View->Animate mode). Собираем обратно Цвет->Составляющие->Собрать->RGBA, получаем полупрозрачную модель молекулы. Расставляем поверх изображения стрелок для данной колебательной моды (их удобно вертеть командами Слой->Преобразования). Получаем нечто вроде этого:
далее или нафотошопливаем эти картинки поверх спектра в том же GIMP, или собираем отдельную большую картинку с ними, расставляя их по направляющим (Изображение->Направляющие).