본문 바로가기

Physics21

N체 시뮬레이션 #include #include #include #include #include #include #include "point.h" typedef point Vector; typedef std::vector container; typedef std::vector mass; constexpr double G_const = 6.67430e-11; struct position { const mass &masses; position(const mass &masses) : masses(masses) { } void operator()(const container &p, container &dqdt) const { for (int l = 0; l < p.size(); ++l) { dqdt[l] = p[l] / mas.. 2021. 3. 4.
푸리에 해석 테일러 급수를 아는 사람들은 알겠지만, 어떤 임의의 함수는 멱급수 형태로 전개할 수 있다. 그럼 반대로 생각해보자 어떤 임의의 주기함수는 사인함수의 합으로 이루어질 수 있는가? 어떤 함수 $f(x)$를 $\frac{1}{2}a_0 + a_1\cos x+a_2 \cos 2x + a_3 \cos 3x ... + b_1\sin x+b_2 \sin 2x + b_3 \sin 3x ...$ 이렇게 주기함수의 합으로 나타낼 수 있다고 가정해보자 이런 식을 구하기 위해서는 한 주기에 대한 삼각함수의 평균값에 대해 알아야 한다. $\sin mx \cos nx$의 평균값은 $\frac{1}{2 \pi} \int_{-\pi}^{\pi} \sin mx \cos nx dx = 0$ $\sin mx \sin nx$의 평균값은 $.. 2021. 1. 29.
로켓방정식 이렇게 앞으로 나가면서 입자와 충돌해서 질량이 증가하는 물체가 있다고 하자. 충돌 전후의 운동량의 다음과 같다 $\triangle p = (m+\triangle m)(v+ \triangle v) - (mv+V\triangle m)$ $V = u-v$라고 하면 $\triangle p = m\triangle v+\triangle m\triangle v - V\triangle m$ 운동량의 변화량은 힘이므로 $F = \frac{\triangle p}{\triangle t} = (m+ \triangle M) \frac{\triangle v}{\triangle t} - V\frac{\triangle m}{\triangle t}$ 정리하면 $F = \dot p = m\dot v - V\dot m$ 가 가변질량 물체.. 2021. 1. 22.
라플라스 방정식 -직각좌표계 라플라스방정식의 전산적 풀이이런 형태의 편미분 방정식을 라플라스 방정식이라 한다. 이걸 전산적으로 푸는 법을 알아보자. 1차원 라플라스방정식 은 대충 이렇다 이걸 양변을 두 번 적분하면 y=ax+b라는 직선이 나온다. 이 2ellipsoid.tistory.com전에 라플라스 방정식을 전산적으로 푸는 방법을 소개했다. 오늘은 라플라스 방정식을 해석적으로 풀어보자라플라스 방정식을 모른다면 위의 글을 읽어보고 오자(코드 부분은 안봐도 된다.) 티스토리 앱이나 몇몇 브라우저에저에서 수식이 안 보일 수 있다. 댓글 부탁한다. 이런 경계조건($x = 0$의 전위가 $V_0$일 때)이 있다고 하자그럼$\triangledown^2V = 0$이런 식이 만족된다. 즉$\frac{\partial ^2V }{\partial .. 2021. 1. 22.
Kerbal Space Program으로 배우는 궤도역학 -궤도 경사각, 2입자 운동, 제한된 3입자 문제 궤도 경사각 궤도의 다른 조건은 유지하고 궤도 경사각만 바꾸고 싶다고 하면 위처럼 경사각을 바꾸기 전과 후의 속도 벡터의 크기는 동일할 것이므로 저렇게 이등변 삼각형을 만들 거다. 그럼 저 이등변 삼각형의 짧은 변의 길이(=델타 V)를 구하면 됨 그럼 저 짧은 변의 길이는 어떻게 구하냐면, 코사인 법칙을 이용하면 된다. (코사인 법칙: https://ko.wikipedia.org/wiki/%EC%BD%94%EC%82%AC%EC%9D%B8_%EB%B2%95%EC%B9%99) 계산해보면 v^2= 579.6^2+579.6^2-2*579.6*579.6*cos(22.5)=51143, v=226m/s 로 KSP에서 확인한 것과 정확히 일치함 속도벡터가 작을 때 궤도경사각을 바꾸면 이득이니까 궤도경사각은 Ap에서 바.. 2021. 1. 21.
Kerbal Space Program으로 배우는 궤도역학 -궤도 에너지 궤도 에너지방정식 극좌표계에서 속력은 이다(e_r은 ksp에서 radial out이고, e_theta는 ksp에서 prograde임) 참조: https://en.wikipedia.org/wiki/Polar_coordinate_system#Vector_calculus 속력의 제곱은 라고 할 수 있다 에너지 보존법칙 때문에 외부에서 힘이 가해지지 않는다면 운동 에너지와 위치 에너지를 합한 값은 일정하다 운동에너지=1/2mv^2 이고, 위치에너지= V(r) 이라 하면 전체 운동에너지는 항상 보존되고 식으로 나타내면 그런데 앞에서 케플러 1법칙 설명할 때 이라고 했으니까 이걸 잘 이용해서 식을 정리하면 이렇게 된다. 위의 중력 예시에서 위치에너지 함수 V(r)=-k/r (k=GMm)이라는 걸 이용해서 식을 정리.. 2021. 1. 21.
Kerbal Space Program으로 설명하는 궤도역학 -케플러 3 법칙 케플러 2 법칙: 면적 속도 일정 법칙 왜 2법칙부터 설명하냐면 2법칙부터 설명하는게 편하므로 각운동량이 L=rXp 이므로 각운동량을 시간에 대해 미분하면 이다. 그런데 p=mv니까 앞의 항의 v X p=v X v *m라고 쓸 수 있는데 v끼리 이루는 각은 0도니까 벡터곱은 0이 되므로 무시할 수 있다. 따라서 라고 쓸 수 있다. 그런데 r은 지구 중심-우주선 벡터고, 힘은 중심력(지구의 중력)인데 이 두 벡터는 평행하므로 값이 0이다. 뭔 뜻이냐면, 궤도를 그리는 우주선은 어디서나 일정한 각운동량을 가진다는 거다(미분값이 0이니까 각운동량은 상수) 이제 이게 면적하고 뭔 관계가 있냐를 증명할것이다. 각운동량 L=mrv인데 v를 r*θ의 시간에 대한 미분으로도 쓸 수 있으므로(호의 길이) 이렇게 쓸 수도.. 2021. 1. 21.
라플라스방정식의 전산적 풀이 이런 형태의 편미분 방정식을 라플라스 방정식이라 한다. 이걸 전산적으로 푸는 법을 알아보자. 1차원 라플라스방정식 은 대충 이렇다 이걸 양변을 두 번 적분하면 y=ax+b라는 직선이 나온다. 이 2계 상미분방정식은 경계조건(양끝점)을 알면 a와 b를 구할 수 있다. 또한 이 두 점 사이의 중간값도 아주 쉽게 구할 수 있을 것이다. 양 끝점의 평균값 말이다. 이걸로 알 수 있는 것은 라플라스방정식은 양 끝점을 알면 모든 값을 알 수 있다는 것이다. 2차원 라플라스방정식을 보자 이 방정식의 해는 고무막을 아주 조금 위로 당긴 것과 같은 해를 갖는다.(더 많이 당긴 건 막의 진동이라고 베셀 방정식쓰는 거 있다.) 그럼 여기서 특정 위치에서의 값은 어떻게 구하냐? 요렇게 구한다. 미적분학 모르는 사람들을 위해 .. 2021. 1. 16.
변분법 1학년때부터 가장 궁금해하던거라 여기다가 가장 먼저 적게 되었다. 출처는 Boas 수리물리학, Fowles 역학, 영어 위키피디아 정도이고 장작위키보다 쉽게 적는게 목표이다. 틀린 건 댓글로 부탁한다. +기본적인 미적분학은 아는 걸 전제로 쓴다. 해외여행을 가본 사람들은 알겠지만, 비행기를 탈 때 지도상의 직선경로가 아닌 이상한 경로로 가는 경우가 있다. 국경 문제도 있겠지만, 그것이 최단거리이기 때문이다. 1.오일러-라그랑주 방정식 유도 그럼 직선 y(x)에서 최단거리는 어떻게 구하는가? 다들 아주 잘 알다시피 이렇게 피타고라스법으로 구할 수 있다. 곡선은? 미분과 적분을 사용해보자 이제 평면에서의 최단거리는 쉽게 구할 수 있다. 위 식의 최솟값이 직선의 최단거리 방정식이다. 근데 곡선이나 그런 데서의.. 2021. 1. 15.