Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.cmm.msu.ru/~blackdaffodil/term6/pr4.html
Дата изменения: Mon Mar 18 21:21:26 2013
Дата индексирования: Fri Feb 28 11:36:06 2014
Кодировка: Windows-1251
Вычисление параметров для молекулярной механики

Вычисление параметров для молекулярной механики



Дана оптимизированная структура этана в виде z-matrix :
$DATA
eth
C1
 C   
 C      1   cc 
 H      2   ch   1   cchv 
 H      2   ch   1   cch   3   d1 0
 H      2   ch   1   cch   3   d2 0
 H      1   ch   2   cch   3   d3 0
 H      1   ch   2   cch   5   d3 0
 H      1   chv  2   cch   4   d3 0

cc=1.52986
ch=1.08439
chv=1.08439
cch=111.200
cchv=111.200
d1=120
d2=-120
d3=180
 $END

Наша цель состоит в том, что бы создать порядка 20 разных файлов для расчета энергии в Gamess с разными значениями по длине одной из связей. Автоматизируем этот процесс c помощью bash-скрипта.
Файл-заготовка для размножения.
Создаем текстовый файл скрипта и производим с ним все требуемые операции.
В конце переправляем выдачу скрипта make_b.bash в файл bond.

Теперь с помощью gnuplot отображаем эти точки и пытаемся описать их распределение параболической функцией:

f(x)=a + k*x*x - 2*k*x*b + k*b*b

Стартовые коэффициенты: 
a=-80
k=1
b=1.5

Подогнанные значения:
a               = -79.7652         +/- 0.0004522    (0.000567%)
k               = 0.563608         +/- 0.02335      (4.142%)
b               = 1.55432          +/- 0.002455     (0.1579%)

Как видно на рисунке функция не совсем точно совпадает с полученными точками, вероятно, потому, что реальная зависимость энергии связи от ее длины описывается более сложной функцией.

Изменение валентного угла HCH

Аналогично предыдущему заданию создаем скрипт, выдачу переправляем в файл и строим зависимость:

f(x)=a + k*x*x - 2*k*x*b + k*b*b

Стартовые коэффициенты: 
a=-80
k=1
b=1.5

Подогнанные значения:
a               = -79.7647         +/- 1.21e-08     (1.517e-08%)
k               = 3.56076e-05      +/- 6.229e-09    (0.01749%)
b               = 111.38           +/- 9.954e-05    (8.937e-05%)

В данном случае апроксимация лучше, все точки лежат на параболе.

Изменение торсионного угла d3

Теперь то же самое делаем для для торсионного угла d3, его значения должны изменяться от -180 до 180 с шагом 12. создаем скрипт, выдачу переправляем в файл и строим зависимость:

Количество минимумов 3, так как значения угла d3 180 и -180 - это одна и та же точка.