2.3.2. Извлечение данных из траектории. Их обработка с помощью пакета Matlab.
Использование утилиты trjdump.exe. Формат файла trjdump.batch
В процессе расчёта траектории все координаты и значения энергий записываются в траекторный файл с расширением trj. Для того чтобы извлечь данные непосредственно из траектории, используется утилита trjdump.exe. Данные, которые необходимо извлечь, определяются в файле trjdump.batch. По умолчанию этот файл содержит следующую информацию:
;This is batch file for TrjDump utility for processing the MoDyp trajectory files
..............................................................................
dump ../modyp.wrk/examples/pept/pept.trj into test.txt every 1 record
..............................................................................
colomn time like .3f
..............................................................................
;colomn coord 1 X like +.3f
;colomn coord 1 Y like +.3f
;colomn coord 1 Z like +.3f
..............................................................................
;colomn vector 1 2 X like +.3f
;colomn vector 1 2 Y like +.3f
;colomn vector 1 2 Z like +.3f
..............................................................................
;colomn distance 1 2 like .3f
..............................................................................
;colomn angle 1 2 3 deg like .2f
..............................................................................
colomn torsion 5 7 9 11 rad like .2f
..............................................................................
;colomn energy kinetic
..............................................................................
;colomn energy potential
..............................................................................
;colomn energy total
..............................................................................
endump
Строки, которые не будут обрабатываться, закомментированы точкой с запятой.
DUMP – команда извлечения данных из траектории:
Время |
time |
Координата X, вместо цифры 1 указать нужный номер атома |
coord 1 X |
Координата Y, указать номер атома |
coord 1 Y |
Координата Z, указать номер атома |
coord 1 Z |
Проекция вектора на ось X, вместо цифр 1 и 2 указать номера двух атомов |
vector 1 2 X |
Расстояние между двумя атомами, вместо цифр 1 и 2 указать номера двух атомов |
distance 1 2 |
Валентный угол, вместо цифр 1, 2 и 3 указать номера трёх атомов |
angle 1 2 3 |
Двугранный угол, вместо цифр 5, 7, 9 и 11 указать номера четырёх атомов |
torsion 5 7 9 11 |
Кинетическая энергия |
energy kinetic |
Потенциальная энергия |
energy potential |
Полная энергия |
energy total |
Для обработки результатов в Matlab с помощью имеющихся программ в первой колонке конечного файла должно быть время. В остальных колонках должна содержаться информация об одной из характеристик. То есть, если нужно узнать координаты атомов, то для каждого атома создаётся отдельный файл, содержащий четыре колонки – время и координату по трём осям. Чтобы запустить trjdump.exe один раз и сохранить сразу несколько файлов, можно в файле trjdump.batch создать несколько последовательных блоков dump:enddump.
Построение графиков по данным, полученным с использованием trjdump.exe
Для построения графиков автокорреляционной функции используется утилита autocorf.m. Для кросскорреляционной функции – crosscorf.m. Их запуск в рабочем окне Matlab:
autocorf('dannye.dat',tau,step)
Здесь dannye.dat – название файла с данными. Для автокорреляционной функции он должен содержать две колонки – время и значение торсионного угла. Для кросскорреляционной функции – время и значения двух торсионных углов. Максимальное время расчёта корреляции задаётся с помощью tau. Step – через какое число шагов выбирать информацию из файла dannye.dat.
Двумерные графики строятся с помощью plot_map.m. В файле с данными должна быть информация о времени и значениях двух торсионных углов.
На
Рис. 30 представлены результаты построения двумерного распределения по расстояниям. По оси X отложены расстояния между атомом кислорода ацетила и водорода N-метиламина. По оси Y – расстояния между атомами кислорода и водорода в аргинине. Использовалась утилита plot_dist2D.m. Также нужны файлы minusgray.m и loadstatdist.m.