LAMMPS 专题

LAMMPS自旋进动与时间积分

固定单格点在5T磁场中实际进动,逐点比较Larmor解析解、长度守恒和时间步减半。

更新于 2026-11-09约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

自旋最小化寻找稳定方向;自旋动力学描述方向怎样随时间变化。本例在单个固定格点上施加z向磁场,直接比较经典Larmor进动解析解,帮助理解输入中的自旋长度、磁场和积分时间步。

下载三篇共用的完整输入、实算数组、原生科学输出和绘图包。先按共用运行步骤运行一次。自旋最小化与力矩定义见既有自旋教程。

1. 完整单格点输入#

cat inputs/spin-B5/input.lammps
head -n 12 inputs/spin-B5/atoms.dump
units metal
atom_style spin
atom_modify map array
boundary p p p
region box block -5 5 -5 5 -5 5 units box
create_box 1 box
create_atoms 1 single 0 0 0 units box
mass 1 1
set atom 1 spin 1 1 0 0
pair_style spin/exchange 3.0
pair_coeff * * exchange 3.0 0.0 0.0 1.0
fix external all precession/spin zeeman 5 0 0 1
fix_modify external energy yes
fix integrator all nve/spin lattice frozen
compute magnetic all property/atom sp spx spy spz fmx fmy fmz
thermo 100
thermo_style custom step time pe
thermo_modify norm no format float %.17g
dump atoms all custom 50 atoms.dump id type x y z c_magnetic[*]
dump_modify atoms sort id format float %.17g
timestep 0.001
run 5000

atom_style spin保存磁矩大小和单位方向;set atom 1 spin 1 1 0 0表示大小1,初始方向沿x。atom_modify map array是自旋积分需要的原子映射。nve/spin lattice frozen仅积分自旋,格点不动。

本例使用 spin/exchange 的有限3 Å截断,但交换系数为0,因此没有人为加入另一格点的交换相互作用;这个兼容自旋的pair入口也提供积分算法需要的截断信息。静态最小化中能使用的 pair_style zero 不能直接照搬为这里的所有动态积分配置。

precession/spin zeeman 5 0 0 1施加5 T、z方向磁场。没有阻尼和有限温度自旋热浴,所以这里是连续进动,不是自旋逐渐对齐磁场的弛豫过程。

2. 先认识输出字段#

c_magnetic[1]是磁矩大小,接下来三列为方向sx/sy/sz,最后三列为磁进动向量。后者单位是频率尺度,不能当成原子机械受力。

本构建固定 g=2、μB=5.78901e-5 eV/T、h=4.135667403e-3 eV·ps,因此 ω=gμB B/ħ。5 T时频率约 0.879505507 rad/ps,周期约 7.143998 ps。初始自旋沿x,预期 sx=cos(ωt),sy=sin(ωt),sz=0。

3. 实际轨迹和步长比较#

真实自旋向量、进动圆弧及时间步误差

三组分别为零场、5 T且dt=0.001 ps、5 T且dt=0.0005 ps,均运行5 ps,保存101帧。零场方向保持;5 T下长度始终为1、格点位置不变。全向量相对解析解的最大分量误差约 1.685e-08 和 4.210e-09,步长减半后误差约降为四分之一。

module load sisl/0.16.4
python analyze.py
python plot.py

这只检查已有数据和重画,不重复积分。正式磁性体系还需要交换、各向异性、阻尼、温度或移动晶格的合适参数;单格点解析例不能给出材料Curie温度、畴壁速度或量子电子实时响应。

参考:自旋积分、磁场与进动。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗