9. Dynamo Theory
9. Dynamo Theory¶
ํ์ต ๋ชฉํ¶
์ด ๋ ์จ์ ๋ง์น๋ฉด ๋ค์์ ํ ์ ์์ด์ผ ํฉ๋๋ค:
- ๊ธฐ๋ณธ์ ์ธ dynamo ๋ฌธ์ ์ ํ์ฑ ๋ฐ ๋ณ๋ค์ด ์๊ธฐ์ฅ์ ์ ์งํ๊ธฐ ์ํด dynamo ๋ฉ์ปค๋์ฆ์ด ํ์ํ ์ด์ ์ค๋ช ํ๊ธฐ
- MHD ๊ทผ์ฌ์์ ์๊ธฐ ์ ๋ ๋ฐฉ์ ์ ์ ๋ํ๊ณ ํด์ํ๊ธฐ
- Anti-dynamo ์ ๋ฆฌ(Cowling, Zeldovich)์ dynamo ์๊ตฌ์ฌํญ์ ๋ํ ํจ์ ์ดํดํ๊ธฐ
- Stretch-twist-fold ๋ฉ์ปค๋์ฆ์ ํฌํจํ kinematic dynamo ๋ชจ๋ธ ๋ถ์ํ๊ธฐ
- ํ๊ท ์ฅ ์ด๋ก ์ ์ ์ฉํ์ฌ ๋๊ท๋ชจ dynamo ์์ฉ(ฮฑ-ํจ๊ณผ, ฮฒ-ํจ๊ณผ, ฮฑ-ฮฉ dynamos) ์ดํดํ๊ธฐ
- Kinematic๊ณผ dynamical dynamo ์์ญ ๊ตฌ๋ณํ๊ณ ํฌํ ๋ฉ์ปค๋์ฆ ์ดํดํ๊ธฐ
- ๊ฐ๋จํ dynamos์ ์์น ๋ชจ๋ธ ๊ตฌํํ๊ณ ์ฑ์ฅ๋ฅ ๋ถ์ํ๊ธฐ
1. Dynamo ๋ฌธ์ ¶
1.1 ์ Dynamos๊ฐ ํ์ํ๊ฐ?¶
์ง๊ตฌ, ํ์, ๊ทธ๋ฆฌ๊ณ ๋ง์ ๋ค๋ฅธ ์ฒ์ฒด ๋ฌผ์ฒด๋ค์ ์์ญ์ต ๋ ๋์ ์ง์๋ ๋๊ท๋ชจ ์๊ธฐ์ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๊ฒ์ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํฉ๋๋ค:
์์ ๋ถ๊ดด ๋ฌธ์ :
์์ฑ ๋ฉ์ปค๋์ฆ์ด ์๋ ๊ฒฝ์ฐ, ์ ๋์ฑ ์ ์ฒด์ ์๊ธฐ์ฅ์ ์ ํญ ์๊ฐ ์ฒ๋์์ ๋ถ๊ดดํฉ๋๋ค:
ฯ_ฮท = Lยฒ/ฮท
์ฌ๊ธฐ์:
- L์ ํน์ฑ ๊ธธ์ด ์ฒ๋
- ฮท = 1/(ฮผโฯ)๋ ์๊ธฐ ํ์ฐ๋
- ฯ๋ ์ ๊ธฐ ์ ๋๋
์ง๊ตฌ ํต์ ๊ฒฝ์ฐ:
- L ~ 10โถ m
- ฮท ~ 1-2 mยฒ/s
- ฯ_ฮท ~ 10โด - 10โต years
์ด๊ฒ์ ์ง๊ตฌ์ ๋์ด(~45์ต ๋ )๋ณด๋ค ํจ์ฌ ์งง์ง๋ง, ์ง๊ตฌ ์๊ธฐ์ฅ์ ์ต์ 35์ต ๋ ๋์ ์กด์ฌํ์ต๋๋ค(๊ณ ์ง์๊ธฐ ์ฆ๊ฑฐ๋ก๋ถํฐ). ๋ฐ๋ผ์, ๋ฅ๋์ ์ธ ์์ฑ ๋ฉ์ปค๋์ฆ์ด ์์ด์ผ ํฉ๋๋ค.
์ ์: Dynamo๋ ์ ๋์ฑ ์ ์ฒด์ ์ด๋ ์๋์ง๋ฅผ ์๊ธฐ ์๋์ง๋ก ๋ณํํ์ฌ ์ ํญ ์์ฐ์ ๋ํญํ์ฌ ์๊ธฐ์ฅ์ ์ ์งํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
1.2 ์๊ธฐ ์ ๋ ๋ฐฉ์ ์¶
์ด๋ํ๋ ์ ๋์ฑ ์ ์ฒด์์ ์๊ธฐ์ฅ์ ์งํ๋ ์๊ธฐ ์ ๋ ๋ฐฉ์ ์์ ์ํด ์ง๋ฐฐ๋๋ฉฐ, MHD ๊ทผ์ฌ์์ Maxwell ๋ฐฉ์ ์๊ณผ Ohm์ ๋ฒ์น์ผ๋ก๋ถํฐ ์ ๋๋ฉ๋๋ค:
โB/โt = โ ร (v ร B) + ฮทโยฒB
์ฑ๋ถ ํํ:
โB_i/โt + v_j โB_i/โx_j = B_j โv_i/โx_j + ฮท โยฒB_i/โx_jโx_j
๋ฌผ๋ฆฌ์ ํด์:
- ์ด๋ฅ ํญ
vยทโB: ์๊ธฐ์ฅ์ด ์ ์ฒด์ ๋๊ฒฐ๋์ด ์ด๋ฐ๋จ - ์ฐ์ ํญ
Bยทโv: ์๊ธฐ๋ ฅ์ ์ด ์๋ ๊ตฌ๋ฐฐ(์ ๋จ, ๋ณํ๋ฅ )์ ์ํด ์ฐ์ ๋จ - ํ์ฐ ํญ
ฮทโยฒB: ์ ํญ ์์ฐ
์ด๋ฅ/์ฐ์ ๋ ํ์ฐ์ ์๋์ ์ค์์ฑ์ ์๊ธฐ Reynolds ์๋ก ์ธก์ ๋ฉ๋๋ค:
Rm = UL/ฮท
์ฌ๊ธฐ์:
- U๋ ํน์ฑ ์๋
- L์ ํน์ฑ ๊ธธ์ด ์ฒ๋
Dynamo ์์ญ:
- Rm โช 1: ํ์ฐ ์ง๋ฐฐ, ์๊ธฐ์ฅ ๋ถ๊ดด
- Rm โซ 1: ์ด๋ฅ ์ง๋ฐฐ, dynamo ์์ฉ ๊ฐ๋ฅ
- ์ผ๋ฐ์ ์ผ๋ก, Rm_critical ~ O(10) dynamo ์์
1.3 ์๋์ง ๊ณ ๋ ค์ฌํญ¶
์๊ธฐ ์๋์ง ์งํ๋:
dE_B/dt = โซ Bยท(โร(vรB)) dV - โซ ฮท Jยฒ dV
์ฌ๊ธฐ์: - ์ฒซ ๋ฒ์งธ ํญ: ์ ์ฒด ์ด๋์ ์ํ ์ผ(์์ ๊ฐ๋ฅ โ ์ฆํญ) - ๋ ๋ฒ์งธ ํญ: Ohmic ์์ฐ(ํญ์ ์์)
์ง์์ ์ธ dynamo์ ๊ฒฝ์ฐ:
โซ Bยท(โร(vรB)) dV โฅ โซ ฮท Jยฒ dV
Dynamo๋ ์ ํญ ์์ค์ ๊ทน๋ณตํ๊ธฐ์ ์ถฉ๋ถํ ๋น์จ๋ก ์ด๋ ์๋์ง๋ฅผ ์๊ธฐ ์๋์ง๋ก ๋ณํํฉ๋๋ค.
2. Anti-Dynamo ์ ๋ฆฌ¶
Dynamos๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๊ธฐ ์ ์, ๋ฌด์์ด ์๋ํ ์ ์๋์ง ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. Anti-dynamo ์ ๋ฆฌ๋ dynamo ๋ฉ์ปค๋์ฆ์ ๊ทผ๋ณธ์ ์ธ ์ ์ฝ์ ๊ฐํฉ๋๋ค.
2.1 Cowling์ ์ ๋ฆฌ (1934)¶
์ง์ : ์ถ๋์นญ ์๊ธฐ์ฅ(์ํต ๋๋ ๊ตฌ ์ขํ์์ ๋ฐฉ์๊ฐ ฯ์ ๋ฌด๊ด)์ dynamo ์์ฉ์ ์ํด ์ ์ง๋ ์ ์์ต๋๋ค.
์ฆ๋ช ์ค์ผ์น (์ํต ์ขํ):
์ถ๋์นญ ์ฅ์ ๊ฒฝ์ฐ:
B = B_r(r,z,t) e_r + B_ฯ(r,z,t) e_ฯ + B_z(r,z,t) e_z
ํ์ ์ฑ๋ถ B_ฯ๋ ๋ค์์ ๋ง์กฑํฉ๋๋ค:
โB_ฯ/โt = r(Bยทโ)(v_ฯ/r) + (1/r)โ(rB_r)/โr v_ฯ + โB_z/โz v_ฯ + ฮท(โยฒB_ฯ - B_ฯ/rยฒ)
B_ฯ = 0์ธ ์ค๋ฆฝ์ ์ ๊ฒฝ์ฐ, ์ฐ๋ณ๋ ๊ทธ๊ณณ์์ ์ฌ๋ผ์ ธ์ผ ํฉ๋๋ค. ์ด ์ค๋ฆฝ์ ์ ๋ฐ๋ผ โB_ฯ/โt = 0์ด๋ฏ๋ก, ์ฅ์ ์ด๋ฅผ ํต๊ณผํ์ฌ ์ฑ์ฅํ ์ ์์ต๋๋ค. ์ฐ์์ฑ์ ์ํด, ํ๋ฉด์์ ์ด๊ธฐ์ B_ฯ = 0์ด๋ฉด, 0์ผ๋ก ์ ์ง๋ฉ๋๋ค โ dynamo ์์.
ํจ์: ์๊ธฐ์ฅ์ ๋น์ถ๋์นญ ์ฑ๋ถ์ ๊ฐ์ ธ์ผ ํ๋ฉฐ, ํ๊ท ์ฅ์ด ์ถ๋์นญ์ด๋๋ผ๋(์: ์ง๊ตฌ์ ์๊ทน์ ์ง๋ฐฐ ์ฅ์ ์๊ฐ ํ๊ท ๋ ๋น์ถ๋์นญ ๋ณ๋์ผ๋ก๋ถํฐ ๋ฐ์).
2.2 Zeldovich์ ์ ๋ฆฌ (1956)¶
์ง์ : ์์ํ๊ฒ 2์ฐจ์ ํ๋ฆ(์๋์ ์ฅ์ด ํ ์ขํ, ์๋ฅผ ๋ค์ด z์ ๋ฌด๊ด)์ dynamo๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์ฆ๋ช ์ค์ผ์น:
2D์์, ๋ชจ๋ ์ฅ์ ๊ณผ ์ ์ ์ ํํํ ํ๋ฉด์ ๋์ ๋๋ค. x-y ํ๋ฉด์ ์๊ธฐ๋ ฅ์ ์ ๊ณ ๋ คํ์ญ์์ค. ์ ๋ ๋ฐฉ์ ์์ ๋ค์๊ณผ ๊ฐ์ด ๋ฉ๋๋ค:
โB/โt = โ ร (v ร B) + ฮทโยฒB
v = v(x,y,t) ๋ฐ B = B(x,y,t)์ ํจ๊ป. ์ฅ์ ๋ค์๊ณผ ๊ฐ์ด ์ธ ์ ์์ต๋๋ค:
B = โ ร (ฯ(x,y,t) e_z) (B_z = 0์ ๊ฒฝ์ฐ)
๋๋ z ์ฑ๋ถ๊ณผ ํจ๊ป:
B = B_z(x,y,t) e_z + โ ร (ฯ(x,y,t) e_z)
๊ทน์ฑ ๋ถ๋ถ(ฯ)์ ๊ฒฝ์ฐ, ์ ๋ ๋ฐฉ์ ์์ ๋ค์์ ์ ๊ณตํฉ๋๋ค:
โฯ/โt = vยทโฯ + ฮทโยฒฯ
์ด๊ฒ์ ์์ค ํญ์ด ์๋ ์์ ์ด๋ฅ-ํ์ฐ ๋ฐฉ์ ์์ ๋๋ค โ ฯ๋ ๋ถ๊ดดํฉ๋๋ค. z ์ฑ๋ถ์ ์ฐ์ ๋ ์ ์์ง๋ง ์ฌ์์ฑ๋์ง ์์ต๋๋ค.
ํจ์: Dynamo ์์ฉ์ ์ํด์๋ 3์ฐจ์ ํ๋ฆ์ด ํ์ํฉ๋๋ค.
2.3 ์ ์ฝ ์์ฝ¶
Anti-dynamo ์ ๋ฆฌ๋ก๋ถํฐ:
- 3D ํ๋ฆ ํ์: ์ ์ด๋ ํ๋์ ์ฑ๋ถ์ด ์ธ ๋ฐฉํฅ ๋ชจ๋์์ ๋ณํด์ผ ํจ
- ๋น์ถ๋์นญ ์ฑ๋ถ ํ์: ํ๊ท ์ฅ์ด ์ถ๋์นญ์ด๋๋ผ๋
- ์ถฉ๋ถํ ๋ณต์ก์ฑ ํ์: ๋จ์ํ ํ๋ฆ(์: ๊ท ์ผ ํ์ )์ dynamo๊ฐ ๋ ์ ์์
์ด๋ฌํ ์ ๋ฆฌ๋ dynamo ๋ฉ์ปค๋์ฆ์ ํ์์ ์๋ดํฉ๋๋ค: helicity, ์ฐจ๋ฑ ํ์ , ๋๋ ๋๋ฅ ๋๋ฅ๋ฅผ ๊ฐ์ง ํ๋ฆ์ด ํ์ํฉ๋๋ค.
3. Kinematic Dynamo ์ด๋ก ¶
3.1 Kinematic ๊ทผ์ฌ¶
Kinematic dynamo ์ด๋ก ์์, ์๋์ฅ v(x,t)๋ ์ฃผ์ด์ง ๊ฒ(prescribed)์ด๊ณ , ์ ๋ ๋ฐฉ์ ์์ ์๊ธฐ์ฅ ์งํ์ ๋ํด ํ๋ฉฐ, ํ๋ฆ์ ๋ํ Lorentz ํ ์ญ๋ฐ์์ ๋ฌด์ํฉ๋๋ค.
โB/โt = โ ร (v ร B) + ฮทโยฒB (v๋ ์ฃผ์ด์ง)
์ด๊ฒ์ ๋ค์์ ๊ฒฝ์ฐ ์ ํจํฉ๋๋ค:
Bยฒ / (ฮผโฯvยฒ) โช 1
์ฆ, ์๊ธฐ ์๋์ง โช ์ด๋ ์๋์ง.
๊ณ ์ ๊ฐ ๋ฌธ์ :
๋ค์ ํํ์ ํด๋ฅผ ๊ฐ์ ํฉ๋๋ค:
B(x,t) = b(x) exp(ฮณt)
์ฌ๊ธฐ์ ฮณ๋ ์ฑ์ฅ๋ฅ (์ผ๋ฐ์ ์ผ๋ก ๋ณต์์)์
๋๋ค. ๋์
ํ๋ฉด:
ฮณ b = โ ร (v ร b) + ฮทโยฒb
์ด๊ฒ์ ๊ณ ์ ๊ฐ ๋ฌธ์ ์
๋๋ค:
- ์ด๋ค ๊ณ ์ ๋ชจ๋์ ๋ํด Re(ฮณ) > 0์ด๋ฉด: dynamo ์์ฉ (์ฅ ์ฑ์ฅ)
- ๋ชจ๋ ๋ชจ๋์ ๋ํด Re(ฮณ) < 0์ด๋ฉด: ์ฅ ๋ถ๊ดด
3.2 Stretch-Twist-Fold ๋ฉ์ปค๋์ฆ¶
Kinematic dynamo ์์ฉ์ ์ผ๋ฐ์ ๋ฉ์ปค๋์ฆ:
1. ์ฐ์ : ์๋ ์ ๋จ์ด ์๊ธฐ๋ ฅ์ ์ ์ฐ์ ์์ผ ์ฅ ๊ฐ๋๋ฅผ ์ฆ๊ฐ์ํด(๋๊ฒฐ ์ ๋ฆฌ: B/ฯ๋ ์ฐ์ ๊ณผ ํจ๊ป ์ฆ๊ฐ).
2. ๋นํ๊ธฐ: ๋์ ํ ๋๋ ํ์ ํ๋ฆ์ด ์ฅ์ ์ ๋นํ์ด ๊ทน์ฑ โ ํ์ ์ฑ๋ถ์ ๋ณํ.
3. ์ ๊ธฐ: ์ฌ์ฐ๊ฒฐ ๋๋ ์์ ์ฌ๋ฐฐ์ด์ด ๋ฌดํ์ ์ฐ์ ์ ๋ฐฉ์งํ์ฌ ์๋ก์ด ์ฅ ์์์ ์์ฑ.
์ํ:
๊ทน์ฑ ์ฅ B_p
โ (์ฐจ๋ฑ ํ์ โ ์ฐ์ )
ํ์ ์ฅ B_t
โ (๋์ ์ด๋ โ ๋นํ๊ธฐ)
์๋ก์ด ๊ทน์ฑ ์ฅ B_p'
โ (์ฌ์ฐ๊ฒฐ/์ ๊ธฐ)
๊ฐํ๋ ๊ทน์ฑ ์ฅ
์ํ๋น ์ ์ฆํญ์ด ํ์ฐ ์์ค์ ์ด๊ณผํ๋ฉด, ์ฅ์ ์ง์์ ์ผ๋ก ์ฑ์ฅ โ dynamo.
3.3 Ponomarenko Dynamo (1973)¶
ํด์์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๋ ์: ์ํตํ ์ ๋์ฒด์์ ๋์ ํ๋ฆ.
์ค์ :
- ๋ฐ๊ฒฝ a์ ๋ฌดํ ์ํต, ๋ด๋ถ๋ ์ ๋์ฒด
- ์๋: ์ํต ์ขํ (r, ฯ, z)์์ v = (0, rฮฉ, U)
- ํ์ : v_ฯ = rฮฉ
- ๋ณ์ง: v_z = U
- ๊ฒฝ๊ณ: r=a์์ B ์ฐ์, ์ธ๋ถ์์ ๋ถ๊ดด
์ ๋ ๋ฐฉ์ ์:
โB/โt = โ ร (v ร B) + ฮทโยฒB
์ ๊ท ๋ชจ๋๋ฅผ ์ฐพ์ต๋๋ค:
B ~ exp(ฮณt + imฯ + ikz)
์ฌ๊ธฐ์:
- m์ ๋ฐฉ์ ํ์
- k๋ ์ถ ํ์
๋ถ์ฐ ๊ด๊ณ (|m|=1, ์์ k์ ๋ํด ๋จ์ํ):
ฮณ โ kU - (kยฒ + 1/aยฒ)ฮท for small Rm
์ถฉ๋ถํ ํฐ Rm = Ua/ฮท์์, ์ฒซ ๋ฒ์งธ ํญ(์ด๋ฅ)์ด ํ์ฐ์ ๊ทน๋ณตํฉ๋๋ค:
Rm_critical ~ O(10) (k,m์ ๋ฐ๋ผ ๋ค๋ฆ)
๋ฌผ๋ฆฌ์ ๊ทธ๋ฆผ: - ๋์ ํ๋ฆ์ด ์ฅ์ ์ ๋์ ์ผ๋ก ๋นํ์ - ์ถ ์ด๋ฅ(U)๊ฐ ํ์ฐ์ด ํํํํ๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด๊ฒ ๋นํ๋ฆผ์ ๊ฐํ - ํ์ฅ ~ a์ธ ๋ชจ๋์์ ์ฑ์ฅ ๋ฐ์
3.4 Roberts Flow Dynamo¶
์์ง(z) ์ฑ๋ถ์ ๊ฐ์ง 2D ์ฃผ๊ธฐ์ ์ ํ๋ฆ(x-y ํ๋ฉด)๋ dynamo๊ฐ ๋ ์ ์์ต๋๋ค.
Roberts ํ๋ฆ (Roberts, 1972):
v_x = Vโ sin(ky) cos(kx)
v_y = -Vโ cos(ky) sin(kx)
v_z = โ2 Vโ sin(kx) sin(ky)
์ด ํ๋ฆ์ ๋ค์์ ๊ฐ์ง๋๋ค:
- ์์ฉ๋์ด๊ฐ ์๋ ์
๊ตฌ์กฐ
- Helicity: โจvยท(โรv)โฉ โ 0
- ์ด๋ helicity๊ฐ ฮฑ-ํจ๊ณผ๋ฅผ ๊ตฌ๋(ํ๊ท ์ฅ ์ด๋ก ์ฐธ์กฐ)
Dynamo ์์ฑ:
- ์๊ณ Rm_c ~ 5 (๋งค์ฐ ํจ์จ์ )
- ๋น ๋ฅธ ์ฑ์ฅ๋ฅ
- ์์น ์ฝ๋์ ํ
์คํธ ์ผ์ด์ค๋ก ์ฌ์ฉ
4. ํ๊ท ์ฅ Dynamo ์ด๋ก ¶
4.1 Reynolds ๋ถํด¶
๋๋ฅ ํ๋ฆ(์: ํญ์ฑ ๋๋ฅ ์์ญ)์ ๊ฒฝ์ฐ, ํ๋ฆ๊ณผ ์ฅ์ ํ๊ท ๊ณผ ๋ณ๋ ์ฑ๋ถ์ ๋ชจ๋ ๊ฐ์ง๋๋ค:
v = โจvโฉ + u (โจuโฉ = 0)
B = โจBโฉ + b (โจbโฉ = 0)
์ฌ๊ธฐ์ โจยทโฉ๋ ์์๋ธ ๋๋ ๊ณต๊ฐ ํ๊ท ์ ๋ํ๋
๋๋ค.
๋ชฉํ: ํ๊ท ์ฅ โจBโฉ๋ง์ ๋ฐฉ์ ์์ ์ ๋ํ์ฌ, ์๊ท๋ชจ ๋๋ฅ์ ํจ๊ณผ๋ฅผ ๋งค๊ฐ๋ณ์ํํฉ๋๋ค.
4.2 ํ๊ท ์ฅ ์ ๋ ๋ฐฉ์ ์¶
์ ๋ ๋ฐฉ์ ์์ ํ๊ท ํ:
โโจBโฉ/โt = โ ร (โจvโฉ ร โจBโฉ) + โ ร โฐ + ฮทโยฒโจBโฉ
์ฌ๊ธฐ์ ํ๊ท ๊ธฐ์ ๋ ฅ(EMF)์:
โฐ = โจu ร bโฉ
์ด๊ฒ์ ์๊ท๋ชจ ๋๋ฅ ์ด๋์ ์ํด ์ ๋๋ ํ๊ท ์ ๊ธฐ์ฅ์
๋๋ค. ๋์ ๊ณผ์ ๋ โฐ๋ฅผ โจBโฉ์ ๊ด๋ จ์ํค๋ ๊ฒ์
๋๋ค.
4.3 ฮฑ-ํจ๊ณผ¶
๊ฐ์ : ์์ Rm(๋ณ๋)์ ๊ท ์ง, ๋ฑ๋ฐฉ์ฑ ๋๋ฅ์ ๊ฒฝ์ฐ, ์ ํ ํ์:
โฐ โ ฮฑโจBโฉ - ฮฒโรโจBโฉ
์ฌ๊ธฐ์:
- ฮฑ: alpha ๊ณ์(์์ฌ์ค์นผ๋ผ, ํจ๋ฆฌํฐ ์๋์์ ๋ถํธ ๋ณ๊ฒฝ)
- ฮฒ: ๋๋ฅ ํ์ฐ๋(์ค์นผ๋ผ)
ฮฑ-ํจ๊ณผ ์ ๋ (Steenbeck, Krause, Rรคdler, 1966):
์๊ด ์๊ฐ ฯ_c์ ์๋ u_rms๋ฅผ ๊ฐ์ง ๋์ ๋๋ฅ์ ๊ฒฝ์ฐ:
ฮฑ โ -(1/3) ฯ_c โจuยท(โรu)โฉ
= -(1/3) ฯ_c โจhโฉ
์ฌ๊ธฐ์ โจhโฉ = โจuยท(โรu)โฉ๋ ์ด๋ helicity์
๋๋ค.
๋ฌผ๋ฆฌ์ ํด์: - ๋์ ๋๋ฅ๋ ์ ํธ๋๋ ์์ก์ด(ํ์ ์์คํ ์ ์ฌ์ดํด๋ก ๋๋ฅ)๋ฅผ ๊ฐ์ง - ๋์ ์๋ฅ์ ์ํ ์ฅ์ ์ ๋นํ๋ฆผ์ด ํ์ โ ๊ทน์ฑ(๋๋ ๊ทธ ๋ฐ๋)์ ๋ณํ - ฮฑ > 0: ์ค๋ฅธ์ helicity - ฮฑ < 0: ์ผ์ helicity
ฮฒ-ํจ๊ณผ:
ฮฒ โ (1/3) ฯ_c u_rmsยฒ
์ด๊ฒ์ ๋๋ฅ ํผํฉ์ ์ํ ๊ฐํ๋ ํ์ฐ๋์ ๋๋ค. ์ ํจ ํ์ฐ๋๋:
ฮท_eff = ฮท + ฮฒ
ํญ์ฑ ๋๋ฅ ์์ญ์์, ฮฒ โซ ฮท์ด๋ฏ๋ก, ๋๋ฅ ํ์ฐ์ด ์ง๋ฐฐํฉ๋๋ค.
4.4 ฮฑ-ฮฉ Dynamos¶
ํ์ ํ๋, ์ฐจ๋ฑ ํ์ ํ๋ ์์คํ
(์: ํ์, ํ์ฑ)์์, ํ๊ท ํ๋ฆ์ ๋ค์์ ๊ฐ์ง๋๋ค:
- ์ฐจ๋ฑ ํ์ : โจvโฉ = rฮฉ(r,ฮธ) e_ฯ (ํ์)
- ๋์ ๋๋ฅ๋ก๋ถํฐ์ ฮฑ-ํจ๊ณผ
ฮฑ-ฮฉ dynamo ์ํ (๊ตฌ ์ขํ):
- ฮฉ-ํจ๊ณผ: ์ฐจ๋ฑ ํ์ ์ด ๊ทน์ฑ ์ฅ
โจB_pโฉ๋ฅผ ํ์ ์ฅโจB_tโฉ๋ก ์ ๋จ:
โโจB_ฯโฉ/โt โ r sin(ฮธ) (โจB_rโฉ โฮฉ/โr + โจB_ฮธโฉ/r โฮฉ/โฮธ)
- ฮฑ-ํจ๊ณผ: ๋์ ๋๋ฅ๊ฐ ํ์์ผ๋ก๋ถํฐ ๊ทน์ฑ์ ์ฌ์์ฑ:
โโจB_pโฉ/โt โ โ ร (ฮฑโจB_tโฉ e_ฯ)
ํผ๋๋ฐฑ ๋ฃจํ:
โจB_pโฉ โ (ฮฉ-ํจ๊ณผ) โ โจB_tโฉ โ (ฮฑ-ํจ๊ณผ) โ โจB_pโฉ'
์ํ๋น ์ ์ฆํญ์ด ํ์ฐ์ ์ด๊ณผํ๋ฉด, ์ฅ์ด ์ฑ์ฅ โ dynamo.
4.5 ฮฑยฒ Dynamos¶
์ฐจ๋ฑ ํ์ ์ด ์ฝํ๊ฑฐ๋ ์์ง๋ง helicity๊ฐ ๊ฐํ ๊ฒฝ์ฐ, ฮฑยฒ dynamo๊ฐ ์๋ํ ์ ์์ต๋๋ค:
โโจBโฉ/โt = โ ร (ฮฑโจBโฉ) + ฮท_eff โยฒโจBโฉ
๊ทน์ฑ โ ํ์ ๋ฐ ํ์ โ ๊ทน์ฑ ๋ณํ ๋ชจ๋ ฮฑ์ ์ํด ๊ตฌ๋๋ฉ๋๋ค.
Dynamo ์:
๋ฐ๊ฒฝ R์ ๊ตฌ์์ ฮฑยฒ dynamos์ ๊ฒฝ์ฐ:
D_ฮฑ = ฮฑ R / ฮท_eff
Dynamo ์์์ ์ผ๋ฐ์ ์ผ๋ก |D_ฮฑ| ~ 10์์.
ฮฑ-ฮฉ dynamos์ ๊ฒฝ์ฐ:
D_ฮฑฮฉ = (ฮฑ ฮฮฉ Rยณ) / ฮท_effยฒ
์ฌ๊ธฐ์ ฮฮฉ๋ ์ฐจ๋ฑ ํ์ ์จ์
๋๋ค. ์์์ |D_ฮฑฮฉ| ~ O(1)์์.
4.6 ํ์ ฮฑ-ฮฉ Dynamo¶
ํ์ ์ ์ฉ:
- ์ฐจ๋ฑ ํ์ (ฮฉ): ํ์์ง๋ํ์ผ๋ก ์ธก์ :
- ์ ๋๊ฐ ๊ทน๋ณด๋ค ๋น ๋ฅด๊ฒ ํ์ :
ฮฉ(ฮธ) -
Tachocline(๋๋ฅ ์์ญ ๊ธฐ์ ๋ถ) ๊ทผ์ฒ์ ๋ฐ๊ฒฝ ์ ๋จ:
โฮฉ/โr -
ฮฑ-ํจ๊ณผ: ํ์ ์ขํ๊ณ์์ ์ฌ์ดํด๋ก ๋๋ฅ โ helicity
- ๋ถ๋ฐ๊ตฌ: ฮฑ < 0 (์ฐ์ธ)
- ๋จ๋ฐ๊ตฌ: ฮฑ > 0
ํ์ ์ฃผ๊ธฐ: - ์ฃผ๊ธฐ: ~11๋ (ํ์ ์ฃผ๊ธฐ), ~22๋ (์๊ธฐ ๊ทน์ฑ ์ฃผ๊ธฐ) - Tachocline์์ ฮฉ-ํจ๊ณผ์ ์ํด ์์ฑ๋ ํ์ ์ฅ - ฮฑ-ํจ๊ณผ(๋๋ Babcock-Leighton ๋ฉ์ปค๋์ฆ: ๊ธฐ์ธ์ด์ง ํ์ ์)์ ์ํด ์ฌ์์ฑ๋ ๊ทน์ฑ ์ฅ - ํ์ ์ฅ์ ์ ๋ ๋ฐฉํฅ ์ ํ(๋๋น ๋ค์ด์ด๊ทธ๋จ) - ๊ทน์ฑ ์ฅ์ ๊ทน ๋ฐฉํฅ ์ด๋
๋์ ๊ณผ์ : - ๋์ Rm์์ ฮฑ-quenching(๋์ญํ์ ํจ๊ณผ ์ฐธ์กฐ) - ์๊ธฐ ๋ถ๋ ฅ: ๊ฐํ ํ์ ์ฅ์ด ๋ถ์์ ํด์ง๊ณ ์์น โ ํ์ - ํ๋ญ์ค ์์ก: ์์ค์ ์ํ์ด ์ฃผ๊ธฐ๋ฅผ ์กฐ์
5. ๋์ญํ์ Dynamo ์ด๋ก ¶
5.1 Lorentz ํ ์ญ๋ฐ์¶
Kinematic ์์ญ์์, ์๊ธฐ์ฅ์ ์ง์์ ์ผ๋ก ์ฑ์ฅํฉ๋๋ค. ๊ทธ๋ฌ๋ Bยฒ / (ฮผโฯvยฒ) โ O(1)์ด ๋๋ฉด, Lorentz ํ์ด ์ค์ํด์ง๋๋ค:
ฯ(โv/โt + vยทโv) = -โp + JรB + ฯฮฝโยฒv
JรB ํญ์ด ํ๋ฆ์ ์์ ํ๊ณ , ์ด๋ ์ฐจ๋ก๋ก โB/โt์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด๊ฒ์ด ๋์ญํ์ ์์ญ์
๋๋ค.
ํฌํ: ์ฅ ์ฑ์ฅ์ด ๋๋ ค์ง๊ณ ๊ฒฐ๊ตญ ๋ค์๊ณผ ๊ฐ์ ์์ค์์ ํฌํ๋ฉ๋๋ค:
์
๋ ฅ ์ ๋ ฅ(ํ๋ฆ์ผ๋ก๋ถํฐ) = Ohmic ์์ฐ
์ผ๋ฐ์ ์ผ๋ก:
B_satยฒ / (2ฮผโ) ~ ฮต_B ร ฯvยฒ/2
์ฌ๊ธฐ์ ฮต_B๋ ์๋์ง ๋ณํ ํจ์จ์
๋๋ค(์ข
์ข
ฮต_B ~ 0.01 - 0.1).
5.2 ฮฑ-Quenching¶
ํ๊ท ์ฅ ์ด๋ก ์์, ฮฑ-ํจ๊ณผ๋ ์๊ธฐ์ฅ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ๊ฐ์ํฉ๋๋ค:
๊ฐ๋จํ quenching ๊ณต์:
ฮฑ(B) = ฮฑโ / (1 + (B_eq/B_*)ยฒ)
์ฌ๊ธฐ์:
- ฮฑโ: kinematic alpha
- B_eq = โ(ฮผโฯ) u_rms: equipartition ์ฅ
- B_*: quenching ์ฅ ๊ฐ๋
์ฌ์์ quenching:
๋งค์ฐ ๋์ ์๊ธฐ Reynolds ์ Rm โ โ์์, ฮฑ-quenching์ด ์ฌ๊ฐํด์ง๋๋ค:
ฮฑ(B) ~ ฮฑโ / Rm
์ด๊ฒ์ Rm โ โ ํ๊ณ์์ dynamo๊ฐ ๊บผ์ง ๊ฒ์ ์๋ฏธํ๋๋ฐ, ์ด๋ ์ฒ์ฒด๋ฌผ๋ฆฌํ์ ๋ฌผ์ฒด์ ๋ํด ๋น๋ฌผ๋ฆฌ์ ์
๋๋ค. ์ด๊ฒ์ ๊ฒฉ๋ ฌํ ๋
ผ์๊ณผ ํด๊ฒฐ์ฑ
ํ์์ผ๋ก ์ด์ด์ก์ต๋๋ค:
- ์๊ธฐ helicity ํ๋ญ์ค(๊ฒฝ๊ณ ํจ๊ณผ)
- ์ ๋จ ๊ตฌ๋ dynamos(ฮฑ์ ๋ ์์กด)
- ์ญ ์บ์ค์ผ์ด๋๋ก๋ถํฐ์ ๋๊ท๋ชจ dynamo
ํ์ฌ ์ดํด: - ๋ซํ ๊ฒฝ๊ณ์ ๊ฒฝ์ฐ: ์ฌ์์ quenching์ ์ค์ ๋ฌธ์ - ์ด๋ฆฐ ๊ฒฝ๊ณ์ ๊ฒฝ์ฐ(ํญ์ฑ ํ๋ฉด, ๋์คํฌ ์ฝ๋ก๋): helicity ํ๋ญ์ค๊ฐ quenching์ ์ํ - ๊ณ ๋ ๋๋ฅ ์์คํ ์์: dynamo๋ ์ฃผ๋ก ์๊ท๋ชจ์ผ ์ ์์
5.3 ์ง๊ตฌ Dynamo¶
์ง๊ตฌ dynamo:
- ์์น: ์ก์ฒด ์ธํต(์ค์ฌ์์ ๋ฐ๊ฒฝ 3480 - 6371 km)
- ๊ตฌ์ฑ: ์ฒ -๋์ผ ํฉ๊ธ, ฯ ~ 10โถ S/m
- ๋๋ฅ ๊ตฌ๋: ๋ดํต์ ๋๊ฐ ๋ฐ ์๊ณ (์กฐ์ฑ + ์ด ๋ถ๋ ฅ)
- ํ์ : ฮฉ = 7.3 ร 10โปโต rad/s (Coriolis ์ง๋ฐฐ)
์์ญ:
- Rm ~ 10ยฒ - 10ยณ (๋๋ฅ)
- Ekman ์ E = ฮฝ/(ฮฉLยฒ) ~ 10โปยนโต (๋น ๋ฅธ ํ์ )
- ์๊ธฐ Prandtl ์ Pm = ฮฝ/ฮท ~ 10โปโต (์์ ์ ์ฑ)
Dynamo ๋ฉ์ปค๋์ฆ: - ๋น ๋ฅด๊ฒ ํ์ ํ๋ ๊ตฌ์์ ๋๋ฅ โ ๋์ ํ๋ฆ - ์ฌ์ดํด๋ก ์์ฉ๋์ด๋ก๋ถํฐ์ ฮฑ-ํจ๊ณผ - ์ดํ ํํ์ผ๋ก๋ถํฐ์ ์ฐจ๋ฑ ํ์ - ฮฑ-ฮฉ ๋๋ ฮฑยฒ dynamo, ์ฐจ๋ฑ ํ์ ์ ๊ฐ๋์ ๋ฐ๋ผ
์์น ์๋ฎฌ๋ ์ด์ : - Glatzmaier-Roberts (1995): ์ง๊ตฌ์๊ธฐ ์ญ์ ์ ์ฌํํ๋ ์ต์ด์ 3D dynamo ์๋ฎฌ๋ ์ด์ - ํ๋ ์ฝ๋: MagIC, Rayleigh, Parody - ๋์ ๊ณผ์ : ์ง์ ํ ์ง๊ตฌ๋ฌผ๋ฆฌํ์ ๋งค๊ฐ๋ณ์์ ๋๋ฌํ ์ ์์(E๊ฐ ๋๋ฌด ์์)
5.4 ํ์ Dynamo ์ฌ๋ฐฉ๋ฌธ¶
์ญ๋ฐ์์ด ํฌํจ๋ ๊ฒฝ์ฐ:
- Tachocline ฮฉ-ํจ๊ณผ: ๊ฐํ ํ์ ์ฅ
B_ฯ ~ 10โด G์์ฑ - ์๊ธฐ ๋ถ๋ ฅ: ํ์ ํ๋ญ์ค ํ๋ธ๊ฐ ์๊ธฐ ๋ถ๋ ฅ์ผ๋ก ์ธํด ์์น:
ฯg = (Bยฒ/2ฮผโ) / H_p
์ฌ๊ธฐ์ H_p๋ ์๋ ฅ ์ฒ๋ ๋์ด์
๋๋ค. Bยฒ / (2ฮผโ) ~ ฯc_sยฒ์ผ ๋ ๋ถ์์ .
- ํ๋ญ์ค ์ถํ: ์์นํ๋ ํ๋ญ์ค ํ๋ธ๊ฐ ํ๋ฉด์์ ํ์ ํ์ฑ
- Babcock-Leighton ๋ฉ์ปค๋์ฆ: ๊ธฐ์ธ์ด์ง ์๊ทน ํ์ (Joy์ ๋ฒ์น) โ ํ๋ฉด ํ์ฐ ๋ฐ ํ๋ญ์ค ์์ก์ ํตํ ๊ทน์ฑ ์ฅ
- ์์ค์ ์ํ: ํ๋ฉด์์ ์ ๋ ๋ฐฉํฅ, ๊ธฐ์ ๋ถ์์ ๊ทน ๋ฐฉํฅ โ ํ๋ญ์ค ์์ก dynamo
์ธํฐํ์ด์ค dynamo vs. ๋ถํฌ dynamo: - ์ธํฐํ์ด์ค: Tachocline์์ ฮฉ-ํจ๊ณผ, ๋๋ฅ ์์ญ์์ ฮฑ-ํจ๊ณผ(๋ถ๋ฆฌ๋ ์ธต) - ๋ถํฌ: ๋๋ฅ ์์ญ ์ ์ฒด์์ dynamo - ํ์ฌ ํฉ์: ์ธํฐํ์ด์ค ๋๋ ํ๋ญ์ค ์์ก dynamo์ผ ๊ฐ๋ฅ์ฑ
6. Dynamo ์๋ฎฌ๋ ์ด์ ์ ์ํ ์์น ๋ฐฉ๋ฒ¶
6.1 ์คํํธ๋ผ ๋ฐฉ๋ฒ¶
์ฃผ๊ธฐ์ ์์ญ ๋๋ ๊ตฌ ๊ธฐํํ์ ๊ฒฝ์ฐ, ์คํํธ๋ผ ๋ฐฉ๋ฒ์ด ๋งค์ฐ ํจ์จ์ ์ ๋๋ค.
Fourier ํํ:
B(x,t) = ฮฃ_k Bฬ_k(t) exp(ikยทx)
Fourier ๊ณต๊ฐ์์ ์ ๋ ๋ฐฉ์ ์:
โBฬ_k/โt = ik ร (vฬรBฬ)_k - ฮทkยฒ Bฬ_k
์ปจ๋ฒ๋ฃจ์
(vฬรBฬ)_k๋ FFT๋ฅผ ํตํด ๊ณ์ฐํ ์ ์์ต๋๋ค:
1. vฬ_k, Bฬ_k โ v(x), B(x) ๋ณํ(์ญ FFT)
2. ์ค๊ณต๊ฐ์์ vรB ๊ณ์ฐ
3. ์ญ๋ณํ: vรB โ (vฬรBฬ)_k (์ FFT)
๊ตฌ๋ฉด ์กฐํ:
๊ตฌ ๊ธฐํํ์ ๊ฒฝ์ฐ(์: ๋ณ, ํ์ฑ):
B(r,ฮธ,ฯ,t) = ฮฃ_lm Bฬ_lm(r,t) Y_lm(ฮธ,ฯ)
์ฌ๊ธฐ์ Y_lm์ ๊ตฌ๋ฉด ์กฐํ์
๋๋ค. ๋ฐ๊ฒฝ ์ด์ฐํ(์ ํ ์ฐจ๋ถ ๋๋ Chebyshev ๋คํญ์)์ ๊ฒฐํฉ.
6.2 ์๊ฐ ์ ๋ถ¶
๋ช ์์ ์คํด (์: Runge-Kutta):
B^(n+1) = B^n + ฮt ร RHS(B^n, v^n)
์์ ์ฑ ์ ์ฝ(CFL):
ฮt โค min(ฮx / |v|, ฮxยฒ / ฮท)
์์์ ์คํด (์: Crank-Nicolson):
์ ํ์ ์ธ ฮt ~ ฮxยฒ ์ ์ฝ์ ํผํ๊ธฐ ์ํด ํ์ฐ์ ์์์ ์ผ๋ก ์ฒ๋ฆฌ:
(B^(n+1) - B^n)/ฮt = (1/2)[RHS(B^(n+1)) + RHS(B^n)]
๊ฐ ์๊ฐ ๋จ๊ณ๋ง๋ค ์ ํ ์์คํ ์ ํ์ด์ผ ํ์ง๋ง, ๋ ํฐ ฮt๋ฅผ ํ์ฉํฉ๋๋ค.
6.3 ๋น์์ถ์ฑ ์ ์ฝ¶
โยทB = 0 ์กฐ๊ฑด์ ์์น์ ์ผ๋ก ์ ์ง๋์ด์ผ ํฉ๋๋ค. ๋ฐฉ๋ฒ:
1. ๋ฒกํฐ ํฌํ ์ :
B = โ ร A
๊ตฌ์ฑ์ ์ํด ๋ฐ์ฐ์ด ์์ต๋๋ค. ๋ค์์ ํตํด A๋ฅผ ์งํ:
โA/โt = v ร B - โฯ + ฮทโยฒA
์ฌ๊ธฐ์ ฯ๋ ๊ฒ์ด์ง์
๋๋ค.
2. ํฌ์ ๋ฐฉ๋ฒ:
๊ฐ ์๊ฐ ๋จ๊ณ ํ, B๋ฅผ ๋ฐ์ฐ์ด ์๋ ๊ณต๊ฐ์ผ๋ก ํฌ์:
B โ B - โ(โโปยฒ(โยทB))
Fourier ๊ณต๊ฐ์์: Bฬ_k โ Bฬ_k - k(kยทBฬ_k)/kยฒ.
3. Constrained transport (CT):
์ ๋ฉด์ B๋ฅผ ์ด์ฐํํ์ฌ ๊ธฐ๊ณ ์ ๋ฐ๋๊น์ง โยทB = 0์ ๋ณด์ฅ.
7. Python ๊ตฌํ¶
7.1 ฮฑ-ฮฉ ํ๊ท ์ฅ Dynamo (1D)¶
๋ฐ๊ฒฝ r์์ 1D๋ก ๋จ์ํ๋ ๋ชจ๋ธ, ์ถ๋์นญ ๋ฐ ํ๊ท ์ฅ ๊ฐ์ :
import numpy as np
import matplotlib.pyplot as plt
def alpha_omega_dynamo_1d():
"""
1D ฮฑ-ฮฉ mean-field dynamo model.
Equations (in cylindrical r-z, suppress z for 1D):
โB_ฯ/โt = r โฮฉ/โr B_r + ฮท โยฒB_ฯ/โrยฒ
โB_r/โt = โ/โr(ฮฑ B_ฯ) + ฮท โยฒB_r/โrยฒ
Simplified to 1D in radius with periodic or no-flux boundaries.
"""
# Parameters
Nr = 100
r_max = 1.0
r = np.linspace(0, r_max, Nr)
dr = r[1] - r[0]
# Differential rotation profile: ฮฉ(r) = ฮฉ0(1 - rยฒ)
Omega0 = 1.0
Omega = Omega0 * (1 - r**2)
dOmega_dr = -2 * Omega0 * r
# Alpha profile: ฮฑ(r) = ฮฑ0 sin(ฯr)
alpha0 = 0.1
alpha = alpha0 * np.sin(np.pi * r)
# Magnetic diffusivity
eta = 0.01
# Time stepping
dt = 0.001
Nt = 5000
# Initialize fields
B_phi = np.zeros(Nr)
B_r = np.zeros(Nr)
# Initial perturbation
B_r[Nr//2] = 0.01
# Storage for plotting
B_phi_hist = []
B_r_hist = []
times = []
# Time evolution
for n in range(Nt):
# Compute second derivatives (finite differences)
d2B_phi = np.zeros(Nr)
d2B_r = np.zeros(Nr)
d2B_phi[1:-1] = (B_phi[2:] - 2*B_phi[1:-1] + B_phi[:-2]) / dr**2
d2B_r[1:-1] = (B_r[2:] - 2*B_r[1:-1] + B_r[:-2]) / dr**2
# Boundary conditions: no-flux (โB/โr = 0)
d2B_phi[0] = d2B_phi[1]
d2B_phi[-1] = d2B_phi[-2]
d2B_r[0] = d2B_r[1]
d2B_r[-1] = d2B_r[-2]
# ฮฉ-effect: generates B_ฯ from B_r
omega_term = r * dOmega_dr * B_r
# ฮฑ-effect: generates B_r from B_ฯ
alpha_term = np.zeros(Nr)
alpha_term[1:-1] = (alpha[2:] * B_phi[2:] - alpha[:-2] * B_phi[:-2]) / (2*dr)
# Update equations
dB_phi_dt = omega_term + eta * d2B_phi
dB_r_dt = alpha_term + eta * d2B_r
B_phi += dt * dB_phi_dt
B_r += dt * dB_r_dt
# Store snapshots
if n % 100 == 0:
B_phi_hist.append(B_phi.copy())
B_r_hist.append(B_r.copy())
times.append(n * dt)
# Plot evolution
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 8))
for i in range(0, len(times), len(times)//10):
ax1.plot(r, B_phi_hist[i], label=f't={times[i]:.2f}')
ax2.plot(r, B_r_hist[i], label=f't={times[i]:.2f}')
ax1.set_xlabel('Radius r')
ax1.set_ylabel('Toroidal field $B_\\phi$')
ax1.set_title('ฮฑ-ฮฉ Dynamo: Toroidal Field Evolution')
ax1.legend()
ax1.grid(True)
ax2.set_xlabel('Radius r')
ax2.set_ylabel('Radial field $B_r$')
ax2.set_title('ฮฑ-ฮฉ Dynamo: Radial Field Evolution')
ax2.legend()
ax2.grid(True)
plt.tight_layout()
plt.savefig('alpha_omega_dynamo_1d.png', dpi=150)
plt.show()
# Growth rate analysis
B_total = [np.sqrt(np.mean(Bp**2 + Br**2)) for Bp, Br in zip(B_phi_hist, B_r_hist)]
plt.figure(figsize=(10, 6))
plt.semilogy(times, B_total, 'b-', linewidth=2)
plt.xlabel('Time')
plt.ylabel('Total field energy (RMS)')
plt.title('ฮฑ-ฮฉ Dynamo: Exponential Growth')
plt.grid(True)
plt.savefig('alpha_omega_growth.png', dpi=150)
plt.show()
# Estimate growth rate
if len(times) > 10:
log_B = np.log(np.array(B_total[5:])) # Exclude initial transient
t_fit = np.array(times[5:])
coeffs = np.polyfit(t_fit, log_B, 1)
growth_rate = coeffs[0]
print(f"Estimated growth rate ฮณ: {growth_rate:.4f}")
return r, B_phi_hist, B_r_hist, times
# Run simulation
alpha_omega_dynamo_1d()
7.2 Ponomarenko Dynamo ๋ถ์ฐ ๊ด๊ณ¶
Ponomarenko dynamo์ ํ์ ๋ ์ฑ์ฅ๋ฅ ๊ณ์ฐ:
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fsolve
def ponomarenko_dispersion():
"""
Solve the Ponomarenko dynamo dispersion relation.
For helical flow in cylinder:
v_ฯ = rฮฉ, v_z = U
Simplified dispersion (for small k, |m|=1):
ฮณ โ kU - (kยฒ + ฯยฒ/aยฒ)ฮท
More accurate: solve eigenvalue problem numerically.
"""
# Parameters
a = 1.0 # Cylinder radius
Omega = 1.0 # Rotation rate
U = 1.0 # Axial velocity
eta_vals = np.array([0.01, 0.02, 0.05, 0.1]) # Magnetic diffusivities
k_vals = np.linspace(0.1, 5.0, 100) # Axial wavenumber
plt.figure(figsize=(10, 6))
for eta in eta_vals:
Rm = U * a / eta
gamma = np.zeros_like(k_vals)
for i, k in enumerate(k_vals):
# Simplified growth rate
gamma[i] = k * U - (k**2 + (np.pi/a)**2) * eta
plt.plot(k_vals, gamma, label=f'Rm = {Rm:.1f} (ฮท={eta})')
plt.axhline(0, color='k', linestyle='--', linewidth=0.5)
plt.xlabel('Axial wavenumber k')
plt.ylabel('Growth rate ฮณ')
plt.title('Ponomarenko Dynamo Dispersion Relation')
plt.legend()
plt.grid(True)
plt.savefig('ponomarenko_dispersion.png', dpi=150)
plt.show()
# Find critical Rm
print("\nCritical Magnetic Reynolds Numbers:")
for k in [1.0, 2.0, 3.0]:
# At marginal stability: ฮณ = 0
# 0 = kU - (kยฒ + ฯยฒ/aยฒ)ฮท
# ฮท_c = kU / (kยฒ + ฯยฒ/aยฒ)
eta_c = k * U / (k**2 + (np.pi/a)**2)
Rm_c = U * a / eta_c
print(f" k = {k:.1f}: Rm_c = {Rm_c:.2f}")
ponomarenko_dispersion()
7.3 ํ์ ๋๋น ๋ค์ด์ด๊ทธ๋จ ์๋ฎฌ๋ ์ด์ ¶
ฮฑ-ฮฉ dynamo์์ ํ์ ์ฅ์ ์๋ ์ด๋ ์๋ฎฌ๋ ์ด์ :
import numpy as np
import matplotlib.pyplot as plt
def solar_butterfly_diagram():
"""
Simplified solar butterfly diagram from ฮฑ-ฮฉ dynamo.
2D model in (ฮธ, t) where ฮธ is latitude.
Equations:
โB_ฯ/โt = C_ฮฉ โยฒฮฉ/โฮธยฒ B_ฮธ + ฮท โยฒB_ฯ/โฮธยฒ
โB_ฮธ/โt = C_ฮฑ ฮฑ(ฮธ) B_ฯ + ฮท โยฒB_ฮธ/โฮธยฒ
Use profiles:
ฮฉ(ฮธ) ~ 1 + ฮดฮฉ cosยฒ(ฮธ) (equator faster)
ฮฑ(ฮธ) ~ cos(ฮธ) (sign changes across equator)
"""
# Parameters
Ntheta = 100
theta = np.linspace(-np.pi/2, np.pi/2, Ntheta) # Latitude
dtheta = theta[1] - theta[0]
# Differential rotation: ฮฉ(ฮธ) = ฮฉ0(1 + ฮดฮฉ cosยฒฮธ)
Omega0 = 1.0
delta_Omega = 0.2
Omega = Omega0 * (1 + delta_Omega * np.cos(theta)**2)
d2Omega_dtheta2 = -2 * delta_Omega * Omega0 * (np.cos(theta)**2 - np.sin(theta)**2)
# Alpha effect: ฮฑ(ฮธ) = ฮฑ0 cos(ฮธ)
alpha0 = 0.5
alpha = alpha0 * np.cos(theta)
# Coefficients
C_Omega = 10.0 # ฮฉ-effect strength
C_alpha = 1.0 # ฮฑ-effect strength
eta = 0.1 # Diffusivity
# Time stepping
dt = 0.01
Nt = 2000
# Initialize fields
B_phi = np.zeros(Ntheta)
B_theta = np.zeros(Ntheta)
# Initial perturbation at mid-latitudes
B_theta += 0.01 * np.exp(-((theta - np.pi/4)**2) / 0.1)
# Storage
B_phi_hist = np.zeros((Nt//10, Ntheta))
times = np.zeros(Nt//10)
# Time evolution
for n in range(Nt):
# Second derivatives
d2B_phi = np.zeros(Ntheta)
d2B_theta = np.zeros(Ntheta)
d2B_phi[1:-1] = (B_phi[2:] - 2*B_phi[1:-1] + B_phi[:-2]) / dtheta**2
d2B_theta[1:-1] = (B_theta[2:] - 2*B_theta[1:-1] + B_theta[:-2]) / dtheta**2
# Boundary: zero at poles
d2B_phi[0] = 0
d2B_phi[-1] = 0
d2B_theta[0] = 0
d2B_theta[-1] = 0
# ฮฉ-effect
omega_term = C_Omega * d2Omega_dtheta2 * B_theta
# ฮฑ-effect
alpha_term = C_alpha * alpha * B_phi
# Update
dB_phi_dt = omega_term + eta * d2B_phi
dB_theta_dt = alpha_term + eta * d2B_theta
B_phi += dt * dB_phi_dt
B_theta += dt * dB_theta_dt
# Store
if n % 10 == 0:
B_phi_hist[n//10, :] = B_phi
times[n//10] = n * dt
# Plot butterfly diagram
theta_deg = np.degrees(theta)
plt.figure(figsize=(12, 6))
plt.contourf(times, theta_deg, B_phi_hist.T, levels=50, cmap='RdBu_r')
plt.colorbar(label='Toroidal field $B_\\phi$')
plt.xlabel('Time (arbitrary units)')
plt.ylabel('Latitude (degrees)')
plt.title('Solar Butterfly Diagram (ฮฑ-ฮฉ Dynamo Simulation)')
plt.axhline(0, color='k', linestyle='--', linewidth=0.5)
plt.savefig('butterfly_diagram.png', dpi=150)
plt.show()
solar_butterfly_diagram()
7.4 Kinematic Dynamo ์ฑ์ฅ๋ฅ ๊ณ์ฐ¶
Kinematic dynamos์์ ์ฑ์ฅ๋ฅ ๊ณ์ฐ์ ์ํ ์ผ๋ฐ ํ๋ ์์ํฌ:
import numpy as np
from scipy.linalg import eig
import matplotlib.pyplot as plt
def kinematic_dynamo_eigenvalue():
"""
Compute eigenvalues of the kinematic dynamo operator.
Discretize the induction equation:
โB/โt = โร(vรB) + ฮทโยฒB
in Fourier space for periodic domain.
Eigenvalue problem: ฮณ b = L b
where L is the linear operator.
"""
# Simplified 1D model for illustration
# Consider B(x,t) in periodic domain [0, 2ฯ]
N = 32 # Number of Fourier modes
k = np.fft.fftfreq(N, d=2*np.pi/N) * 2 * np.pi # Wavenumbers
# Prescribed velocity: v(x) = V0 sin(x)
V0 = 1.0
eta = 0.01
# In Fourier space, multiplication by v becomes convolution
# For simplicity, use a simple shear flow: v = V0 xฬ
# Then (vรB) has components involving derivatives
# Construct operator matrix (simplified for 1D scalar case)
# This is a toy model; real dynamos need full 3D vector treatment
L = np.zeros((N, N), dtype=complex)
for i in range(N):
# Diagonal: diffusion term
L[i, i] = -eta * k[i]**2
# Off-diagonal: advection/stretching (coupling between modes)
if i > 0:
L[i, i-1] = 1j * V0 * k[i] # Simplified coupling
# Compute eigenvalues
eigenvalues, eigenvectors = eig(L)
# Growth rates are real parts
growth_rates = np.real(eigenvalues)
frequencies = np.imag(eigenvalues)
# Plot
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.scatter(np.real(eigenvalues), np.imag(eigenvalues), c=growth_rates, cmap='RdYlGn')
plt.colorbar(label='Growth rate Re(ฮณ)')
plt.axhline(0, color='k', linewidth=0.5)
plt.axvline(0, color='k', linewidth=0.5)
plt.xlabel('Re(ฮณ)')
plt.ylabel('Im(ฮณ)')
plt.title('Eigenvalue Spectrum')
plt.grid(True)
plt.subplot(1, 2, 2)
plt.stem(np.arange(N), growth_rates)
plt.axhline(0, color='r', linestyle='--')
plt.xlabel('Mode number')
plt.ylabel('Growth rate Re(ฮณ)')
plt.title('Growth Rates by Mode')
plt.grid(True)
plt.tight_layout()
plt.savefig('dynamo_eigenvalues.png', dpi=150)
plt.show()
max_growth_idx = np.argmax(growth_rates)
print(f"Maximum growth rate: {growth_rates[max_growth_idx]:.4f}")
print(f"Corresponding frequency: {frequencies[max_growth_idx]:.4f}")
if growth_rates[max_growth_idx] > 0:
print("Dynamo action detected!")
else:
print("No dynamo action (all modes decay).")
kinematic_dynamo_eigenvalue()
8. ์์ฝ¶
Dynamo ์ด๋ก ์ ์ฒ์ฒด๋ฌผ๋ฆฌํ์ ์๊ธฐ์ฅ์ด ์ด๋ป๊ฒ ์์ฑ๋๊ณ ์ ์ง๋๋์ง๋ฅผ ์ดํดํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค:
-
Dynamo ๋ฌธ์ : ์๊ธฐ์ฅ์ ์ฒ์ฒด๋ฌผ๋ฆฌํ์ ์ฐ๋ น๋ณด๋ค ํจ์ฌ ์งง์ ์ ํญ ์๊ฐ ์ฒ๋์์ ๋ถ๊ดด โ ๋ฅ๋์ ์์ฑ ํ์.
-
์ ๋ ๋ฐฉ์ ์:
โB/โt = โร(vรB) + ฮทโยฒB๊ฐ ์ฅ ์งํ๋ฅผ ์ง๋ฐฐํ๋ฉฐ, ์ด๋ฅ/์ฐ์ ๊ณผ ํ์ฐ ์ฌ์ด์ ๊ฒฝ์. -
Anti-dynamo ์ ๋ฆฌ:
- Cowling: ์ถ๋์นญ dynamo ์์
- Zeldovich: 2D dynamo ์์
-
ํจ์: 3D, ๋น์ถ๋์นญ ํ๋ฆ ํ์
-
Kinematic dynamos: ์ฃผ์ด์ง ์๋, B ์ฑ์ฅ ํด๊ฒฐ.
- Stretch-twist-fold ๋ฉ์ปค๋์ฆ
- Ponomarenko dynamo: ์ํต์์ ๋์ ํ๋ฆ
-
Roberts ํ๋ฆ: helicity๋ฅผ ๊ฐ์ง ์ ํ๋ฆ
-
ํ๊ท ์ฅ ์ด๋ก :
- ฮฑ-ํจ๊ณผ: ๋์ ๋๋ฅ๊ฐ ํ์์ผ๋ก๋ถํฐ ๊ทน์ฑ์ ์ฌ์์ฑ(๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐ๋)
- ฮฒ-ํจ๊ณผ: ๋๋ฅ ํ์ฐ
- ฮฑ-ฮฉ dynamos: ์ฐจ๋ฑ ํ์ + ฮฑ-ํจ๊ณผ(ํ์, ํ์ฑ)
-
ฮฑยฒ dynamos: ฮฑ-ํจ๊ณผ๋ง
-
๋์ญํ์ dynamos:
- Lorentz ํ ์ญ๋ฐ์์ด ์ฅ ์ฑ์ฅ์ ํฌํ
- ฮฑ-quenching: B๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ฮฑ๊ฐ ๊ฐ์
-
์ฌ์์ quenching: ๋์ Rm์์ ์ฌ๊ฐํ ๊ฐ์(helicity ํ๋ญ์ค์ ์ํด ํด๊ฒฐ)
-
์์ฉ:
- ์ง๊ตฌ dynamo: ์ง๊ตฌ ์ธํต์ ๋๋ฅ, ฮฑ-ฮฉ ๋๋ ฮฑยฒ ๋ฉ์ปค๋์ฆ
- ํ์ dynamo: tachocline์์ ฮฑ-ฮฉ, 11/22๋ ์ฃผ๊ธฐ, ๋๋น ๋ค์ด์ด๊ทธ๋จ
-
ํญ์ฑ ๋ฐ ์ํ dynamos
-
์์น ๋ฐฉ๋ฒ: ์คํํธ๋ผ, ์ ํ ์ฐจ๋ถ, ๋ฒกํฐ ํฌํ ์ , constrained transport.
Dynamos๋ฅผ ์ดํดํ๋ ๊ฒ์ ํ์ฑ ์๊ธฐ, ํญ์ฑ ํ๋ ์ฃผ๊ธฐ, ๊ทธ๋ฆฌ๊ณ ์ํ์ ์ด๊ธฐ ์ฐ์ฃผ์ ์ํ๋ฅผ ์ค๋ช ํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
์ฐ์ต ๋ฌธ์ ¶
- ์์ ๋ถ๊ดด ์๊ฐ ์ฒ๋: ๋ค์์ ๋ํ ์๊ธฐ ํ์ฐ ์๊ฐ ์ฒ๋๋ฅผ ๊ณ์ฐํ์ญ์์ค:
- ์ง๊ตฌ ํต:
L = 10โถ m,ฮท = 2 mยฒ/s - ํ์ ๋๋ฅ ์์ญ:
L = 2ร10โธ m,ฮท = 10โด mยฒ/s(๋๋ฅ) -
์ฐ๋ น๊ณผ ๋น๊ตํ์ญ์์ค.
-
์๊ธฐ Reynolds ์:
v ~ 100 m/s,L ~ 10โธ m,ฮท ~ 10โด mยฒ/s์ธ ํ์ ๋๋ฅ ์์ญ์ ๊ฒฝ์ฐ,Rm์ ๊ณ์ฐํ์ญ์์ค. Dynamo ์์ฉ์ด ๊ฐ๋ฅํฉ๋๊น? -
Cowling์ ์ ๋ฆฌ: ์์ ํ์ ์ฅ
B = B_ฯ(r,z,t) e_ฯ๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ์ ๋ ๋ฐฉ์ ์์ดB_ฯ๋ฅผ ์ ์งํ๊ธฐ ์ํด ๊ทน์ฑ ์ฅ์ผ๋ก๋ถํฐ์ ์์ค๋ฅผ ์๊ตฌํจ์ ๋ณด์ด์ญ์์ค. -
Ponomarenko ์ฑ์ฅ๋ฅ :
a = 1 m,U = 1 m/s,ฮฉ = 1 rad/s,ฮท = 0.05 mยฒ/s์ธ ์ํต์ ๊ฒฝ์ฐ, ๋จ์ํ๋ ๊ณต์์ ์ฌ์ฉํ์ฌk = 1 mโปยน์ ๋ํ ์ฑ์ฅ๋ฅ ์ ์ถ์ ํ์ญ์์ค. -
ฮฑ-ํจ๊ณผ ์ถ์ :
u_rms = 10 m/s, ์๊ด ์๊ฐฯ_c = 10โด s, helicityโจhโฉ = 10โปยณ m/sยฒ์ธ ๋๋ฅ ๋๋ฅ์ ๊ฒฝ์ฐ, ฮฑ๋ฅผ ์ถ์ ํ์ญ์์ค. -
ฮฑ-ฮฉ Dynamo ์: ๋ฐ๊ฒฝ
R = 10โธ m,ฮฑ = 1 m/s,ฮฮฉ = 10โปโถ rad/s,ฮท_eff = 10โด mยฒ/s์ธ ๊ตฌํ ์์์, dynamo ์D_ฮฑฮฉ์ ๊ณ์ฐํ์ญ์์ค. Dynamo๊ฐ ์์๋ฉ๋๊น? -
Equipartition ์ฅ:
ฯ = 10ยณ kg/mยณ,v = 100 m/s์ธ ํ๋ฆ์ ๊ฒฝ์ฐ, equipartition ์๊ธฐ์ฅ ๊ฐ๋๋ฅผ ์ถ์ ํ์ญ์์ค. -
Python ์ฐ์ต: ฮฑ-ฮฉ 1D ์ฝ๋๋ฅผ ์์ ํ์ฌ ฮฑ-quenching์ ํฌํจํ์ญ์์ค:
ฮฑ(B) = ฮฑโ/(1 + Bยฒ/B_eqยฒ). ์ง์ ์ฑ์ฅ์์ ํฌํ๋ก์ ์ ํ์ ๊ด์ฐฐํ์ญ์์ค. -
๋๋น ๋ค์ด์ด๊ทธ๋จ ๋ถ์: ์๋ฎฌ๋ ์ด์ ์์, ์ง๋ ์ฃผ๊ธฐ์ ์ ๋ ๋ฐฉํฅ ์ ํ ์๋๋ฅผ ์ธก์ ํ์ญ์์ค.
C_ฮฉ์C_ฮฑ์ ์ด๋ป๊ฒ ์์กดํฉ๋๊น? -
๊ณ ๊ธ: Fourier ์คํํธ๋ผ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ 2D kinematic dynamo๋ฅผ ๊ตฌํํ์ญ์์ค. Roberts ํ๋ฆ์ ์ฃผ๊ณ ์๊ธฐ์ฅ ์งํ๋ฅผ ํด๊ฒฐํ์ญ์์ค. ์ฑ์ฅ๋ฅ ์ ๊ณ์ฐํ๊ณ ๋ฌธํ ๊ฐ๊ณผ ๋น๊ตํ์ญ์์ค.
์ด์ : MHD Turbulence | ๋ค์: Turbulent Dynamo