Ограничение вращения в Пиироне Сфинксе

#pyiron

Вопрос:

Я хочу ограничить вращение объемных атомов, позволяя свободным поверхностным атомам моей суперячейки ослабить свой магнитный момент. Возможно ли в PyIron SPhinx ограничить спин подмножества атомов (не всех из них) в суперячейке?

Ответ №1:

Да в принципе это возможно:

 from pyiron import Project
import numpy as np

spx = pr.create.job.Sphinx('spx')
spx.structure = pr.create.structure.bulk('Fe', a=2.83, cubic=True)
spx.structure.set_initial_magnetic_moments([2, 2])
spx.fix_spin_constraint = True
spx.structure.spin_constraint = np.array([True, False])
spx.calc_static()
spx.run()
 

Краткое объяснение: spx.fix_spin_constraint = True инициализирует атрибут spx.structure.spin_constraint , который содержит только True для всех атомов в начале. Для атомов, которые не должны быть ограничены, вы можете установить False .