Table of contents
  1. 2.4 Schwarzschild-Milne Equations
  2. Appendix: Exponential Integral
    1. 漸化式
    2. 近似式
    3. グラフ図示

2.4 Schwarzschild-Milne Equations

Mean intensity Jνの定義式(2.12)に深さ無限大のPlane-parallel atmosphereに対するformal solution (2.19), (2.20)式を用いると

(2.36)Jν(τν)=12{01dμτνSν(t)etτνμdtμ+10dμ0τνSν(t)etτνμdtμ}

のように表されます。μ,tの積分順序を交換し、w=±1/μという変数変換を行うと

Jν(τν)=12{τνdtSν(t)1ew(tτν)dww+0τνSν(t)1ew(τνt)dww}(2.37)=120dtSν(t)1ew|tτν|w1dw

のように変形されます。wについての積分の部分は、第1 Exponential integralと呼ばれる積分です。その一般形は

(2.38)En(x)1tnextdt=xn1xtnetdt

のように表されます。E1を用いると、(2.37)式は

(2.39)Jν(τν)=120Sν(t)E1(|tτν|)dt

のように表現されます。この式はK. Schwarzschild によって最初に導出されました。Source function Sνに(2.14)式を用いると、上式は

Jν(τν)120σνκν+σνJν(t)E1(|tτν|)dt=120κνκν+σνBν(t)E1(|tτν|)dt

のように表されます。これは散乱σνが無視できないときは、Jν(τν)を得るためには積分方程式を解く必要があることを示しています。

同様にしてFν(τν),Kν(τν)を求めてみましょう。

Fν(τν)=4πμIν(θ,τν)dΩ=2π(01μI+dμ+10μIdμ)=2π{01dμμτνdtSν(t)μetτνμ+10dμμ0τνdtSν(t)μeτνtμ}=2π{τνdtSν(t)01dμetτνμ+0τνdtSν(t)10dμeτνtμ(1)}

w=1/μとおくとdμ=dw/w2より

01dμetτνμ=1dw(1w2)e(tτν)w=1dwe(tτν)ww2

同様にw=1/μとおくとdμ=dw/w2より

10dμeτνtμ(1)=1dw1w2e(τνt)w(1)

第1 Exponential integral (2.38)を用いると

(2.40)Fν(τν)=2π{τνdtSν(t)E2(tτν)0τνdtSν(t)E2(τνt)}

同じようにして、Kν(τν)を求めてみましょう。

Kν(τν)=14π4πμ2Iν(θ,τν)dΩ=12(01dμμ2Iν++10dμμ2Iν)=12{01dμμ2τνdtSν(t)μetτνμ+10dμμ20τνdtSν(t)μeτνtμ}=12{τνdtSν(t)01dμμetτνμ+0τνdtSν(t)10dμμeτνtμ(1)}

Fν(τν)を求めるときと同様にw=±1/μの変数変換を施して

Kν(τν)=12{τνdtSν(t)1dwe(tτν)ww3+0τνdtSν(t)1dwe(τνt)ww3}

ここで

0dtSν(t)e|tτν|w=0τνdtSν(t)e(τνt)w+τνdtSν(t)e(tτν)w

より

(2.41)Kν(τν)=120dtSν(t)1dwe|tτν|ww3=120dtSν(t)E3(|tτν|)

(2.40), (2.41)式はMilneによって導出されました。

Appendix: Exponential Integral

漸化式

Exponential Integralが満たす漸化式を導出しましょう。

(A.1)dEndx=1dttnddx(ext)=1dttn(t)ext=1dtt(n1)ext=En1(x)

n>1のとき

En(x)=1dttnext=[1n+1tn+1ext]111n+1tn+1(x)ext(A.2)=(1n+1ex)xn11dtt(n1)ext=1n1(exxEn1(x))

近似式

(A.2)式より

nEn+1(x)=exxEn(x)  En(x)=exxnxEn+1(x)=exxnx[exxn+1xEn+2]=

よって、x1のとき

(A.3)En(x)exx

となります。

グラフ図示

以下に Exponential Integral を図示したものと、それを計算するPythonスクリプトを示します。

Exponential Integralの例

#!/usr/bin/env python3 

import numpy as np
import matplotlib.pyplot as plt
import scipy.special as sc

if __name__ == '__main__':
    # set variables
    ix = 100
    xmin = 0.0
    xmax = 3.0
    nmin = 1
    nmax = 5
    # set x coordinate
    x = np.linspace(xmin, xmax, ix)
    # main loop of plotting Laguerre polynomial
    for n in range(nmin, nmax):
        ei = sc.expn(n, x)
        string = "n={}".format(n)
        plt.plot(x, ei, label=string)
        plt.legend()
    # make plot window
    plt.show()


Copyright © github-nakasho