자바스크립트를 활성화 해주세요

연구에 코딩 끼얹기1: 탄소나노튜브 구조 생성기 개발 일기 (1)

 ·   ·  ☕ 3 min read

무엇을 만들었나?

program_thumb
제가 만든 프로그램은 이렇게 NxM의 CNT 구조를 바습 포맷에 맞게 만들어 주는 프로그램입니다.

  • 탄소나노튜브(Carbon Nanotube, CNT)의 VASP POSCAR파일:
    텍스트 파일의 확장자를 .VASP으로 바꿔 줍니다. VESTA로 이 파일을 열면 탄소 나노튜브를 눈으로 직접 볼 수 있습니다.

honey
탄소나노튜브는 2차원 평면에 탄소가 육각형으로 배치된 그래핀을 원통으로 말아놓은 구조입니다. 위 원기둥 모양의 벌집과 비슷하게 생긴 구조입니다.
나노튜브 계산이 필요할 때 VASP에서 POSCAR로 바로 써먹을 수 있도록 링 주변에 진공을 포함했습니다.

무엇을 해결했나?

몇 가지 툴을 찾았지만 제가 불편하다고 느낀 건 크게 아래 네 가지가 있었습니다.

  • 형식 맞춰서 직접 만들려고 하니까 계산이 빡셈 → 그래서 계산하는 프로그램을 만듦

  • 그림만 다운받으면 끝인데 왜 프로그램을 깔으라고 하는데? → 그래서 웹으로 만듦

  • 받아보니까 왜 이렇게 쓰기 어려운건데? 설명서가 논문인가? → 그래서 입력 변수를 최소한으로 만들었음

  • 쓸려고 하니까 왜 이렇게 하라는 게 많은데? 터미널이 뭐임? → 그래서 입력 변수 몇개 없이 웹에서 돌아가는 프로그램을 만들었음

장점

부족한 점 있으나 앞에서 불편하다고 느낀 것을 해결했습니다.

무설치, 크로스 플랫폼 어플리케이션(?)

웹에서 돌아가는 JS로 작성된 프로그램이기 때문에 너무나 당연한거지만 설치가 필요 없습니다. 운영체제도 타지 않습니다.

진!짜! 쓰기 쉬움

CNTG_web_Capture
입력 변수가 별로 표시해 놓은 두 개가 끝입니다. 탄소 육각형 몇 개가 튜브를 만들지(N)만 정하고 클릭 몇 번이면 완성!

탄소-탄소 사이 거리를 바꾸고 싶다면 C-C Bond Length를 체크하고 1.42를 다른 숫자로 바꿉니다. 탄소를 B, N으로 바꾸면 2차원 BN 튜브도 만들 수 있습니다(이렇게 쓸 사람이 있긴 있을까?).

어떻게 쓸 수 있나?

웹사이트 바로가기:
https://suecreamm.github.io/cnt_generator/

Armchair, zigzag 구조 중 어떤 것인지, 원주를 따라 탄소 육각형이 몇 개나 배치되었는지(N)를 정하고 버튼을 누르면 vasp 형식에 맞게 쓰여진 원자 구조를 얻을 수 있습니다.
N이 5 - 8개라면 이미 만들어 놓은 파일이 있기 때문에.. 이곳에서 다운 받으면 됩니다. N이 5 - 8개가 아닐 때, 메모장(윈도우)이나 터미널(맥, 리눅스, …)을 열고 텍스트 파일을 하나 만듭니다. 내용을 붙여넣고 확장자를 .vasp으로 바꾸세요. VESTA라는 프로그램에 이 파일을 드래그&드랍하면 나노튜브구조를 3D로 볼 수 있습니다.

개발 배경 및 개발 기간

개발 배경

저는 맥을 쓰고 있는데 어떤 프로그램은 맥에서 못 쓰고, 또 어떤 것은 운영체제를 바꾸면 파일이 깨지는 경우도 많습니다. 그래서 웹에서 돌아가는 프로그램이 제일 편하다고 느껴서 자바스크립트 문법을 배워서 웹에서 바로 구조 파일이 생성되도록 만들어 봤습니다!

제가 만든 것보다 사람들이 더 잘 만든 프로그램은 아마도 있을 것입니다. 그런데 저는 python을 설치하고 터미널에 명령어를 치는 것이 진입 장벽이 있다고 생각했습니다. 구조 그림만 필요한 사람들이 굳이 파이썬 배우고 윈도우에서 PowerShell 띄우는 것도 불필요하다고 생각했습니다.

개발 기간

대략 1주일

레퍼런스 및 오픈 소스

  • 물질 원자 구조:
  • 계산식: 정의 보고 cylindrical coordinate에 올라가도록 손수 계산함
  • 프론트 디자인: https://html5up.net/solid-state
  • 프론트 기능 구현 및 js: 주로 주먹구구식으로 해결함(..)
    그 중에서 가장 많이 참고한 자료는 인프런 강의 ‘프론트엔드 개발 시 꼭 해봐야 하는 실무 예제 Part.1’
    신년 이벤트로 무료로 받은 강의라서 봄. 유료 강의는 절대 비추합니다.
공유하기

Suecream
글쓴이
Suecream
중요한 건 꺾여도 계속하는 마음