Природа-MD

вопросы строения молекул и квантовой химии
Аватара пользователя
Гесс
Сообщения: 13055
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Природа

Сообщение Гесс » Пн янв 25, 2016 9:54 am

amge писал(а):

Код: Выделить всё

 i=1    — затравка датчика псевдослучайных чисел, с помощью которого
    устанавливается направление начального смещения (начальные скорости).
    Вместо запуска одной очень длинной траектории выгодно запустить
    несколько более коротких с разными начальными смещениями,
    это особенно хорошо делать параллельно.
таки реплики

Аватара пользователя
madschumacher
Сообщения: 883
Зарегистрирован: Ср авг 05, 2015 4:30 pm

Re: Природа

Сообщение madschumacher » Пн янв 25, 2016 11:38 am

Т.е. это все ж seed. Ну все равно круто, потому что в том же GAMESS US вообще его без танцев с бубнами поменять нельзя. И сидишь как дурак с кучей одинаковых траекторий в итоге.
И да узрел Охламон, что сие есть круть несусветная!

Reginmaister
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 2:09 pm

Re: Природа

Сообщение Reginmaister » Ср авг 31, 2022 12:33 pm

amge писал(а):
Пн янв 25, 2016 7:48 am
Написал Дмитрию Лайкову по поводу MD. С его разрешения выкладываю здесь ответ, содержащий подробный мануал по группе $dynamic.
[cut]

Код: Выделить всё

Сейчас в программе задание task=thermostat осуществляет
вычисление точек на изокинетической траектории,
которые (при определённых условиях) приближаются
к распределению канонического ансамбля ~exp(-U(x)/(kT))
(можно поизучать статьи по вопросу
"Gaussian isokinetic thermostat").

Поясню исходные данные:
$dynamic
 e=0.001   — температура в атомных единицах,
    1 hartree ~= 315775 K http://physics.nist.gov/cgi-bin/cuu/Value?hrk
   так что 0.001 ~= 316 K
 d=0.03    — эта величина в атомных единицах длины (bohr)
    соотносится с длиной шага в конфигурационном пространстве,
    каждый шаг делается такой длины, чтобы наибольшее смещение
    среди всех атомов равнялось ей.
    То есть, траектория параметризуется своей длиной
    (которая линейно зависит от времения, изокинетическое же),
    и по ней делаются численные шаги переменной длины,
    так, чтобы каждый раз смещения атомов
    не превышали заданную величину.
 v=500.0   — объём (в атомных единицах bohr^3) ограничивающего шара
   в расчёте на атом — для системы из N атомов
   берётся шар объёма (4\pi/3)R^3 = N*v, и на атомы за пределами этого
   шара действует дополнительный удерживающий гармонический потенциал
   (1/2)h (r - R)^2 , где постоянная h в атомных единицах (hartree/bohr^2)
   прведена ниже:
 h=0.1
 n=1000,100   — число точек: для сбора, предварительного прохода.
   Сначала делается второе число точек (может быть и 0),
   но они не сохраняются, а потом первое число, и они сохраняются
   и по ним вычисляются средние значения (если нужны).
 m=10   — через сколько точек выдавать и сохранять геометрию,
      m=1 означало бы сохранение каждой точки, но для последующих
      оптимизаций геометрии с целью глобального поиска устойчивых
      состояний выгодно брать примерно m=100 .
 i=1    — затравка датчика псевдослучайных чисел, с помощью которого
    устанавливается направление начального смещения (начальные скорости).
    Вместо запуска одной очень длинной траектории выгодно запустить
    несколько более коротких с разными начальными смещениями,
    это особенно хорошо делать параллельно.
 file=H40C20/H40C20_%06d.qm.in  — через каждые m шагов геометрия
    может сохраняться в отдельный файл с указанной маской,
    вместо %06d или подобного формата printf подставится номер точки,
    директория (в данном примере H40C20/ должна быть создана перед
    запуском программы, иначе ничего не сохраняется).
    Если в маске нет %d , то все геометрии пишутся в один файл.
$end

Таким образом, с помощью этого задания можно получить
набор геометрий, каждую в отдельном файле, к которому можно
приписать заголовок для оптимизации геометрии,
после чего провести оптимизации геометрий,
и полученные геометрии остаётся "просеять" на неповторимость,
чтобы получить набор (всех/почти всех/многих) конформаций/изомеров
химической системы.
Задание task=uniq производит отбор неповторимых геометрий,
с точностью до величины $uniq dist=... в атомных единицах (bohr),
среди всех, содержащихся в исходных данных,
причём учитывается и возможность перестановки атомов.
На выходе получаются неповторимые геометрии,
каждую из которых можно выложить в отдельный файл
заданием $uniq file=... с форматом %d в названии.

С помощью перечисленных средств можно осуществлять глобальный
поиск устойчивых состояний в конфигурационном пространстве
(=конформаций/изомеров),
можно ещё написать скрипты bash (или perl, etc),
чтобы всё это делалось автоматически и с параллелизацией
прогона нескольких траекторий
и множества последующих оптимизаций геометрий.
[/cut]
Добрый день! Отлаживаю описанную методику на тестовом расчете. Всё работает, файлы *xyz с отдельными структурами из МД-траектории в отдельной папке создаются, оптимизировать их можно, но не очень ясно, как запускать отбор неповторимых геометрий.
В шапке инпута будет task=uniq, а что будет под ней? Как Природа поймёт, какие геометрии ей надо анализировать на уникальность?

Аватара пользователя
amge
Сообщения: 2021
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Природа-MD

Сообщение amge » Ср авг 31, 2022 2:14 pm

Прикладываю пример от Лайкова. Там все понятно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Reginmaister
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 2:09 pm

Re: Природа-MD

Сообщение Reginmaister » Ср авг 31, 2022 4:47 pm

amge писал(а):
Ср авг 31, 2022 2:14 pm
Прикладываю пример от Лайкова. Там все понятно.
Спасибо, amge! Работает

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей