검색어 입력폼

[C언어] 2차원 조화진동자 구현 (4차 Runge-Kutta 방법)

저작시기 2007.04 |등록일 2007.06.02 | 최종수정일 2014.08.09 한글파일한글 (hwp) | 11페이지 | 가격 2,000원

소개글

이차원 조화진동자(harmonic oscillator)를 C언어로 구현해 위치 및 시간 곡선(리사주 도형)과 각운동량 변화를 살펴 본 예제입니다. 계산에 4차 Runge-Kutta 방법을 이용했고, 파일로 출력한 결과를 엑셀에서 불러 도표로 출력했습니다.


(컴파일 환경 : Microsoft Visual C++)

목차

(1) 2차원 어울떨개 개요
(2) 프로그램
(3) 2차원 어울떨개 예

본문내용

(1) 2차원 어울떨개 개요

감쇠하지 않는 경우를 생각한다. 2차원 어울떨개의 포텐셜은



로 주어지고, 가속도는 다음처럼 구할 수 있다.



이 때 위치와 속도 해는




로 나타낼 수 있다. 일 때의 초기값으로 x와 y의 위상차()를 조절한다.

다음 프로그램을 이용한 예제에서는 일 때의 위치 및 시간 곡선(리사주 도형)을 그리고, 값의 변화에 따른 각운동량 변화를 살폈다. 이 때, 회전 주기 이다. 계산 과정에 4차 Runge-Kutta식을 이용했고, 결과값을 엑셀로 불러 도표를 그렸다.

(2) 프로그램 (컴파일 환경 : Microsoft Visual C++)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define dt 0.02 // 출력 시간 간격
#define t_final 300 // 최종 시간
#define pi 3.14159265

#define A_x(x,y) (-pow(omega,2)*x-kappa/m*y) // x방향 가속도
#define A_y(x,y) (-pow(omega,2)*y-kappa/m*x) // y방향 가속도
다운로드 맨위로