Введение

CASTEP – это программный пакет с открытым исходным кодом, предназначенный для академических и коммерческих целей, который использует теорию функционала плотности с использованием базисного набора плоских волн для расчета электронных свойств кристаллических твердых тел, поверхностей, молекул, жидкостей и аморфных материалов из первых принципов. CASTEP позволяет проводить оптимизацию геометрии и молекулярную динамику при конечной температуре с неявными симметрией и геометрическими ограничениями, а также вычислять широкий спектр свойств, производных от электронной конфигурации. Изначально CASTEP представлял собой последовательную программу, написанную на Fortran 77, но в период с 1999 по 2001 год он был полностью переработан и переписан с использованием Fortran 95 и MPI для работы на параллельных компьютерах исследователями из университетов Йорка, Дарема, Сент-Эндрюса, Кембриджа и лабораторий Ратерфорда.

История

CASTEP был создан в конце 1980-х – начале 1990-х годов в группе TCM лаборатории Кавендиша в Кембридже. Изначально это был академический код, написанный на Fortran77, и название происходило от CAmbridge Serial Total Energy Package. В середине 1990-х годов программа была коммерциализирована путем лицензирования компании Molecular Simulations International (позднее приобретенной Accelrys, а затем Biovia) по соглашению, в рамках которого Кембриджский университет получал часть роялти, а большая часть разработки оставалась за первоначальными авторами. В период с 1999 по 2001 год код был переработан и полностью переписан с использованием возможностей современного Fortran, для обеспечения параллельности вычислений и повышения устойчивости программного обеспечения. Новая кодовая база сохранила название CASTEP, но без первоначального значения, поскольку код стал параллельным и мог вычислять не только полную энергию, но и множество других величин. К этому времени годовой объем продаж превысил 1 миллион фунтов стерлингов. Несмотря на коммерциализацию, CASTEP и его исходный код оставались бесплатными для ученых Великобритании. В 2019 году бесплатная академическая лицензия была расширена на все академические учреждения мира (а не только Великобритании). Коммерческие пользователи могут приобрести CASTEP как часть пакета Materials Studio от Biovia.

Теория и приближения

Начиная с многочастичной волновой функции, делается адиабатическое приближение относительно ядерных и электронных координат (приближение Борна — Оппенгеймера). В коде также используется теорема Блоха, согласно которой волновая функция периодической системы имеет фактор периодичности по элементарной ячейке и фазовый фактор. Фазовый фактор представляется плоской волной. В силу использования теоремы Блоха, удобно записывать волновую функцию в виде плоских волн как для фактора периодичности по элементарной ячейке, так и для фазового фактора. Это обеспечивает ортогональность базисных функций и упрощает выполнение преобразования Фурье из прямого в обратное пространство и наоборот. В коде CASTEP широко используются быстрые преобразования Фурье, а также метод суммирования Эвальда для кулоновских энергий. Наряду с плоскими волнами и итеративными методами диагонализации (методом сопряжённых градиентов или блочным алгоритмом Дэвидсона), псевдопотенциалы являются неотъемлемой частью кода CASTEP, позволяя снизить вычислительные затраты. Псевдопотенциалы заменяют атомное ядро и электроны внутренней оболочки эффективным численным потенциалом.

Оптимизация геометрии

CASTEP способен оптимизировать атомную геометрию системы несколькими различными способами. По умолчанию используется BFGS, при котором приближение к матрице Гессе строится на последовательных этапах электронной минимизации и используется для определения направления поиска. Также возможна демпфированная молекулярная динамика, которая часто быстро сходится, иногда даже быстрее, чем BFGS, благодаря экстраполяции волновой функции. Однако демпфированная молекулярная динамика чаще выбирается вместо BFGS из-за возможности применения нелинейных ионных ограничений. Альтернативой является схема FIRE, которая использует схожий подход с демпфированной молекулярной динамикой, но основана на несколько иной методологии.