xylosper's notebook

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

글 검색 결과

Science
글 2개

파동을 나타내는 식

2009/10/19 01:26, 글쓴이 xylosper
고등학생 떄 살짝 물리 공부좀 많이 했다 하면 '파동 방정식'이라는 걸 들어보았을 것이다.
사실, 일반적으로 '파동 방정식'이라고 하면 다음과 같은 2계 편미분 방정식을 가리킨다.

\frac{\partial^2 }{\partial t^2} u(x,t)=c^2 \frac{\partial^2 }{\partial x^2}u(x,t)


고등학교의 파동에서는 파동방정식이란 이름으로 다음과 같은 식이 소개된다.

u(x,y)=A\sin(kx-\omega t +\phi)


이식은 그 위에 적은 파동방정식의 기본해이다.
이것이 해가 된다는 것은 직접 대입해보면 간단하게 확인 할 수 있지만, 진동을 사인파로 나타냈을 때, 그것을 평행 이동시킴으로써 간단히 이 식을 도출하는 것도 가능하다.

우선 t=0일 때, 각 위치 x에서의 진동의 변위가 다음과 같이 주어졌다고 하자.

u(x)=A\sin\left(\frac{2\pi}{\lambda}x+\phi\right)


여기서 \lambda는 파동의 파장을 나타내고, \phi는 초기위상을 나타낸다.
파동은 진동이 시간에 따라서 전파된다.
파동의 전파 속도를 v라고 하면, 시간이 t만큼 흘렀을 때 이 파동은 vt만큼 전파된다.
따라서, 시간t후의 파동은, 처음의 파동을 진행방향으로 vt만큼 평행이동시키면 된다.
만약 파동이 +x방향으로 전파된다면, vt만큼 평행이동 시킨 식은

u(x,t)=u(x-vt)=A\sin\left[\frac{2\pi}{\lambda}(x-vt)+\phi\right]


가 될 것이다.
이것으로 '고등학교의  파동방정식'이 유도되었다.
처음에 제시한 식과 비교하면 사인 안의 모양이 전혀 다르게 보인다.
모양을 같게 하는 건 단순히 몇가지 변수를 새로 넣기만 하면된다.
우선, 이 파동의 진동 주기를 T라고 하면, v=\lambda/T이므로,

u(x,t)=A\sin\left[\frac{2\pi}{\lambda}\left(x-\frac{\lambda}{T}t\right)+\phi\right]


라고 바꿔 쓸수 있다.
여기서, 다음 두가지 변수를 도입한다.

k=\frac{2\pi}{\lambda},\quad \omega=\frac{2\pi}{T}


식의 사인안의 괄호를 전개하여 위 두 변수를 대입하면

u(x,y)=A\sin(kx-\omega t +\phi)


라는, 원하던 식이 나오게 된다.

마지막에 도입한 두 변수는 각각 '파수(혹은 전파수)', '각진동수(혹은 각주파수)'라고 불리는 물리량이다.
사실 고등학교의 물리에서는 이 두 물리량이 가지는 의미는 그리 크지 않다.
그나마 각진동수정도는 원운동의 각속도와 연관지어 생각할 수 있지만, 파수는 특히나 1차원 문제에서는 별 의미가 없어서 보이고, 단순히 식을 간단하게 하기 위한 물리량으로 보일 것이다.
파수는 사실 파장보다 더 많은 정보를 포함하는 물리량으로, 대학물리를 배우게 되면 파수가 가지는 의미를 알게 될 것이다.
2009/10/19 01:26 2009/10/19 01:26

맨 위로

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

맨 위로