xylosper's notebook

검색 :
RSS 구독 : 글 / 댓글 / 트랙백 / 글+트랙백

2차원 Ising모델 시뮬레이터

2009/02/21 15:51, 글쓴이 xylosper
2차원 Ising모델을 메트로폴리스 알고리즘을 이용한 몬테카를로법으로 시뮬레이션해주는 프로그램입니다.

이번 방학에 연구실 인턴쉽 과제로 '상전이 시뮬레이션'을 받아서, 선생님이 준 자료를 일단 공부해보고, 3월부터 본격적으로 시작하자는 취지였는데, 그냥 심심하고 할일도 없어서 만들어 버렸습니다.

나중에 선생님께 보여드렸을 때, '이게 아니야~'라는 반응이 나오지 않을까 좀 걱정됩니다만...

아무튼 모처럼 만들었으니 공개해봅니다.

1. 온도(J/kT)에 따른 2차원 격자의 상태 시각화 및 스냅샷 기능
2. 온도(1/kT)에 따른 장거리 질서도(평균자화의 절대값), 자화율, 내부 에너지, 비열의 변화 플롯 및 파일 출력 기능
상태 시각화 이미지

격자 상태의 시각화

그래프

각종 상태값의 그래프

이상의 것이 가능합니다. 처음엔 자기장도 고려해서짜볼려고 했는데, 인터페이스도 번잡해지고, 자기장이 들어간다고해서 뭔가 재미있는 결과가 보이지도 않길래 그냥 자기장은 0으로 고정시켜버리고 짰습니다.

참고로 단순히 수치연산을 한게 아니라, 확률적으로 시뮬레이션 한 것이기 때문에 매끄러운 그래프가 나오진 않습니다.

마지막으로 라이센스는 GPL을 따르므로 수정 및 재배포시 소스공개의 의무가 있다는 점 이외에는 자유롭게 이용가능하며, 당연합니다만, 시뮬레이션 결과에 대해서는 어떠한 보장도 하지 않습니다.

다운로드 파일에는 소스코드 및 윈도우용 바이너리가 포함되어있고, Qt를 이용할수 있는 대부분의 플랫폼에서 빌드할 수있습니다(상황에 따라서 ising.pro파일의 INCLUDEPATH 및 LIBS 옵션을 바꿔주세요).
컴파일하기 위해서는 Qt4.4이상 및 Qwt5이상이 필요합니다.

ising.tar.gz

tar.gz 압축 파일

ising.zip

zip 압축 파일


2009/02/21 15:51 2009/02/21 15:51

맨 위로