본문 바로가기

LAMMPS

LAMMPS에서 Clump의 구현

LAMMPS에서 Clump를 구현하기 위해서는 fix rigid스타일을 사용한다.

이 경우, LAMMPS temperature를 계산 과정이 fix rigid를 통해 계산되므로, 추가적인 integration은 하지 말아야 한다.

 

기본적으로 lammps는 point atom으로 간주하므로, 3개의 DOF (rotation 무시)를 가지는데 별도의 선언이 없으면 temperature계산 과정에서 rigid clump의 6개 DOF를 제외하는 과정을 거친다. 이 과정에서 DOF가 "- 또는 0"로 계산되어 버린다.

예를 들어 2개의 Atom이 1개의 clump를 구성하면 DOF는

 

3x2 - 6 = 0 이 되어 다음과 같이 에러가 발생한다.

ERROR: Temperature compute degrees of freedom < 0

 

이걸 해결하려면, LAMMPS에 내가 사용하는 atom style이 sphere로 6개의 DOF를 가지는 것을 선언해야 해결이 된다. 따라서, 아래와 같은 스크립트가 run 이전에 필요하다.

 

compute           t1 all temp/sphere
thermo_modify     temp t1

 

출처는

 

https://matsci.org/t/error-temperature-compute-degrees-of-freedom-0/25449