Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
전산물리학:울프_군집_셈법_wolff_cluster_algorithm [2022/01/15 00:02] – jonghoon | 전산물리학:울프_군집_셈법_wolff_cluster_algorithm [2023/09/05 15:46] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
울프 군집 셈법(Wolff cluster algorithm) 혹은 울프 셈법(Wolff algorithm)은 이징 모형(Ising model)에서 온도 $T$가 $T\neq0$일 때, T에 따라 스핀을 뒤집는 셈법으로 군집 셈법(cluster algorithm) 중 하나이다. | 울프 군집 셈법(Wolff cluster algorithm) 혹은 울프 셈법(Wolff algorithm)은 이징 모형(Ising model)에서 온도 $T$가 $T\neq0$일 때, T에 따라 스핀을 뒤집는 셈법으로 군집 셈법(cluster algorithm) 중 하나이다. | ||
- | 온도 $T$가 주어져 있을 때 상호작용 세기를 $J=1$, 볼츠만 상수 $k_B = 1$로 가정하면 울프 군집 셈법은 다음과 같은 순서로 작동한다. | + | 온도 $T$가 주어져 있고 외부 자기장이 없는 경우에 |
- 먼저 입자 하나를 무작위로 고른다. | - 먼저 입자 하나를 무작위로 고른다. | ||
Line 7: | Line 7: | ||
- 1번에서 선택된 입자의 스핀을 뒤집고, 2번에서 찾은 입자들의 스핀을 $1-exp(-2/ | - 1번에서 선택된 입자의 스핀을 뒤집고, 2번에서 찾은 입자들의 스핀을 $1-exp(-2/ | ||
- 1번으로 돌아가서 2~3번을 반복한다. | - 1번으로 돌아가서 2~3번을 반복한다. | ||
+ | |||
+ | 결과적으로 아래와 같은 그림처럼 한 스텝에 입자들이 군집을 이뤄서 뒤집히게 된다. | ||
+ | |||
+ | {{ : | ||
다음은 울프 셈법으로 주기적 경계(periodic boundary)를 갖는 128$\times$128 크기의 정사각 격자(square latice)에서 단계(step)별 자화(magnetization)를 구하고 파일로 내보내는 C++코드이다. 초기 상태는 모두가 한 방향으로 정렬되어 있는 상태다. | 다음은 울프 셈법으로 주기적 경계(periodic boundary)를 갖는 128$\times$128 크기의 정사각 격자(square latice)에서 단계(step)별 자화(magnetization)를 구하고 파일로 내보내는 C++코드이다. 초기 상태는 모두가 한 방향으로 정렬되어 있는 상태다. | ||
- | <Code:C++> | + | <code:C++ | wolff.cpp> |
#include < | #include < | ||
#include < | #include < | ||
Line 118: | Line 122: | ||
m = abs(m); | m = abs(m); | ||
} | } | ||
- | </Code> | + | </code> |
======함께 보기====== | ======함께 보기====== | ||
[[물리: | [[물리: |