我正在使用pymatgen编写.mcif文件。我的结构总是沿着z有4级的共线磁矩,但是在将它们写入文件之前,我注意到pymatgen用函数Magmom.get_moment_relative_to_crystal_axes()来转换它们。我的问题是:
发布于 2018-12-17 16:54:15
我实际上负责这段代码,所以我希望我能回答你的问题:)
简单地说,有几件事要记住:
·假设当你说“共线磁矩总是沿着z”时,你的意思是这些是标量共线矩,例如,从密度泛函的计算中,值得记住的是,目前的.mcif标准并不是真正为表示标量矩而设计的,这就是为什么我们任意选择z轴。然而,这是一种惯例,没有任何物理意义。我被告知未来版本的.mcif标准将支持标量时刻。
·我们通常用晶体晶格矢量表示相对的磁矩,因为这通常更有科学意义。这意味着我们需要将笛卡儿x、y、z基转换成格子的a、b、E 110cE 211基。这就是Magmom.get_moment_relative_to_crystal_axes()方法所做的。
所产生的时刻的大小应该是相同的;如果不是,这是一个错误(如果有一个例子,请分享!)然而,请注意,格基可能不是正交的,这会使数学变得更棘手。
关于一般性的关于pymatgen的问题,请注意,我们也有一个Google组,Materials也有一个论坛,而且我们一般都试图做出响应(我不确定目前是否有人在监控堆栈溢出)。你也非常欢迎直接给我发电子邮件。如果您确实发现了一个bug,请向pymatgen GitHub问题页面报告,我们会尽快修复它。
https://stackoverflow.com/questions/52853530
复制相似问题