[수치해석] Numerical solution of ODE (6) Runge-Kutta method
·
수치해석 Numerical Analysis
1. Introduction Runge Kutta 방법(이하 RK 방법)은 explicit method 중에서 nonlinear에 적합하기 때문에 많이 쓰입니다. substep method라고 해서, RK방법은 한 타임스텝을 한 번에 계산하는 것이 아니라 여러 스텝으로 나눠서 진행하는 방법입니다. Advantage 1) Stability가 좋다 (일반 explicit method에 비해 stability 영역이 넓음) 2) time step size를 바꿔가면서 사용할 수 있다 (이 글에서는 균일한 간격을 사용하지만 달라도 가능하다) 3) self-starting (이후에 나오는 multistep method는 초기 조건만으로 시작할 수가 없지만 이 방법은 가능) RK방법도 2차, 3차, 4차 등 차수를..
[수치해석] Numerical solution of ODE (5) Predictor-Corrector Method
·
수치해석 Numerical Analysis
글에서 수치해석 방법을 줄여서 씁니다. EE : Explicit Euler IE : Implicit Euler TR : Trapezoidal method Explicit method가 implicit method 대신 쓰이는 이유 지금까지 Explicit Euler, Implicit Euler, Trapezoidal method를 살펴보았는데 trapezoidal method는 accuracy에서나, stability에서나 좋은 점이 많습니다. EE, IE 방법보다 정확도도 1차 높고 stability 영역도 exact solution과 동일합니다. 하지만 그럼에도 불구하고 Trapezoidal method를 쓰지 않고 Predictor-Corrector method(PC), 또는 Runge-Kutta ..
[수치해석] Numerical solution of ODE (4) Trapezoidal method (Crank-Nicolson)
·
수치해석 Numerical Analysis
(앞선 글부터 보면 알 수 있지만 문자를 표현할 때 아래 첨자는 공간 상의 좌표, 위 첨자는 시간 상의 좌표를 의미합니다.) trapezoidal 방법은 implict method 중 하나입니다. (즉, 미분할 때 다음 값($y^{n+1},t^{n+1}$)도 가져다 씀) 이 방법은 PDE에 쓰일 때 Crank-Nicolson method라고 합니다. $y^{'}=f(y,t)$ $\frac{y^{n+1}-y^{n}}{\Delta t}=\frac{1}{2}\left[f(y^{n},t^{n})+f(y^{n+1},t^{n+1})\right]$ implicit이면 stable 영역에서 항상 stable합니다. 위 방법의 장점은 accuracy가 globally 2nd order($\Delta t^{2}$)라는 점..
[항공우주] Lift coefficient와 Mach number/Pressure coefficient의 관계
·
항공우주 Aeronautical engineering
참고자료 : introduction to flight 1. Pressure coefficient Pressure coefficient의 정의는 다음과 같습니다. $C_{p} \equiv \frac{p-p_{\infty}}{q_{\infty}}=\frac{p-p_{\infty}}{\frac{1}{2}\rho_{\infty}V_{\infty}^{2}}$ $p_{\infty}$는 freestream pressure입니다. 이 압력 계수를 airfoil의 위치에 따른 분포로도 나타낼 수 있습니다. 이 그래프에서 윗부분(양의 값을 갖는 부분)은 airfoil의 upper surface, 아래 부분(음의 값을 갖는 부분)은 lower surface부분이라고 볼 수 있습니다. 압력 계수는 마하 수와 연관이 있습니다...
[항공우주] Lift, Drag, Moment 변화
·
항공우주 Aeronautical engineering
글에서 angle of attack을 받음각과 혼용해서 씁니다. 1. Lift, Drag, Moment 표현 lift, drag, moment에 영향을 주는 factor들을 나열해봅니다. freestream velocity $V_{\infty}$ altitude(→freestream density $\rho_{\infty}$) Angle of Attack(AoA, $\alpha$) Size of the aerodynamic surface(꼭 비행기에 국한하지 않더라도. 비행기라면 wing area $S$) airfoil의 형상 viscosity coefficient $\mu_{\infty}$ compressibility of the airflow(freestream Mach number $M_{\inft..
[항공우주] Airfoil 용어 정리
·
항공우주 Aeronautical engineering
참고자료 : John D. Anderson, Introduction to Flight, 3rd Edition Airfoil : 날개에 수직한 평면이 만드는 cross-sectional shape 이 airfoil에는 특징을 나타내는 용어가 많으므로 쭉 쓰도록 하겠습니다. mean camber line : airfoil의 surface의 위 아래의 중간점을 연결해서 만든 선을 (mean) camber line이라고 함 (위 그림에서 파란색 점선) leading edge : airfoil의 camber line에서 맨 앞에 위치한 점 trailing edge : airfoil의 camber line에서 맨 뒤에 위치한 점 chord line : leading edge와 trailing edge를 이은 직선 ..
항공우주공학 영어단어 : 어원과 관련지어 정리
·
항공우주 Aeronautical engineering
항공우주공학에서 영어단어가 비슷한 것들이 많아서 어원과 연관지어서 외운다. 어원 aero : 대기, 공기, 공중이라는 뜻 avi : 새(bird)라는 뜻 astro : 별(천체), 우주라는 뜻 이와 관련된 학문 단어 astronautics (애스트로노틱스) : 우주항행학 aeronautics (애로노틱스) : 항공학 avionics (에이비오닉스) : 항공 전자 공학 aerodynamics : 공기역학 aerospace (에어로스페이스) : 항공우주 산업 aviation (에이비에이션) : 항공술 시스템을 부르는 이름 aircraft airplane flight vehicle projectile copter (multicopter, helicopter..) spacecraft satellite Acron..
[수학] 미분/적분 기호의 순서를 바꿀 수 있는 근거
·
수학 Mathematics/미적분학 Calculus
공학 공부를 하다보면 식을 전개할 때 미분적분 기호의 순서를 바꾸는 경우가 왕왕 있다. 그런데 미적분학 내용이 가물가물하다보니 무슨 근거로 적분 기호 순서를 맘대로 바꾸는지 모르겠어서 이번 기회에 조금씩 정리를 하려고 한다. 대부분의 내용은 영문 wikipedia를 참고하였다. 더 엄밀하게 따지려면 수학전공책을 보고, 여기서는 바로 활용하기 좋게 간단히 적는다. 개념 integrand : 피적분함수 (적분의 대상이 되는 함수) iterated integral : $\int \left ( \int f(x,y) dx \right) dy$ iterated integral은 위 식을 예로 들면 y를 given이라고 생각하고 x에 대해서 적분한다. x라는 변수가 사라졌을 것이므로 y에 대해서도 적분한다. mult..
[인공지능] CUDA & cuDNN 설치하는 방법
·
연구 Research/인공지능 Artificial Intelligent
환경 : Windows 11설치버전 : cuDNN 8.2.2 / CUDA 11.4 이후 버전들은https://normal-engineer.tistory.com/356 [인공지능] Ubuntu 18.04에서 CUDA, CuDNN 설치이번에 리눅스 환경에서 CUDA, cuDNN을 설치하면서 있었던 시행착오를 기록하는 글이다. 기본적으로 Linux 환경에서 설치하는 방법은 매뉴얼에 잘 나와있어서 이 링크를 참고하면 되기는 하는데 디normal-engineer.tistory.comhttps://normal-engineer.tistory.com/483 확인    cudnn은 GPU로 인공지능을 돌릴 때 도와주는 라이브러리고CUDA는 GPU에서 수행하는 알고리즘을 C와 같은 프로그래밍으로 작성할 수 있도록 하는 프..
[C/C++] 포인터와 배열의 관계
·
프로그래밍 Programming
혼자 끄적이는 포인터와 배열에 대한 관계에 대한 글입니다. 정식된 내용은 책이나 다른 자료를 참고하세요. 1. 배열 이름은 무엇을 가리키는가? 정수 배열 int a[3]이 있을 때 a를 출력하면 a[0]을 가리키는 주소값으로 리턴한다. a는 a[0]에 대한 포인터처럼 사용되는 것이다. 2. 배열 이름은 포인터와 똑같은가? 그러면 배열 이름인 a와 포인터와 동일시해도 되는 것인지 의문이 든다. 하지만 배열 이름 a와 일반 포인터 int *p (p는 임의로 정한 것)와는 차이가 있다. 포인터를 ++연산자를 사용했을 때 포인터가 가리키는 타입이 차지하는 메모리 바이트만큼 포인터가 가리키는 주소값 + 메모리 바이트 수(int는 4바이트 등)로 리턴하는데 배열 이름 a는 a++처럼 사용해도 a 자체는 고정된 주소..