[Fortran] Diffusion
FORTRAN 은 컴퓨터 언어이다. 2016년 근래에는 가르쳐 주는 곳이 없을 정도로 사람들이 사용하지 않는다. 그러나, 가르쳐 주지 않아도 배워야 할 만큼 중요한 언어이다.
왜냐하면 이 언어는 가장 빠른 계산을 할 수 있는 언어이기 때문이다.
그런데 요즘 컴퓨터는 워낙 빨라서 계산은 다 빠르다. 게다가 알파고도 나왔으니.. 그렇다면 왜 배워야 하는 거지?
행렬의 처리가 쉽기 때문에?
Diffusion 과 같이 해석을 해야 하는 경우, 행렬 계산을 해야 하는데, 그런 경우에 행렬 계산을 직관적으로 할 수 있다. 그래서 이 부분을 공부해야 한다.
그래서 google 에서 FORTRAN diffusion 단어로 검색을 해 보았다.
그 중에서 "computation modeling of multicomponent diffusion ..." 문서를 읽고 있다. 영어 읽기가 귀찮다. 영어를 못해서 그런 것인지? 아니면 수학을 못해서 그런 것 인지 그것도 아니면 fortran 을 못해서 그런 것인지, 맹공부하자.
Diffusion Equation for Predicting Concentration Profiles
부분을 읽어보니, 좋은 내용이 적혀 있다. 1) Fick's raw 이런 말도 있고, 2) thin film 에 대해서 concentraion 이런 용어도 나온다. 대학교 다닐때 전부 유도했던 거 같은데, 유도 하려면 밤을 새워야 겠지. 이젠 수학 공식들도 기억이 나지 않고, .. 3) trigonometric solution 이란 단어도 나온다. 여기에서는 relaxation time 이란 단어도 나온다.
diffusion coefficient 는 일반적으로 constant 로 두고 계산하는데, 심지어 function of concentration 이라는 단어도 나온다.
이 때부터 수치해석적으로 계산 하는 것이 나온다.
그리고 multicomponent 에 대한 계산을 위해서 flux 라는 것을 설명하기 시작한다. flux 는 multi가 되어야 필요한 모양이군.
이 이후에 각 component 에 대한 diffusivity 를 계산하기 어려우니 effective diffusivity 를 도입하고, 이 diffusivity 를 간단화 하기 위해서 local equilibrium 과 long-range diffusion 이 없다고 가정하여 effective diffsuvity 를 간략화 한다.
그리고 나서 수치해석이 다시 나온다. finite-difference methods.
즉 계산하려고 하는 영역을 바둑판, mesh 로 쪼개고, 계산해야 하는 미분 방정식을 수치해석 할 수 있도록 근사식으로 수정한다.
그리고 이것을 수치해석을 계산한다.
Explicit forward-difference method(Euler Method)
Crank-nicolson method - 이게 자주 사용되는 안정화된 방법이다. -> 그럼 자세히 공부해야 겠네.
왜냐하면 이 언어는 가장 빠른 계산을 할 수 있는 언어이기 때문이다.
그런데 요즘 컴퓨터는 워낙 빨라서 계산은 다 빠르다. 게다가 알파고도 나왔으니.. 그렇다면 왜 배워야 하는 거지?
행렬의 처리가 쉽기 때문에?
Diffusion 과 같이 해석을 해야 하는 경우, 행렬 계산을 해야 하는데, 그런 경우에 행렬 계산을 직관적으로 할 수 있다. 그래서 이 부분을 공부해야 한다.
그래서 google 에서 FORTRAN diffusion 단어로 검색을 해 보았다.
그 중에서 "computation modeling of multicomponent diffusion ..." 문서를 읽고 있다. 영어 읽기가 귀찮다. 영어를 못해서 그런 것인지? 아니면 수학을 못해서 그런 것 인지 그것도 아니면 fortran 을 못해서 그런 것인지, 맹공부하자.
Diffusion Equation for Predicting Concentration Profiles
부분을 읽어보니, 좋은 내용이 적혀 있다. 1) Fick's raw 이런 말도 있고, 2) thin film 에 대해서 concentraion 이런 용어도 나온다. 대학교 다닐때 전부 유도했던 거 같은데, 유도 하려면 밤을 새워야 겠지. 이젠 수학 공식들도 기억이 나지 않고, .. 3) trigonometric solution 이란 단어도 나온다. 여기에서는 relaxation time 이란 단어도 나온다.
diffusion coefficient 는 일반적으로 constant 로 두고 계산하는데, 심지어 function of concentration 이라는 단어도 나온다.
이 때부터 수치해석적으로 계산 하는 것이 나온다.
그리고 multicomponent 에 대한 계산을 위해서 flux 라는 것을 설명하기 시작한다. flux 는 multi가 되어야 필요한 모양이군.
이 이후에 각 component 에 대한 diffusivity 를 계산하기 어려우니 effective diffusivity 를 도입하고, 이 diffusivity 를 간단화 하기 위해서 local equilibrium 과 long-range diffusion 이 없다고 가정하여 effective diffsuvity 를 간략화 한다.
그리고 나서 수치해석이 다시 나온다. finite-difference methods.
즉 계산하려고 하는 영역을 바둑판, mesh 로 쪼개고, 계산해야 하는 미분 방정식을 수치해석 할 수 있도록 근사식으로 수정한다.
그리고 이것을 수치해석을 계산한다.
Explicit forward-difference method(Euler Method)
Crank-nicolson method - 이게 자주 사용되는 안정화된 방법이다. -> 그럼 자세히 공부해야 겠네.
Comments
Post a Comment