我正在使用pymatgen编写.mcif文件。我的结构始终沿z具有4的共线磁矩,但是在将它们写入文件之前,我注意到pymatgen用函数Magmom.get_moment_relative_to_crystal_axes()对其进行了转换。我的问题是:
答案 0 :(得分:0)
我实际上负责该代码,所以希望我能回答您的问题:)
简而言之,有几点需要牢记:
•假设您说“始终沿z的共线磁矩”,则表示它们是标量共线矩,例如从DFT计算中,值得牢记的是,当前的.mcif标准并不是真正为表示标量矩而设计的,这就是我们任意选择z轴的原因。然而,这是约定俗成的,没有物理意义。有人告诉我.mcif标准的未来版本将支持标量矩。
•我们通常根据晶体学晶格矢量来表示相对的磁矩,因为这通常在科学上更有意义。这意味着我们需要从笛卡尔 x , y , z 基础转换为晶格的 a , b , c 。这就是Magmom.get_moment_relative_to_crystal_axes()
方法的作用。
•结果力矩的大小应该相同;如果不是,那么这是一个错误(如果有示例,请分享!)但是,请注意,晶格基础可能不是正交的,这会使数学变得有些棘手。
关于一般地询问有关pymatgen的问题,请注意,我们也有一个Google小组,Materials Project也有一个论坛,总的来说,我们会尝试响应(我不确定当前是否有人在监视stackoverflow)。您也非常欢迎直接发送电子邮件给自己。如果确实发现了错误,请务必将其报告给pymatgen GitHub Issues页面,我们将尽快修复它。