A starting guide to became a Citizen Space Scientist - Part 1 (by Thomas Albin)

 

Space Science with Python. 도전적이고, 복잡하고 지루하게 들릴수도 있다. 내가 대학에 있는동안, 나는 다른 Space Science

에 관련된 분야에서 몇몇 경험들을 했다. 그 경험들은 Data Science와 Machine Learning 으로 이어졌다. 이 Part 1에서 나는 그 단체에서의 나의 경험과 지식을 나누려고 한다. (with all the developers, makers, students or passionate space and programming fans out there)

나는 초반에 수많은 details들을 제공할것이다. 나중에 우리가 좀더 익숙해지면 우리는 과학적 기술에 좀더 초점을 맞출 수 있을 것이다.

 

Prerequisites (사전지식)

이 튜토리얼을 따라오고 이해하기 위해 나는 Python의 기본 지식을 먼저 알고오길 추천한다.

우리는 Python3로 개발할 것이고, 나는 당신의 컴퓨터에 가상 환경을 설정해놓는 것을 추천한다. 

가상환경 까는법은 깃헙에 올라와있다. github.com/ThomasAlbin/SpaceScienceTutorial

 

ThomasAlbin/SpaceScienceTutorial

This repository is part of a "Space Science with Python" tutorial series. The corresponding articles that explain each part are available on Medium (https://medium.com/@thomas.albin). If ...

github.com

우주에 대한 지식은 몰라도 같이 알아가면 됨! (초월번역)

 

Python setup (여기서부턴 간단히 번역하겠숩니당..)

일단 먼저 여러 패키지들을 다운받을 가상환경을 설정해야함. 터미널을 열고 너가 가상환경 만들고싶은 곳에 들어가라! 

아래 명령어 치면서 가상환경을 만들어라(버전은 Python3이다). pythonenv는 가상환경의 이름을 말하는거임!

가상환경 만드는 명령어

이제 가상환경을 활성화 시킬 수 있을것임!

가상환경 활성화

Python 패키지 매니저 pip3으로 쉽게 파이썬 라이브러리를 다운받을 수 있음! 초보자들을 위해 자주(frequently) 사용할 SciPy 제품군을 설치하는 것을 추천한다! 거기에는 Jupyter도 포함된다.

아는 라이브러리도, 모르는 라이브러리도 있어서 다 알아봐왔다.

 

numpy : 

=============(2021.5.9)오류 고치는중=============

 

먼저 이 글을 쓰신 분은 Thomas Albin 이라는 것을 알립니다. 

towardsdatascience.com/space-science-with-python-asteroid-project-part-1-4fa8809f8bde

 

Space Science with Python — Asteroid Project (Part 1)

Part 21 of the tutorial series starts with a first science project: The detectability of so called Near-Earth Objects (NEOs).

towardsdatascience.com

1. Near-Earth Objects

2013 2월 15일의 일이다. 버스 크기의 소행성이 대기권에 진입해 지상에서 몇 km 상공에서 폭발하고 폭발하는 충격파가 발생해 러시아 첼랴빈스크에서 재산 피해가 발생하고 여러 명이 다쳤다.

왜 이런일이 일어났을까?? 글쎄... 우주 근방은 수천개 또는 수십만의 소위 군체로 이루어져있다.

이런 물체들은 잡다한 구조를 이루면서 우리 태양계의 다른 지역들에 위치하고있다. The Asteroid Main Belt, The Kuiper Belt,

The Oort Cloud 같은 것들을 이루면서.

우리는 이런 과학적 주제에 깊이 들어갈 필요가 없다. 그러나 하나의 특정한 클래스의 "Type"은 우리의 푸른 행성에 매우 위험

할 수 있다. 지구 근접물체, 줄여서 NEO다.

 

NEO는 꽤 심플하게 정의된다 : 근일점이 1.3AU 미만인 모든 물체. 그것이 끝이다.

(근일점-perihelion : 태양계의 천체가 태양에 가장 가까워지는 위치)

따라서 NEO는 지구에 꽤 가까에 접근하고, 몇몇은 우리의 궤도를 가로지르고, 그리고 몇몇은 만약 발견되어 catalogued 되지 않는다면,

지구의 대기에 접근할 수 있다. 만약 물체가 충분히 크다면, 첼랴빈스크에서처럼 충돌의 결과가 파괴적일 수 있다.

 

그러나 Space Agencies(우주기관), astronomers(천문학자들), 그리고 흔히 all-sky surveys 들은 이런 물체들을 감시한다.

그들은 알려지지 않은 Neo 후보들은 매일 밤 관찰을 통해 이러한 잠재적으로 위험한 물체에 대한 우리의 지식을 넓힌다.

Nasa as well as ESA provide nice public outreach information pages with all relevant information.

(Nasa, ESA에서 정보를 잘 알려준다는 의미..)

 

오늘(2020.9.18) 데이터베이스에는 23,662의 NEO가 존재한다.

매일, 더 많은 NEO들이 데이터베이스에 들어간다. 현재 평균적으로 우리는 매일밤 3개에서 5개의 새로운 물체를 밤하늘에서 찾는다.

위 그래프는 누적(cumulative) 발견 횟수 대 날짜로, 크기에 따라 3개의 그룹으로 나뉜다.(1km+/ 140m+,All)

당신이 볼 수 있는것처럼 킬로미터 크기의 물체는 고원에 도달한다. (plateau? 고원이 내가 아는 그 고원인가..) 

 

===일단 여기까지(2021.5.8)===

내가 고2,고3때 야심차게 준비했던 프로젝트인데, 입시에 쓰이지도 못하고 사라져서 여기 남겨볼란다

2년 전에 썼던 메모리 읽고쓰기 글이 인기가 많길래 혹시 나의 아이디어가 필요한 사람들을 위해 올려본다(내가 안까먹으려고도 있지만ㅎㅎ..)

 

보고서 제목 : 핵분열 분자반응 시뮬레이션

  1. 연구 계기

평소 핵물리학에 관심이 있어서  2학년 2학기 과학시간에 핵 물리학 발표를 진행하게 되었다. 핵 물리학의 내용 중 특히 질량결손우라늄의 연쇄반응 이 흥미로웠는데,  발표를 준비하면서  문득 연쇄반응이 일어나면서 질량결손으로 인해 확인되는 에너지의 물리량을 알고리즘 시뮬레이션 할 수 있는지 궁금해졌다. 핵분열의 연쇄반응과 비슷한 현상인 <프랙탈 알고리즘>을 연구하며 규칙적으로 늘어나는 에너지의 양을 수열로 나타낼 수 있음을 발견했고, 현재 프로젝트에 이르게 되었다.

 

   2. 핵분열의 원리

 

불안정한 원자핵의 핵분열 반응으로 분열될때의 에너지를 이용하는 것이 핵분열이다. 핵분열은 중성자를 원자핵에 추가시킴으로써 일어난다. 이 현상은 DT반응식으로 나타낼 수 있다.

 D+T → 4He+n  (D:중수소,T:삼중수소, (4)He:헬륨, n:중성자)

 

  1. 질량보존 법칙에 의해 반응 전과 반응 후의 질량 총합이 같다.

반응 전의 합계 = 391.975*1/10²⁷kg

반응 후의 합계 = 391.975*1/10²⁷kg

이므로 0.320*1/10²⁷kg의 질량이 부족하다.

한개당 질량 > 우라늄-235 : 390.300*1/10²⁷kg

                       이트륨-103 : 170.930*1/10²⁷kg

아이오딘-131 : 217.375*1/10²⁷kg

중성자 : 1.675*1/10²⁷kg

설명을 위한 사진, 책에 있는 사진, 다다 쇼 님이 그린거

   2. 질량과 에너지는 등가(아인슈타인의 특수상대성 이론)이고, 물리학은 질량 자체가 보존될 필요는 없고 에너지만 보존되면 되므로 부족한  0.320*1/10²⁷kg의 질량은 에너지로 바뀌었다는 결론이 도출된다. 

 

반응 전과 반응후의 양성자와 중성자의 질량수는 변하지 않음. 질량손의 원천은 양성자와 중성자를 붙여놓는 강력이다. 원자핵은 양성자와 중성자로 이루어져있는데 전기적으로는 플러스만 존재하므로 서로 밀어내려고 한다. 이 현상을 강력이 붙잡고 있는데 양성자와 중성자가 멀어지면 강력이 사라지고 순간 갇혀있던 퍼텐셜 에너지가 단숨에 운동에너지로 변환된다. 질량결손의 에너지는 전체의 0.8%에 불과하지만 이 수를 환산하면 엄청난 에너지가 된다.

 

   3. 에너지와 질량의 변환식은 E=mc2이다.(E:에너지,m:질량,C:빛의 속도)

 

이 식을 질량결손에 대입하면 우라늄-235의 원자 한개당 2.88*1/10¹¹J 이다.

우라늄-235 1kg이 70TJ을 생산한다. 휘발유 1kg을 연소하면 발열량이 40~50MJ이니 무려 100만배나 되는 에너지이다! (우라늄-235의 분열에는 다양한 패턴이 있으며, 이것을 평균으로 내면 80J)

 

    4. 핵분열의 연쇄반응 ex) 우라늄-235

 

 연쇄반응이란 이니시에이터 중성자(최초의 중성자원)와 핵분열 물질이 처음 핵분열을 하면 핵분열 물질이 분열하면서 중성자 두개가 방출되고, 다시 두개의 중성자가 각각 핵분열 물질과 반응하여 핵분열을 일으키는 과정이 끊임없이 반복되는 것이다.

 

     5. 수식 도출

우라늄-235는 평균 2.5개의 중성자를 방출한다.또한 1초에 0.0056의 비율로 핵분열을한다. 이 비율을 고려하여 계산해보았다.처음에 1초를 기준으로 계산하는 식을 도출하려고 했으나, 1초에 0.0056번으로 계산하는것이 비효율적이라고 생각하여 10000초를 기준으로 계산했다.

  5 . 적용

사용 언어 : Python

파이썬에서 e+158은 158승을 나타냄

  6. 느낀점

프로젝트를 시작할 때 추상적인 현상인 핵분열을 수식과 코드로 나타내는 것이 매우 어려울 거로 생각했지만 체계적으로 정리해 나갔더니 금세 등비수열의 형태가 보였다. 초반에는 프렉탈 알고리즘처럼 원자가 결합하여있는 형태를 참고하여 각도까지 같이 계산하고 싶었지만, 원자의 결합구조는 너무 심화한 내용이어서 참고하지 못한 것이 아쉽다.

책으로 읽을 때는 핵분열의 위력이 얼마나 강한지 현실적으로 와닿지 않았는데, 프로그램으로 도출된 결과값을 보며 핵분열이 효율적인 자원이라고 생각했다. 핵분열 후의 노심을 적절하게 처리하는 기술만 더 발전된다면 단언컨대 핵분열은 지구 온난화를 막는 열쇠가 될 수 있을 것이다.  과학 발표를 준비할 때 생긴 작은 물음표가 이렇게 핵분열 현상을 수치화 할 수 있는 프로그램으로 거듭난 것이 자랑스럽고 진로 희망인 계산 물리학자에 한 발짝 다가간 것 같아 기쁘다. 

 

  7. 참고 문헌

저자 : 차동우               저자 : 다다 쇼

 

+ Recent posts