Lammps 기본 사용법 정리 1편 (MD 시뮬레이션)

2022. 7. 9. 22:56게임만 하니 공부도 해야지

반응형

안녕하세요 이번 시간에는 간단하게 기본적인 코드에 대해 알아보고

실제로 돌려보도록 하겠습니다!!

 

일단 기본적인 설치 및 실행은 구글에 lammps라고 검색하면 공식 사이트가 나오는데 거기서 알려줍니다!

 

저는 학교 서버에서 실행하기 때문에 직접 설치한 적은 없습니다

 

본 글을 모두 읽은 후 2편으로 가주세요!

 

Lammps 기본 사용법 정리 2편 (MD 시뮬레이션)

안녕하세요! 1편에 이어서 돌아온 LAMMPS 2편입니다! 이번 시간에는 간단한 시뮬레이션을 돌려보고 자신이 돌리는 시뮬레이션을 직접 볼수 있는 프로그램을 소개해 드리겠습니다. 2편을 보기 전에

dalgon-game.tistory.com


이제 시작해봅시다!

 

공식 사이트에서 메뉴얼을 누르고 옆에 보면 Commands가 보이는데

여기서 5.4인 Commands by category 가 있습니다.

 

여길 눌러보면

이렇게 나옵니다!

 

실제로 코드를 짤때 이 순서대로 하셔야 오류가 발생하지 않습니다

 

예를 들어 5.4.3에 있는 코드를 가장 먼저 작성하면 오류가 생깁니다.

기본적으로 lammps 코드는 맨 윗줄부터 순서대로 읽기 때문에 순서를 고려해야 합니다.

 

반응형

 

필수 코드 순서만 알려드리면!!

 

먼저 사용할 단위를 지정합니다

units

 

이때 중요한 점은 내가 금속을 할꺼야! 해서 metal

실제 시뮬레이션을 할꺼야! 해서 real을 사용하는 것이 아니라

 

그냥 사용할 단위를 지정하는 것 뿐입니다.

units의 설명을 보면 metal, real, lj 등 다양한 단위 모음이 있고

원하는 단위를 사용하는 것 입니다.


다음으로 지정해줘야 하는 것은

boundary 입니다

boundary 뒤에 지정할 옵션은 p f s m이 있는데

p is periodic
f is non-periodic and fixed
s is non-periodic and shrink-wrapped
m is non-periodic and shrink-wrapped with a minimum value

보통 p를 많이 사용합니다

periodic 즉 주기적이라 함은 시스템이 작은 크기로 보이지만 주기적으로 몇 배가 붙어있는 것으로 가정하기 때문에

한쪽으로 atom이 나가면 반대편으로 들어오게끔 하는 것입니다.

 

나머지 f는 비주기적으로 한쪽으로 나가면 원자가 그대로 사라집니다

별도의 세팅이 없다면 원자가 사라져 오류로 시스템이 중단됩니다.


다음으로 지정하는 것은 

atom_style 입니다

 

atom_style은 굉장히 다양한데

굉장히 많죠;;

물론 상황에 맞게 선택합니다

보통 원자면 charge를 사용해서 전하를 지정해주고

 

고분자나 bond가 있으면 bond를 사용합니다.

atom_style 마다 표기해야할 것들이 다른데

 

예를 들어 atomic과 charge의 차이로는

 

atomic의 경우는 원자를 그냥 하나의 돌덩이? 라고 생각합니다

그저 위치만 지정해 주면 됩니다.

 

하지만 charge의 경우 원자가 전하도 가지고 있다고 생각합니다

그러므로 원자마다 위치와 전하도 지정해 주어야 합니다.

 

마찬가지로 bond면 각도와 길이, 위치 전부 알려줘야겠죠?

정확한 기재 정보는 메뉴얼에 보시면 나와있습니다.


마지막으로

read_data 입니다

 

읽는 그대로 data를 읽는 겁니다.

 

읽을 파일에는 위에서부터 순서대로

 

atom이 몇개인지

몇종류인지

어디에있는지

 

가 있어야 합니다

저도 처음에 어떻게 써야하는지 힘들었는데

 

꿀팁이 있다면!

자신이 만들고 싶은 분자 이름

예를들어 SiO2면

 

Sio2 material project라고 치면

이런식으로 결합 모양과 정보가 나오는데

밑에 file formats 누르고 poscar로 받은 후에 ovito로 실행시켜

export 파일로 lammps data file로 뽑아내면 data file이 만들어 집니다!


이제 순서대로 작성하면

 

units metal

boundary p p p

atom_style charge

read_data sio2.data

 

이렇게 하면 lammps에서 제대로 인식할겁니다.

여기까지가 원자 생성이구요!

 

다음 글로 시뮬레이션을 실행해 보겠습니다!

 

Lammps 기본 사용법 정리 2편 (MD 시뮬레이션)

안녕하세요! 1편에 이어서 돌아온 LAMMPS 2편입니다! 이번 시간에는 간단한 시뮬레이션을 돌려보고 자신이 돌리는 시뮬레이션을 직접 볼수 있는 프로그램을 소개해 드리겠습니다. 2편을 보기 전에

dalgon-game.tistory.com

 

반응형