GSoC 2020: 블로그 5 - EinsteinPy에 켈 제로 지선 기능 추가

10366 단어 gsoc
공측지선 기능은 EinsteinPy에서 구현되었고 PR#527은 통합되었습니다.🎉🎉. 나는 지난 3주 동안 블로그가 없어서 사과했다.이곳에는 여러 차례의 검사와 격리, 그리고 그것이 필요로 하는 모든 코로나 상황이 있다.이로 인해 나는 꼬박 일주일을 포기했다.이 문제가 해결된 후에 나는 측지선 방정식에 대해 수치적분을 하는 계획을 포기해야만 했다. 왜냐하면 대량의 오차가 축적되었기 때문이다. 마치 내가 지난 블로그에서 토론한 것처럼.이 점에 대해 곤혹스러운 사실은 Mathematica는 여전히 오류 누적을 최소치로 유지할 수 있지만, Python은 자체 적응과 신안을 사용해도 전혀 할 수 없다는 것이다.그러나 신격식은 오차를 약 2개의 수량급으로 낮추었다. 이것은 하미턴 방법을 사용하게 했다. 이것은 요구해의 상미분 방정식의 수량을 증가시켰지만 단계를 1로 낮추었다.사실이 증명하듯이 크하미턴의 양은 분리할 수 있다(Carter, 1968a[1]). 이것은 실현을 더욱 간단하게 한다.이 블로그에서 나는 이런 방법을 토론할 것이다. 그것은 결국 정확한 측지선 계산을 초래했다.나는 또한 켈 & 시바즈child 클래스 0 (클래스 시간) 측지선의 그림 그리기 (그리고 멋진 애니메이션) 를 포함했다.

약간의 물리...


인력[2]의 33장에서 저자는 카드의 1968년 창의적인 논문을 논술했는데 제목은'클 인력장족의 전체적인 구조'로 좋은 결과를 제시했다. 그 중 하나는 클(초) 하미턴의 양을 유도하는 것으로 다음과 같이 쓸 수 있다(M단위 시스템에서).
G=c=M=1G=c=M=1G=c=M=1
):
H=−(a4(E2−2pr2)−8aELr−2r(pθ2(−2+r+pr2(−2+r)2r−E2r3)+a2(2L2)−2pθ2−4pr2(−2+r)r+E2r(2+3r))+(a2+(−2+r)r)(a2E2cos⁡2θ−2L2csc⁡θ2)4(a2)+(−2+r)r)(r2+a2cos⁡θ2))
\수학 {H}=-\분형 {(a^4(E^2-2p\ur^2)-8 a E L r-2r(p\theta^2(-2+r)+p\ur^2(-2+r)^2r-E^2r^3)+a^2(2 L^2-2p\theta^2-4p\ur^2(-2+r)r+(a^2+(-2+r)(a^2 E^2 cos 2\theta-2 L^2\cs\theta2)}{4(a^2 2+(-2+r)r)(r^2+a^2\cos\theta^2)}
H=−4(a2+(−2+r)r)(r2+a2cosθ2))(a4(E2−2pr2​)−8aELr−2r(pθ2​(−2+r+pr2​(−2+r)2r−E2r3)+a2(2L2)−2pθ2​−4pr2​(−2+r)r+E2r(2+3r))+(a2+(−2+r)r)(a2E2cos2θ−2L2cscθ2)​
어디
E=−ptE=-p\t E=−회사 명​
화목하다
L=pɕL=pɕφL=pɕ​
각각 입자의 에너지와 궤도 각동량을 측정한다.주의, 이 하미턴의 양은 일반 테스트 입자, 즉 질량일 수도 있고 무질량일 수도 있다.그리고 하미턴의 원리를 이용하여 운동의 동력학 방정식, 즉
dqidλ=∂H∂PIDλ=−∂H∂기운
\분형 {\mathrm{d}q\ui}{\mathrm{d}\lambda}=\frac{\partial\mathcal{H}}{\partial p\ui}\quad
\분형 {\mathrm{d}p\ui}{\mathrm{d}\lambda}=-\frac{\partial\mathcal{H}}{\partialq\ui}
dλdqi​​=∂원주율​∂H​dλdpi​​=−∂기운​∂H​
Mathematica에서 계산한 결과 해당 노트북과 Python 코드here에 액세스할 수 있습니다.

...아직 줄거리가 좀 있다


불행하게도, 이러한 1단계 ODE를 사용하더라도, Python의 오류 누적 문제는 아래 그림과 같다.이 결과는 개구리 점프 구해기를 통해 얻은 것으로 원칙적으로 오차 누적을 최소화해야 한다.
클류 제로 탈출
비록 비교적 짧은 통합 지속 시간에 대해서는 결과가 좋다.
클류 제로 포획
저의 지도교사와 토론한 후에 저는 다른 언어를 연구했습니다. 이것은 도움이 될 것입니다. 우리는 줄리아를 선택했습니다. 왜냐하면 우수한 DifferentialEquations.jl 세트가 있고 Python과 매우 가깝기 때문입니다.또 다른 관건은 DiffEqPhysics가 제공한 하미턴 문제 유형은 구해 시스템의 과정을 크게 간소화시켰다. 왜냐하면 정방향 모드의 자동 미분을 사용하여 하미턴 양의 편도수를 자동으로 계산하기 때문이다.하미턴 양의 분리성은 이곳에서 도움이 된다.이 모든 것을 감안하여 나는 줄리아와 voilá에서 하나의 모듈을 실현했는데 결과는 정확했다. 설령 이상한 측지선에 대해서도.
클류 제로 스냅(Plots.jl로 그리기)
클류 소용돌이(Plots.jl로 그리기)
이제 Julia 코드를 EinsteinPy와 통합하는 문제가 생겼기 때문에 PyJulia를 고려했습니다.그러나 그것은 installation on *nix systems 과 약간의 문제가 있다.그래서 나는 파이썬subprocess을 사용하여 자신의 포장기를 쓰기로 했다.제 GSoC 멘토 Shreyas의 도움으로 Julia 모듈과 Python 패키지를 현재 einsteinpy_geodesics 에 포장했습니다. 이것은 EinsteinPy의 추가 모듈입니다.

아인슈타인 / 아인슈타인 측지선


Kerr 시공족에서 지선을 측정하는 Julia 해산기에 사용되는 Python 패키지입니다.관리자:



이름:
아인슈타인 측지선
웹 사이트:
https://docs.geodesics.einsteinpy.org/en/latest/
버전:
0.2.dev0

EinsteinPy 측지선은 EinsteinPy의 추가 패키지로 줄리아의
우수DifferentialEquations.jl
키트,python 인터페이스를 제공하여 켈 & 슈바시 시공의 지선 측정
EinsteinPy는 발생하는 문제를 해결하는 데 전문적으로 사용되는 순수한 파이썬 패키지입니다.
광의 상대론과 인력 물리학에서
아인슈타인과 마찬가지로 아인슈타인 측지선은 마성이공대학 허가증에 따라 발표됐다.

문서



이 모듈의 전체 문서는 https://docs.geodesics.einsteinpy.org/en/latest/(제공: Read the Docs에 액세스하십시오.

요구 사항


EinsteinPy 측지선은 Python>=3.7, Julia>=1.5 및 다음 Julia 패키지가 필요합니다.

  • 줄리아
  • 미분 방정식.jl>=6.15
  • ODEInterfaceDiffEq.jl>=3.7
  • 설치


    먼저 Julia가 시스템에 설치되어 PATH에 추가되었는지 확인합니다.참조https://julialang.org/downloads/platform/
    플랫폼별 바이너리 파일과 설치 설명을 가져옵니다.insteinpy_측지선도 미분 방정식이 필요하다.jl 회사
    및 ODEInterfaceDiffeq.jl.다음과 같이 추가할 수 있습니다.
    $julia
    julia>Pkg 사용
    julia>소포.추가("미분 방정식")
    julia>소포.추가(ODEINterfaceDiffeq)
    마지막으로 insteinpy_측지선은...
    View on GitHub
    그 밖에 저는 측지선 드로잉 모듈을 철저하게 수정했고 StaticInteractive 모드(각각 사용matplotlibplotly에 3차원 애니메이션, 파라미터 드로잉과 2차원 드로잉에서 공간 좌표를 선택하는 지원을 추가했습니다.최종 API를 통해 생성된 그림을 아래에 보여 드리겠습니다.여기에 표시된 그림은 StaticInteractive 백엔드, 그리고 클래스 시간과 클래스 제로 측정 지선을 혼합했다.
    켈류 영측지선
    켈류 시측지선
    클 프레임 드래그
    Schwarzschild 진입
    클래스 Schwarzschild 시간 닫기 궤도
    클래스 Schwarzschild 시간 폐쇄 궤도 매개 변수 그림

    다음까지...


    EinsteinPy 측지선 API는 현재 옵션einsteinpy_geodesics 플러그인을 통해python 백엔드와julia 백엔드 사이의 해산기 선택을 제공합니다.나는python 백엔드를 개선하는 데 계속 노력할 것이지만, 현재einsteinpy_geodesics는 Kerr시공가족(Schwarzschild 포함)의 EinsteinPy에 정확하고 정확한 측지선 계산을 추가하였다.그 밖에 HamiltonianProblem 방법의 주의해야 할 점은 원칙적으로 클 뉴먼 측지선까지 쉽게 확장될 수 있다는 것이다. 이것은 내가 GSoC의 약속이 끝난 후에 즉시 탐색하고 싶은 것이다.나는 또 다른 단편 블로그가 있는데 API를 어떻게 사용하는지 설명했다. 이것은 아마도 마지막 GSoC 블로그일 것이다.그 전에, 나는 너희들에게 아주 좋은 애니메이션을 하나 남겼는데, 완전히 아인슈타인이 창작한 것이다.
    (극치)클류 시등 반경 궤도

    참고 문헌:


    [1]: 카드, 브랜던;Global Structure of the Kerr Family of Gravitational Fields, 1968년, 174(5), 1559-1571페이지
    [2]: Misner, Charles W.와 Thorne, K.S.와 Wheeler, J.A;인력, 1973, W.H.Freeman, ISBN: 978-0-7167-0344-0978-0-691-17779-3

    좋은 웹페이지 즐겨찾기