Введение

Octopus – это программный пакет для выполнения расчетов на основе теории функционала плотности по методу Kohn-Sham (DFT) и теории функционала плотности, зависящей от времени (TDDFT). Octopus использует псевдопотенциалы и численные сетки в реальном пространстве для распространения орбиталей Kohn-Sham в реальном времени под воздействием изменяющихся во времени электромагнитных полей. Предусмотрена специализированная функциональность для моделирования одномерных, двумерных и трехмерных систем. Octopus позволяет рассчитывать статическую и динамическую поляризуемость и первую гиперполяризуемость, статическую магнитную восприимчивость, спектры поглощения, а также проводить моделирование молекулярной динамики методами Эренфеста и Карпаринелло. Код написан преимущественно на Fortran и распространяется под лицензией GPL. Последняя версия 13.0 была выпущена 28 июня 2023 года.

Проблемы с целью

Линейный оптический (т.е. электронный) отклик молекул или кластеров, а также нелинейный отклик второго порядка. Нелинейный отклик на классические электромагнитные поля высокой интенсивности с учетом как ионных, так и электронных степеней свободы. Электронные свойства систем пониженной размерности, таких как квантовые точки, в основном и возбужденном состояниях. Фотоиндуцированные реакции молекул (например, фотодиссоциация, фотоизомеризация и т.д.). В ближайшем будущем – расширение этих методов на бесконечные и периодические в одном или нескольких измерениях системы (полимеры, слои, нанотрубки, твердые тела), а также на электронный транспорт.

Методология

Как числовое представление, код работает без базисного набора, опираясь на численные сетки. Тем не менее, вспомогательные базисные наборы (плоские волны, атомные орбитали) используются при необходимости. В последнее время код предоставляет возможность работы с неравномерными сетками, которые адаптируются к неоднородности решаемой задачи, и использования многосеточных методов для ускорения вычислений. Для большинства расчетов код использует псевдопотенциалы двух типов: Трулье-Мартинса и Хартвигсена-Гёдекера-Хаттера. Помимо возможности обработки систем в стандартной трехмерной геометрии, доступны также двухмерные и одномерные режимы. Они полезны, например, для изучения двумерного электронного газа, характерного для широкого класса квантовых точек.

Технические аспекты

Код разработан с упором на параллельную масштабируемость. Это позволяет выполнять многократное разделение задач с использованием программного обеспечения для разбиения сетки, MPI и OpenMP. Основной язык программирования – Fortran 90, но также используются и другие языки, такие как C. Пакет распространяется под лицензией GNU General Public License (GPL), что делает его доступным для использования, изучения и модификации всем желающим в репозитории Octopus на Git.