таки репликиamge писал(а):Код: Выделить всё
i=1 — затравка датчика псевдослучайных чисел, с помощью которого устанавливается направление начального смещения (начальные скорости). Вместо запуска одной очень длинной траектории выгодно запустить несколько более коротких с разными начальными смещениями, это особенно хорошо делать параллельно.
Природа-MD
Re: Природа
- madschumacher
- Сообщения: 883
- Зарегистрирован: Ср авг 05, 2015 4:30 pm
Re: Природа
Т.е. это все ж seed. Ну все равно круто, потому что в том же GAMESS US вообще его без танцев с бубнами поменять нельзя. И сидишь как дурак с кучей одинаковых траекторий в итоге.
И да узрел Охламон, что сие есть круть несусветная!
-
- Сообщения: 23
- Зарегистрирован: Пн дек 15, 2014 2:09 pm
Re: Природа
Добрый день! Отлаживаю описанную методику на тестовом расчете. Всё работает, файлы *xyz с отдельными структурами из МД-траектории в отдельной папке создаются, оптимизировать их можно, но не очень ясно, как запускать отбор неповторимых геометрий.amge писал(а): ↑Пн янв 25, 2016 7:48 amНаписал Дмитрию Лайкову по поводу MD. С его разрешения выкладываю здесь ответ, содержащий подробный мануал по группе $dynamic.
[cut][/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), чтобы всё это делалось автоматически и с параллелизацией прогона нескольких траекторий и множества последующих оптимизаций геометрий.
В шапке инпута будет task=uniq, а что будет под ней? Как Природа поймёт, какие геометрии ей надо анализировать на уникальность?
Re: Природа-MD
Прикладываю пример от Лайкова. Там все понятно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 23
- Зарегистрирован: Пн дек 15, 2014 2:09 pm
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и 15 гостей