Pull to refresh

Comments 68

Шикарная статья, но у меня вопрос, вот там у вас "схема вводимых приближений" и от релятивизма и прочих радостей, сразу отказываются. А поправки от них вниз по схеме распространяются? или уравнение Дирака с прочими радостями, не существенно влияют на получаемые дальше модели (понятно что все зависит от той системы для которой модель и строится, но все таки)?

Релятивизм является существенным только для электронов в тяжёлых элементах (4й период Периодической таблицы и далее). В лучшем случае достаточным окажется только модифицировать поверхность потенциальной энергии (т.е. учесть релятивизм электронов), тогда остальная схема не сломается.

Но, вполне вероятным может оказаться вариант, когда учёт релятивизма у электронов может сломать приближение Борна-Оппенгеймера. Тогда вся остальная схема накроется медным тазом, и придётся переходить к более сложным моделям.

P.S. уравнение Дирака при этом обычно не используют, юзают релятивистские поправки к Шрёдингеру.
Из этой статьи получилась бы отличная научно-популярная (видео) лекция.
Да и статья получилась отличная.
С частотой радио- и микроволн (и даже длинноволнового инфракрасного излучения, ИК=IR) вращаются разные молекулы в газовой фазе

Возможно, что Вы и правы в такой формулировке (или это совпадение), но хотелось бы дать уточнение.
По аналогии со спектром энергий квантового осциллятора есть спектр вращательного движения.
Так вот, вращательные уровни характеризуются не «вращением на частоте микроволн», а разницей уровней вращательного движения такой, что
cB[(J+1)(J+2)-J(J+1)] = 2cB(J+1) ~ omega (частота кванта ЭМ излучения, например — 300 ГГц).
Да, Victor_koly, Вы правы, строгая формулировка именно такая.

Впрочем, процитированные слова я писал не с бухты барахты. И предпосылка у них следующая.
Как мы знаем, классическую вращательную энергию можно представить как , где L — момент импульса, а I — момент инерции. В выражении же через угловую скорость она записывается как
,
где ω — угловая частота.
В квантовом случае (для линейных молекул) вращательная энергия имеет вид
,
где J — вращательное квантовое число. Частота перехода, как Вы правильно отметили, будет


Если же мы попытаемся оценить по классической формуле угловую скорость вращения молекулы (а мы имеем право так делать), то получим
.

Иными словами, при достаточно больших J угловая скорость вращения (а значит и энергия вращения) и частота возбуждающего излучения совпадают (классическая интерпретация говорит о том, что ЭМ волна должна войти в резонанс с вращением, чтобы провзаимодействовать), а энергия фотона и полная энергия вращения отличаются только на множитель 1/2. ;)
" И завязаны эти реакции на туннельный эффект, которому водород, как самый легкий из атомов, наиболее подвержен."

Откуда дровишки про то, что таутомерия «завязана» на тоннельный эффект? Это, кхм, крайне необщепринятое мнение. В отличие от множества примеров доказанных межмолекулярных механизмов.
carpaccio,
Откуда дровишки про то, что таутомерия «завязана» на тоннельный эффект?

Из профессиональных знаний. В реакциях переноса протона (при температурах порядка комнатной и ниже) чаще всего присутствует или туннельный эффект (при повышении температуры его доля падает), или вообще происходит надбарьерный перенос (что, впрочем, ни что иное как «злой брат-близнец» туннельного эффекта). Это тупо из-за того, что термическая длина волны де Бройля у протона очень большая (порядка 1 Å при T ~ 300K).
Это, кхм, крайне необщепринятое мнение.

Среди органических химиков может быть, почему бы и нет.
В отличие от множества примеров доказанных межмолекулярных механизмов.

1. стандартные картинки переноса с интермедиатами и промежуточными веществами никак не отменяют квантовых эффектов, необходимых при численных расчетах скоростей реакции,
2. если говорить о классических (то бишь известных испокон веков) механизмах из учебников по органике, то их доказательная база часто не соответствует современным критериям, и при рассмотрении их с современных позиций картинка может существенно меняться.
задам может глупые вопросы… Вот к примеру смоделировать механическую систему я могу с помощью физ движков вроде Bullet. Я понимаю какие там уравнения, и самое главное понимаю что движок просто ищет состояние системы в каждый след момент времени. Ок, квантовая механика вроде тоже имеет уравнения второго порядка (ур Шрёдингера). И вроде бы тоже можно численно чтото симулировать. Но вот когда встает вопрос а что именно можно расчитать — у меня ступор. Вопрос — откуда столько специфичных терминов в вашей классификации моделей? Они возникают из желания построить аналитическую модель? А если численно, уравнения Шрёдингера достаточно?
aslepov78,
И вроде бы тоже можно численно чтото симулировать.

Так об этом и речь! Только численно и получается обычно…
Вопрос — откуда столько специфичных терминов в вашей классификации моделей?

Хочется дешево и сердито. Какая-нибудь условная молекула воды состоит из 3-х ядер (3*3-6 = 3 степени свободы) и ещё 10 электронов (+ ещё 30 степеней свободы). Причём, поскольку это квант.мех, тут нет возможности задать начальные условия, а потом отслеживать поведение системы. Поэтому и приходится извращаться, чтобы получить результат за разумное время.
А если численно, уравнения Шрёдингера достаточно?

В лоб — очень дорого (подъёмно только для очень маленьких систем, а хочется симулировать химические реакторы, да живые клетки). И так, даже для этих приближений зачастую приходится гонять суперкомпьютеры неделями…
>Причём, поскольку это квант.мех, тут нет возможности задать начальные условия

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

>В лоб — очень дорого

Ну это понятно. Прежде чем искать что то оптимальное хорошо бы понять процесс считая что имеем неограниченные выч взможности. Даже с такими допущениями то масса вопросов. Может ссылочку подкинете где бы был вот такой ход, от примитивного к сложному. Еще вопрос — а для квант мех есть чтото наподобие физ движков вроде Bullet?
По-сути, geisha и mobi всё уже рассказали, так что ограничусь парой примерчиков.
Еще вопрос — а для квант мех есть чтото наподобие физ движков вроде Bullet?

Конкретно аналогичных нет, но есть свои, заточенные под специфичные задачи. Про всю квантовую химию не скажу, но для электронной задачи (грубо: поиска того, как электроны сидят по уровням энергии в молекуле) есть куча разных пакетов. Наиболее известным является Gaussian, но он жутко дорогой, да и скоростью не блещет. Из бесплатных могу выделить Orca, CP2K. Есть и хорошие (и тем более бесплатный) отечественные продукты от наших сумрачных гениев: Firefly от А.Грановского и Priroda от Д.Лайкова. В принципе, список подобных софтов доступен в Вики.
Для других же задач, более специфичных, приходится часто писать свой софт, причём распространена ситуация: 1 задача — 1 код. Уж больно это обширная область исследования, волшебной кнопки «всё сделать хорошо» тут ещё не изобрели.
Мне понять хочется откуда сложность.

Имхо, хорошей иллюстрацией служит формализм квантовой механики от St. Фейнмана (интегралы по траекториям)
Чтобы вычислить в рамках классической механики, куда при заданных начальных условиях перейдёт система, надо просто проинтегрировать систему ОДУ (уравнения Ньютона, Лагранжа-Эйлера, Гамильтона — не важно).
В квантах же (в формализме интегралов по траекториям), чтобы вычислить какой «процент частиц» (не будем сейчас в этом вдаваться) перейдёт из точки A за время t в точку B, необходимо просуммировать все возможные и невозможные траектории системы между этими 2мя точками, причём с определёнными комплексными весами. И это только для 2-х отдельно взятых точек.
По-моему аналогия вполне понятна. :)
Да, аналогия с траекториями понятна. Непонятно другое, где то место перехода от дифф уравнения 2го порядка, в частных производных, к матрицам и переходам. Конечно и помимо квантов полно задач где есть состояние, вероятности переходов между ними и надо найти состояние через время T. Как задача, где задано поле волновой функции, ее начальное состояние, — вдруг превратилась в задачу перебора всех вариантов переходов? Да да, знаю что с этого все и начиналось, про дискретные уровни электрона, переходы… потом появляется ур Шредингера, потом его решают, получают собственные функции и корни, и они типа и есть эта дискретная структура… Но вот этот момент непонятен — что мне мешает решать задачу как ур. в частных производных и искать эту функцию как тепловое или эл магн поле? В тех же полях нет этого комбинаторного взрыва переходов, откуда они при решении ур Шредингера?
aslepov78
Но вот этот момент непонятен — что мне мешает решать задачу как ур. в частных производных и искать эту функцию как тепловое или эл магн поле? В тех же полях нет этого комбинаторного взрыва переходов, откуда они при решении ур Шредингера?

Временное уравнение Шрёдингера — это уравнение теплопроводности с комплексным коэффициентом теплопроводности.
Насколько часто Вам нужно решать уравнения Максвелла или уравнение теплопроводности, скажем, в 30-ти мерном пространстве? Или всё же за рамки 3D (время не считаем) в реальных случаях выход не требуется?

Сейчас решение «в лоб» можно потянуть, ну для 10-15-мерных случаев. А дальше никак.
уравнение Шрёдингера — это уравнение теплопроводности с комплексным коэффициентом теплопроводности.


А что из этого следует? К комплексным уравнениям часто переходят исключая временную составляющую. В электродинамике например так делают сплошь и рядом. Да и в самом ур Шредингера так делают исключая переменную t считая поля гармоническими. Дело ведь не в комплексности. или не понял ваш ответ.

Насколько часто Вам нужно решать уравнения Максвелла или уравнение теплопроводности, скажем, в 30-ти мерном пространстве


Даже 1мерное уже не часто. Значит вы полагаете дело только в размерности задачи? Но размерность я могу и в классивеской механике создать, или в той же электродинамике. Размерность ведь параметрическая. Систему с многими параметрами запросто можно придумать. Но я же не про это спрашиваю. А про то откуда в принципе возникают вероятности переходов, матрица этих вероятностей и как следствие задача становится экспоненциальной. Т.е. в основе нормальное уравнение, 2го порядка, в частных производных. Но проблемы почему то совершенно другие чем в электродинамике или механике.
Дело ведь не в комплексности. или не понял ваш ответ.

Комплексность тут ни при чём, это я для строгости написал. А суть утверждения была в том, что для решения уравнения Шрёдингера применяются методы решения, что и для уравнений теплопроводности. В частности, стационарное уравнение Шрёдингера — это просто результат применения метода Фурье.
Значит вы полагаете дело только в размерности задачи?

Да. Только полагать тут и не требуется ничего, это факт.
Но размерность я могу и в классивеской механике создать,

Но Вам уже ответили, что решать уравнения классмеха (ОДУ) существенно проще, чем решать уравнения квант.меха (УрЧП). Проинтегрировать уравнения движения для десятков (или даже сотен) тысяч классических частиц — вполне посильная задача.
или в той же электродинамике.

Это как?! Уравнения Максвелла — это уравнение на 2 векторные функции в 3-х мерном пространстве. Откуда Вы ещё дополнительные размерности возьмёте (только если Вы не струнный теоретик)?
Размерность ведь параметрическая.

Ничего подобного. Размерность определяется изучаемой системой. Грубо говоря, в механике размерность — это число частиц умноженное на 6 (3 координаты и 3 импульса). В квантовой механике — число частиц, умноженное на 3 (координаты или импульсы). Но в первом случае нужно всего-лишь интегрировать диффуры, а во втором — уравнения в частных производных. И второе существенно гемморойнее.
А про то откуда в принципе возникают вероятности переходов, матрица этих вероятностей

Это не настолько просто объяснить в 2-х словах.
Т.е. в основе нормальное уравнение, 2го порядка, в частных производных. Но проблемы почему то совершенно другие чем в электродинамике или механике.

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

Да, но в классике всего 4 аргумента (x, y, z, t) и более высоких размерностей как правило не бывает, причем в механике все величины вообще зависят только от времени t. Уравнение Шредингера для 2 частиц (7 аргументов: x1, y1, z1, x2, y2, z2, t) в принципе тоже решают. Но как только число аргументов искомой функции переваливает за, например, 20-30, у вас уже просто нет памяти хранить все узлы сетки (например для системы из 10 электронов у вас 30 аргументов и если рассмотреть 10 разбиений на каждый, тогда нужно хранить 1030 узлов, сами посчитайте, сколько это потребует памяти для типа complex float).
Спасибо. Дошло. Я упустил тот факт что частица становится волновой функцией а функция должна быть задана в каждой точке пространства.
Задана в каждой. Ещё в идеале после каждого расчета проверять, что сумма квадратов модулей ВФ по ячейкам пространства, умноженных на объем ячейки дает 1. Либо же говорить, что у нас вышло чуть меньше 1, то есть мы посчитали вероятность того, что частицы покинут объем задачи. Скажем в том же угарном газе 1 электрон улетит на 100 ангстрем от ЦМ молекулы, а мы в виде объема взяли только цилиндр радиусом 50 А и высотой 50.
(автор вверху пишет то же самое с теми же примерами)
Вопрос — откуда столько специфичных терминов в вашей классификации моделей?
Из-за практической сложности симуляции на компьютере. Даже, к примеру, модель воды симулировать сложно. Одна молекула воды для уравнения Шрёдингера — непосильная задача, поэтому вы делаете каскад приближений. Каждое такое приближение — отдельный термин в модели. В результате получается классификация моделей воды, каждая — со своей областью применимости, с сильными и слабыми сторонами.
Они возникают из желания построить аналитическую модель?
Да, из желания построить достаточно простую модель, которую можно запихнуть в компьютер.
А если численно, уравнения Шрёдингера достаточно?
Нет. В примере с водой уравнение Шрёдингера вообще стараются не использовать. Это невообразимо сложно для компьютера. Вообще, было бы довольно глупо, если бы сложные квантовые модели симулировались с помощью заведомо более простых классических компьютеров без каких-либо приближений, не так ли?
Что это сложно и не возможно я итак слышу. Мне понять хочется откуда сложность. Вот выше автор говорит о большом количестве степеней свободы. Но в классической механике они тоже никуда не делись. Тем не менее система из шариков на пружинках запросто моделируется. И в квантах и в классике уравнения 2го порядка, одинаково необходимо начальное состояние… Верю что там трудности принципиальные, иначе бы давно все симулировали молекулы. Но вот откуда они происходят, начиная с уравнения Шредингера (уж простите что с универа запомнил как фундамент квантов) — не понятно.
В классической механике обыкновенные дифференциальные уравнения, а в квантовой — в частных производных. Решить систему из 30 ОДУ в ∞ раз проще, чем одно уравнение в частных производных от 30 переменных.
В частных производных усложняет но ни это подозреваю проблема. Тепловые поля, электромагнитные — пример решаемых задач.
Классическая механика, например — уравнение Эйлера-Лагранжа.
Берем например очень простую молекулу — CO.
Имеем 2 ядра и 14 электронов.
Если совсем без приближений — нам необходимо записать 16 уравнений, в которых потенциальная энергия будет участвовать в 16*15/2 = 120 членах. Получим уравнения типа:
m1*dr1/dt = dU/dr1,
где r1 — вектор (x1,x2,x3) и под производной по вектору имеется в виду градиент. Да, я ещё забыл учесть возникновение магнитного поля от движения зарядов — может членов в уравнении ещё больше станет; ещё забыл магнитные моменты ядер, но наверное для расчета молекул можно пренебречь.
Но есть хорошая штука — адиабатическое приближение. Точно смысла не помню, но могу предположить такой порядок действий:
1. Фиксируем положения ядер — в моем примере они весят не менее 12 а.е.м., что много больше массы 1 электрона.
2. Рассчитываем эволюцию электронов в потенциале 2 неподвижных ядер — задача «14 тел + потенциал».
3. Рассчитываем, как все же будут смещаться ядра под действием потенциала электронов из пункта 2.
4. Пробуем в пункте 2 учесть изменение положения ядер (и далее по циклу).

Считаем до тех пор, пока реальные изменения каждой новой итерации не превысят погрешности от того, что мы не посчитали релятивистскую поправку к движению четырех 1s-электронов вокруг ядер.
Но есть хорошая штука — адиабатическое приближение. Точно смысла не помню
Ну, вы его в принципе описали. Идея в том, что раз электроны и ядра «живут» на совершенно разных временных масштабах, можно считать, что ядра живут в поле, усредненном по всем положениям электронов, а электроны живут в поле неподвижных ядер.
В таком смысле, если мы применяем ад. приближение к квантовой механике (точно помню, что учили в том курсе), можно потом понятие «поле электронов» записать в смысле том, что есть потенциал, вызванный распределением заряда
ro = e *|psy®|^2, а потом — записать действие на каждое из ядер потенциала
phy (r') = int{ro®/|r-r'|dr}.
Но кажется очевидным, что подобный гамильтониан с кин. энергией T
H = T1 + T2 +{потенциал отталкивания 2 ядер} + e*{phy (r1) + phy (r2)}
будет не очень легко считать.
Если что, в тексте есть про приближение БО = адиабатическое приближение.
После этого мы замечаем, что электроны у нас почти в 2000 раз легче ядер, поэтому под действием кулоновского притяжения к ядрам и кулоновского отталкивания друг от друга, они движутся куда быстрее ядер. В итоге электронам кажется, что ядра заморожены. Поэтому электрончики спокойно принимают наивыгоднейшую для себя конфигурацию, и стоит ядрам чуть-чуть подвинуться, так электроны уже перестроились, как им удобнее. Ядра же видят только некоторый усреднённый потенциал, создаваемый электронами и кулоновскими взаимодействиями всего со всем, а сами детали движения электронов не видят. Это разделение электронов и ядер носит название «приближение Борна-Оппенгеймера» (да, это тот самый Роберт Оппенгеймер, он не только бомбой известен).

Конечно, в некоторых источниках адиабатическим приближением называют чуть модифицированную версию этого явления, но сути это не меняет.
Подробнее про БО можно почитать в Давыдовском учебнике по квантмеху, или, например, тут.
я не очень понимаю зачем вы пересказываете решение в классической механике. Там мне как раз все понятно: есть система частиц, есть поля как посредник взаимодействия, есть силы. Все это и без приближений хорошо симулируется. Мало точности — уменьшаем шаг, увеличиваем разрядность числа… в общем боле менее методы понятны. Я же спрашиваю о том откуда при решении уравнения Шредингера возникает «экспоненциальная стена».
По честному, в КМ вышло найти решение не очень большого числа практических задач (может что-то роустил):
1. Потенциальная яма (прямоугольная проще всего) и система ям, разделенная конечными барьерами.
2. Гармонический осциллятор.
3. Атом водорода. Магнитное поле ядра, спин-орбитальное взаимодействие, релятивистские эффекты, конечный размер ядра — это все приближения. Можно оценить уровень энергии, сложнее — найти новые волновые функции как лин. комбинацию функций базовой задачи.
По честному и в любом другом разделе физики аналитических решений раз два и обчелся. Речь конечно о численном решении.
Симулировать — это, для начала, посчитать матричные элементы уравнения Шредингера. Количество матричных элементов — это размер вашего пространства векторов (в квадрате, что не так важно). Ключевой вопрос: какой размер у пространства векторов? Пусть вы хотите симулировать электрон в одномерной коробке (т.е. интервале). Вы, к примеру, разделяете интервал на 10 отрезков. Получается 10 векторов и 10х10 = 100 матричных элементов. Размер пространства — 10. Это легко симулировать.

Теперь вы добавляете второй электрон. Он тоже ограничен 10ю интервалами. В классической механике мы бы просто считали количество электронов в каждой точке и бед бы не знали. Но квантовая механика отвечает на вопросы типа «какова вероятность нахождения электрона 2 в одном из 10 подинтервалов при условии, что электрон 1 находится в интервале x?». Т.е. для каждого из x=1..10 случаев нахождения первого электрона есть 10 чисел (амлитуд), которые «вынь да полож». Этим амплитудам соответствуют новые вектора. Их 100 штук. Мы их называем состояниями: «состояние, при котором электрон 1 находится в подинтервале 1 и электрон 2 находится в подинтервале 1», и так далее в двойном цикле. Соответственно считать нам, в общем случае, порядка 10000 матричных элементов для двух электронов. Для трёх количество увеличится до 1e6 (а цикл будет тройным), для четырех — до 1e8 (четыре вложенных цикла) и т.д. Память у среднестатистического компьютера в этом случае закончится примерно на пятом-шестом электроне. (здесь тонна нюансов)

Это — т.н. экспоненциальная стена. Трагедия с таким ростом сложности состоит в том, что может оказаться, что ур. Шредингера для N электронов вы на лаптопе решаете, а для N+1 уже не существует суперкомпьютера, в который бы влезла волновая функция. Всё зависит от того, на сколько отрезков вы разбили интервал вначале. Если бы вы разбили его на минимально возможное количество отрезков — два, то ресурсы среднестатистического компьютера закончились бы где-то на 18м электроне, что тоже не ахти как много.

Может напишу статью по мотивам (а может и нет).
На тот случай, если статью не напишу: все эти проблемы можно продемонстрировать и вне квантовой механики. Задача:

В пруду от берега к берегу растут N лилий в ряд. По лилиям прыгают жабы. Жабы прыгают между соседними лилиями и только в одну сторону. Для простоты, жабы прыгают в такт. Но вероятность того, что жаба перепрыгнет равна p в случае если лилия пуста и ноль, если на ней уже сидит жаба. С берега и на берег жабы прыгают с той же вероятностью при тех же условиях (считается, что на одном из берегов всегда есть жабы в достаточном количестве, а на другом — их нет). Какова средняя скорость движения жаб в зависимости от N, p?
Какова средняя скорость движения жаб в зависимости от N, p?
«методом Монте-Карло»: запускаем жаб для заданных N и p, считаем количество жаб, пересекших пруд и после 100500го раза смотрим на среднее, не?
Можно. Но за 100500 раз вы никак не исследуете все конфигурационное пространство. В связи с этим возникает вопрос: а правильное ли среднее?
Если дисперсия значений достаточно хорошо убывает при достижении 100500го шага на 100-м или 500-м запуске, то я буду склонен считать его скорее правильным, чем неправильным.
И, при всём этом, среднее окажется неправильным. К примеру, в случае, когда конфигурационное пространство разделено на две области равных размеров, причем из первой во вторую можно перескочить (но с достаточно малой вероятностью), а из второй в первую — нет. Вы просто будете получать одно из двух средних с правильной дисперсией.
эхх! да, про случай с разными областями в которые разные средние, я и забыл.
Все время забываю, что на вопрос «какая АБВГ» у меня в голове скаляр, а у физиков в голове функция (или даже тензор) по (часто странному) пространству…
UFO just landed and posted this here
Причем в квантовой химии часть жаб скачет спиной вверх, а часть спиной вниз при этом функция распределения должна быть строго антисимметрична относительно перестановки «двух разных спин»

АААААА! (убегает)

PS: после таких моментов так и вспоминается фраза Д.Мермина, я бы так наверное не смог бы…
Вы привели пример уже чисто математической задачи, в которой от физики вообще ничего не осталось. Я вижу что в квантах сплошь и рядом говорят о вероятностях, переходах, матрицах… Другое непонятно — как из уравнения Шредингера, которое непрерывное, в частных производных, причинно следственное (2го порядка)… и вдруг возникает вот эта задача на тему переборов и экспоненциального взрыва. И в тоже время в других областях, тоже с уравнениями в частных производных, тоже большая размерность — и вроде все в порядке, решаемо, нет таких принципиальных проблем.
Уравнение Шредингера записано для одной функции многих переменных: ψ(x1, x2, x3, x4, ...) и в этом его главная сложность. Для классичеких полей вы записываете уравнение для, скажем, φ(x) и оно действительно проще потому что там меньше переменных. Про другие области не в курсе, приводите примеры.
вплоть до области γ-квантов

Хотя формально гамма-кванты и рентген пересекаются по энергии, все же до диапазона гамма-квантов я бы не доводил даже уровни типа «энергия ионизации K-оболочки менделевия».
Тут нужно уточнить, что гамма-квантами с определенного уровня энергии называют отдельные кванты типа:
— энергия ионизации электрон-позитронной пары;
— энергия ядерного перехода нуклона в возбужденном ядре (тут она может быть пару МэВ).
В то время, как рентгеном называют частные случаи таких непрерывных процессов (легко объяснимых классической теорией поля):
— синхротронное излучение (но боюсь, что на LEP это были самые что ни есть гамма-лучи);
— тормозное (просто другой вид ускоренного движения.
UFO just landed and posted this here
KonkovVladimir,
А что говорят об этом квантово-химические расчеты?

Квантово-химические расчёты говорят много чего. И UV/Vis спектры предсказываются, и ИК (включая и VCD), и даже масс-спектры!
То, что я писал только о структурах, так это из-за того, что я работаю в этой области, и из неё мне проще тырить примеры. Но в целом, данная статья распространяется и на другие экспериментальные методы исследования.
ab initio квантово-химические расчеты на классических компьютерах ограничиваются простыми или модельными задачами в ожидании появления квантовых процессоров?

Нет, не кажется. Благодаря многоуровневым методам (иерархической лестнице различных упрощающих предположений/грязных хаков) мы уже сейчас можем моделировать очень сложные системы. От сложных фотохимических процессов в биологических системах до разных каталитических процессов.

Вообще, с появлением новых компьютеров в квантовой химии сначала произошло некоторое атрофирование мозгов исследователей: вместо поиска каких-то элегантных путей решения задачи, они стали тупо запихивать всё внутрь компьютера, произносить некоторые «магические заклинания», которым они научились у Старинных Мудрецов, и ждать чуда результата расчётов.
Сейчас же, когда пообвыклись с новыми возможностями, стали немного думать перед расчётом, из-за чего стало возможным «атаковать» более сложные и жизненные системы.

К чему это я? Чем ждать чуда у моря, лучше уже сейчас стараться и работать. :-)
UFO just landed and posted this here
Один из авторов статьи, кстати, Kieron Burke — придумал в свое время (с друзьями), на мой взгляд, лучший DFT функционал всех времен и народов — на деле доказал, что «умел думать головой».

Вообще я слушал на одной из конференций доклад Бурка на тему этого направления (в частности он и об этой статье говорил). Там основная фишка подобных работ не сколько в повышении точности (PBE, где «B» is for «Burke», или B3LYP и так неплохи), а в ускорении. Просто всё равно все DFT методы масштабируются как O(M4)-O(M5) в зависимости от размера базиса (M), и поэтому посчитать ту же молдинамику для системы из сотен атомов в DFT не получится. А хочется…
Поэтому предполагается провести несколько дорогих расчётов, сделать аппроксимацию (то бишь обучить какую-ть нейросеть), а потом со спокойной душой и совестью пользоваться результатами этих аппроксимаций.

Это как раз один из возможных «грязных хаков», о которых я писал выше, чтобы начать моделировать реальные большие системы.
Просто всё равно все DFT методы масштабируются как O(M4)-O(M5) в зависимости от размера базиса (M),
DFT — в подавляющем большинстве O(M3), инфа 100%. O(M5) — я вообще не в курсе о таких дорогих методах в DFT. Это сложность MP2 (т.е. не самого MP2, а поворота кулоновских интегралов).
geisha, спасибо за исправление-уточнение. Перепроверил приведённые цифры по F. Jensen «Introduction to Computational Chemistry» (2007-го года).
DFT — в подавляющем большинстве O(M3), инфа 100%.

При использовании разных «density fitting» техник (типа resolution of identity), да. Но стандартно (т.е. без удешевляющих технических приблуд), из-за наличия кулоновских интегралов

стоимость DFT сопоставима с Хартри-Фоком (т.е. O(M4)).
O(M5) — я вообще не в курсе о таких дорогих методах в DFT. Это сложность MP2 (т.е. не самого MP2, а поворота кулоновских интегралов).

Double-hybrids (т.е., по-сути, просто прикрученный MP2 к DFT), RPA (насчёт него не совсем уверен), и всё остальное, что влезет в последнюю ступень Лестницы Якова от Perdew?
Кулоновское отталкивание <ij|ij> считается за O(M2). Это обменное взаимодействие <ij|ji> считается за O(M4). Конкретно PBE — O(M3) из-за диагонализации матрицы.
geisha
F. Jensen «Introduction to Computational Chemistry» (2007-го года), раздел 6.8, стр. 261-262:
With an expansion of the orbitals in basis functions, the number of integrals necessary for solving the KS equations rises as Mbasis4, owing to the Coulomb integrals in the J functional (and possibly also “exact” exchange in the hybrid methods). The number of grid points for the numerical Exc integration (eq. (6.61)) increases linearly with the system size, and the computational effort for the exchange–correlation term rises as GM2 basis, i.e. a cubic dependence of the system size. When the Coulomb (and possibly “exact” exchange) term is evaluated directly from integrals over basis functions, DFT methods scale formally as Mbasis4.

Nevertheless, the formal Mbasis4 scaling has spawned approaches that reduce the dependence to Mbasis3. This may be achieved by fitting the electron density to a linear combination of functions, and using the fitted density in evaluating the J integrals in the Coulomb term.

Может я что-то не понимаю в этом куске?
Кулоновское отталкивание <ij|ij> считается за O(M2). Это обменное взаимодействие <ij|ji> считается за O(M4).

Тензоры кулоновского и обменного интегралов в представлении одинаковых базисов (пусть, условном базисе АО) имеют одинаковый размер. Почему они должны вычисляться за разное время? Если использовать разные схемы ускоренного расчёта (типа RI) для одного из этих кусков — понятно. Но это уже подразумевает дополнительные условия. Нет?

P.S. А если не секрет, откуда эта инфа 100%?
Да, там всё правильно написано, но для произвольного двухчастичного взаимодействия. В рельности же легче перейти в координатный или импульсный базис и посчитать там кулоновское отталкивание. Формально говоря, это действительно является resolution of identity |r><r| или |k><k|, но эти базисы можно с натяжкой назвать «технической приблудой», поскольку они концептуально проще, нежели атомные базисы со всеми их хвостами и перекрытиями. К слову, в импульсном пространстве кулоновское отталкивание — вообще O(M).
В рельности же легче перейти в координатный или импульсный базис и посчитать там кулоновское отталкивание.

Вы же понимаете, что это естественным образом вводится только для периодических систем, поскольку только в этом случае координатное/импульсное представление имеет счётный базис?
В случае же с непериодическими системами, функции образуют непрерывный спектр, нормированный на δ-функцию. Поэтому реализации подобной схемы для газофазных расчётов (подобно GPW технике в CP2K) требуют всё тех же дополнительных предположений и параметров (выбора ячейки достаточно большого размера, чтобы избежать self interaction и cutoff-а по энергии, хотя последнее — это естественная штука). Из-за этого подобный подход в случае молекул в вакууме проще
назвать «технической приблудой»

:-)
они концептуально проще, нежели атомные базисы со всеми их хвостами и перекрытиями.

Да, конечно + у них нету всяких BSSE, BSIE и прочей фигни, свойственной базисам GTO/STO-типов. Но для расчёта газофазных случаев, плосковолновых функций нужно существенно больше (бОльшие объемы ячейки при одинаковых cutoff-ах по энергии из формулы image). Поэтому, насколько я знаю, выигрыш в масштабировании от подобного перехода к плосковолновым базисам компенсируется увеличением размеров этих базисов. Но тут я могу и ошибаться, поскольку с плосковолновыми расчётами особо не контактировал.
А подробнее можете сказать какие данные в CSD и что нужно для получения базы/доступа?
Требуется ли «институтская почта»?
А подробнее можете сказать какие данные в CSD и что нужно для получения базы/доступа?

Это сборник кристаллических структур + встроенный вьюер структур + простейший поиск по ним. Структуры только для различных молекулярных кристаллов. Можно даже скачать эти данные, они хранятся в формате *.cif. Только для скачивания нужно ввести свою почту.
Требуется ли «институтская почта»?

Нет, емнип, институтская не нужна, подойдёт любая. Но вот место работы нужно будет заполнить (в опроснике). Система похожа на то, что теперь требует УФН. Не строго, никакого контроля, но извольте заполнить.

Вообще, с CSD, чем 100 раз прочитать, лучше 1 раз попробовать. ;)
А вот из тех «Решений» кто конкретно подразумевается под бесплатными?
CSD-System?

Поскольку она предполагает допуск к ICSD, не уверен.
Вот ссылка на заведомо бесплатный поиск:

веб поиск я находил, а вот там много где писали что их базу можно скачать, а конкретно что скачивать не указано)

Ааааа, так скачивание базы как раз вроде и платно!

Я вот в CSD-system не вижу про ICSD ничего.

к слову
К ICSD доступ имею, но только на рабочей «машине».
COD база хорошая но органики там нету, как назло =( может у CSD она нормальная.
PDF-2 2004 имею в доступности, но она старая как черт и там много чего нету.
На странице
More advanced search functionality and additional curated data for the Cambridge Structural Database (CSD) and the Inorganic Crystal Structure Database (ICSD) is available through the CSD-System and ICSD, respectively. Click here for more information.

Я вчера просто невнимательно прочитал. По ссылке в описании юзер просто перенаправляется на саму ICSD.
может у CSD она нормальная.

В CSD органика точно есть, но выгрузить её можно только по одной (если нет платного доступа).
Интересно было бы в сторону различного софта углубить и расширить статью.
В силу свой рабочей специальности как программист ковырялся в потрохах разных MD кодов, хотелось бы заслушать людей, скажем так, с той стороны баррикад.

Кроме приснопамятного Гауссиана есть же еще много интересных пакетов. CP2K упоминался уже, который выделяется тем, что хранит в хитром блочном «а-ля» спарс формате, правда по этому проседает по скорости. Ну или QuantumEspresso бесплатный, основанный на CASTEP, который к тому же очередь прародитель VASP-а.

madschumacher, может черканете пару абзацев на такую тему? Скорость, точность, устойчивость рассчетов, и тп… Интересно же, для нас это просто строчки кода :)
Скорость, точность, устойчивость рассчетов, и тп… Интересно же, для нас это просто строчки кода :)

К сожалению, тут я не очень большой специалист, т.к. я сам работал только с Gaussian, GAMESS US/Firefly, Orca (в порядке истории) + совсем немного Priroda и CP2K (но на уровне шапочного знакомства с расчётами). Поэтому тут я ничего особо полезного сказать не могу, к сожалению.

Единственное, что могу сказать, это что Турбомолевский юзеровский интерфейс нарушает все возможные права человека, и что он должен быть запрещён отдельной конвенцией ООН (правда по производительности и возможностям — офигенный код, стоящий своих денег).
К сожалению когда ученый-прикладник осеняется знамением и решает написать свой супер-турбо-DFT на стероидах обычно получается что то невнятное по интерфейсу. И если наша братия подхватив это знамя путем рефакторинга бывает спасает ситуацию, то для закрытых кодов шансов почти нет :)
Вам повезло что вы еще внутрь не заглядывали. Почти все MD кода это Фортран, из С/C++ припомню разве что LAMMPS.

UFO just landed and posted this here
Там еще вместо MPI такая штука как GlobalArrays… Бррр… Гнусный код, не люблю его :)
UFO just landed and posted this here
Да я уже свой взгляд изложил прям сразу. Для кластеров классический и наиболее прямой подход — MPI. Куча узлов, распределеные данные, обмен сообщениями и коллективные операции.
Используемый GlobalArrays это такая абстракция, которая больше мешает чем помогает. Типа давайте у нас будет виртуальный распределенный массив, а внутри спрятан механизм обменов на MPI. В результате там некешируемый RDMA на всю голову.
UFO just landed and posted this here
Sign up to leave a comment.

Articles