近点移動は、衝突により、天体の質量が変化したために発生します。
多分、この理論は、まだ誰も考えていないはずです。
(静的エネルギー、動的エネルギー)で近点移動を考えていないからです。

とりあえず、
土星と月の2度の衝突について、プログラミングしてみた。
コメントがまだ全部に入れてないけれど、
だいたいの雰囲気は伝わるはずです。

プログラム(python)

import numpy as nm

#=============================================#

# CLASS : uniVerse

#         宇宙クラス

#=============================================#

class uNiverse:

    c = 1.0792528488E+9   #光速(km/h)

    U = 7.4242576375E-31  #質量・光速時基準軌道 変換定数 (km/kg)

    CsS=1296000           #円周の秒数(秒)

    CyT=8760              #年間時間(時間)

    def Sa(self,M,m,a):

        EA = self.EA(M,m)

        Sa = EA/a

        return Sa

    def EA(self,M,m):

        EA = self.Em(m) * self.ac(M,m)

        return EA

    def Em(self,m):

        Em = m * self.c**2

        return Em

    def ac(self,M,m):

        ac = self.U * (M + m)

        return ac

    def va(self,Sa,m):

        va = nm.sqrt(Sa/m)

        return va

#=============================================#

# CLASS : pLanet

#         惑星クラス

#=============================================#

class pLanet:

    def A(self,m,v):

        self.A = m * v**2

        return self.A

    def prt(self):

        print(f”NAME    ={self.name:10S}”)

        print(f”mass    ={self.m:.5e}”)

        print(f”VELOCITY={self.v:.5e}”)

        print(f”D.ENERGY={self.A:.5e}”)

#=============================================#

# CLASS : pLmove

#         惑星移動クラス

#=============================================#

class pLmove(uNiverse,pLanet):

    def ax(self,Sa,EA,Ax):

        self.a = EA/(Sa – Ax)

        return self.a

    def SRP(self,a,v):

        self.SRP = 2 * nm.pi * a / v

        return self.SRP

#=============================================#

# CLASS : iMpact

#         衝突クラス

#=============================================#

class iMpact(pLmove):

#

# pMove:衝突後の変化した分の質量

#    <PRM> m:衝突前の天体の質量(kg)

#          a:基準軌道半径(km)

#          v:速度(km/h)

#          margin:年間近点移動角度(秒)

#    <RTN> 

#       SRP:公転周期(Sidereal Rotation Period)#self    

#       Ny:1年の公転回数 #self

#       deG:1公転での近点移動角度 #self

#       ΔT:1公転での近点移動時間(h) #self

#       Tf:1公転での近点移動を含めた時間(h) #self

#       mf:衝突後の天体質量(kg) #self

#       Δm:衝突によって変化した分の質量(kg) #self+RTN

    def iMpact(self,m,a,v,margin):

        SRP = self.SRP(a,v)

        Ny  = self.Ny(SRP)

        deg = self.deG(margin,Ny)

        ΔT  = self.ΔT(deg,SRP)

        Tf  = self.Tf(SRP,ΔT)

        mf  = self.mf(m,Tf,SRP)

        Δm  = self.Δm(mf,m)

        return Δm,Tf

#

# Ny:1年の公転回数

#    <PRM> SRP:公転周期 時間(h)

#    <RTN> Ny:1年の公転回数

    def Ny(self,SRP):

        Ny=self.CyT / SRP

        return Ny

#

# deG:1公転での近点移動角度

#    <PRM> margin:近点移動年間移動角度(秒)

#    <RTN> deG:1公転での近点移動角度(秒)

    def deG(self,margin,Ny):

        deG=margin/Ny

        return deG

#

# ΔT:1公転での近点移動時間(h)

#    <PRM> deG:1公転での近点移動角度(秒)

#    <RTN> ΔT:1公転での近点移動時間(h)

    def ΔT(self,deg,SRP):

        ΔT = deg / self.CsS * SRP

        return ΔT

#

# Tf:1公転での近点移動を含めた時間(h)

#    <PRM> SRP:公転周期 時間(h)

#    <RTN> Tf:1公転での近点移動を含めた時間(h)

    def Tf(self,SRP,ΔT):

        Tf = SRP+ΔT

        return Tf

#

# mf:衝突後の天体質量(kg)

#    <PRM> m :衝突前の天体の質量(kg)

#          Tf:1公転での近点移動を含めた時間(h)

#         SRP:公転周期 時間(h)

#    <RTN> mf:衝突後の天体質量(kg)

    def mf(self,m,Tf,SRP):

        mf=m*(Tf/SRP)**2

        return mf

#

# Δm:衝突によって変化した分の質量(kg)

#    <PRM> m :衝突前の天体の質量(kg)

#          mf:衝突後の天体質量(kg)

#    <RTN> Δm:衝突によって変化した分の質量(kg)

    def Δm(self,mf,m):

        Δm = mf – m

        return Δm

#

# iE:衝突エネルギー(je=kg*(km/h)2)

#    <PRM> Sai:衝突前基準軌道の静的エネルギー(je)

#          Sa :衝突後基準軌道の静的エネルギー(je)

#    <RTN> iE:衝突エネルギー(je)

    def iE(self,Sai,Sa):

        return Sai-Sa

#

# iA:衝突位置の動的エネルギー(je=kg*(km/h)2)

#    <PRM> Sai:衝突前基準軌道の静的エネルギー(je)

#          iE :衝突後基準軌道の静的エネルギー(je)

#    <RTN> iA:衝突エネルギー(je)

    def iA(self,Sai,iE):

        return Sai+iE        

class SUN(pLmove):

    def __init__(self):

        self.name=”SUN”

        self.m=1.9891e30

class EARTH(pLmove):

    def __init__(self):

        self.name=”EARTH”

        self.m = 5.97219e24

        self.a = 147077401

        self.ρ = 5.51e12 #密度

        self.margin = 11.45 #秒

class MOON(pLmove):

    def __init__(self):

        self.name=”EARTH-MOON”

        self.m = 7.347673e22

        self.a = 356400

        self.ρ = 3.344 #密度

        self.margin = 360*3600/8.85 #秒

#        self.margin = 0

class SATURN(pLmove):

    def __init__(self):

        self.name=”SATURN”

        self.m = 5.68319e26

        self.a = 1349823615

        self.ρ = 0.687e12 #密度

        self.margin = 162.9 #秒

#

# FUNCTION

#

def prBase():

    print(f”<===== {pln.name:10s} IMFORMATION   =====>”)

    print(” “)

    print(f”Mass     ={pln.m:.5e}kg”)    

    print(f”a        ={pln.a:.5e}km”)    

    print(f”ρ        ={pln.ρ:.5e}kg/km3″)    

    print(f”margin   ={pln.margin:.5e}秒”)    

    print(” “)

    return

def prImpact():

    return

def clImpact():

    m   = pln.m

    a   = pln.a

    margin = pln.margin

    Sa  = pln.Sa(M,m,a)

    va  = pln.va(Sa,m)

    v   = va

    ai  = pln.ax(Sa,pln.EA(M,m),Ai)

    Sai = pln.Sa(M,m,ai)

    vi  = pln.va(Sai,m)

    SRP = pln.SRP(ai,vi)

    (Δm,Tf)  = imp.iMpact(m,ai,vi,margin)

    iE  = imp.iE(Sa,Sai)

    print(“< IMPACT IMFORMATION >”)

    print(” “)

    print(f”Sa = {Sa:.5e}je”)

    print(f”Ai = {Ai:.5e}je”)

    print(f”ai = {ai:.5e}km”)

    print(f”vi = {vi:.5e}km/h”)

    print(f”SRP= {SRP/(365*24):.5e}year ({SRP:.5e}hour)”)

    print(f”Tf = {Tf:.5e}hour”)

    print(f”Δm = {Δm:.5e}kg”)

    print(f”mx = {m+Δm:.5e}kg”)

    print(f”iE = {iE:.5e}je”)

    print(” “)

    return

#

# MAIN ROUTINE

#

#

#—– SUN —–

#

sun = SUN()

M = sun.m

#

#—– SATURN —–

#

imp = iMpact()

pln = SATURN()

prBase()

Ai  = 3.9018993407E+34

clImpact()

#

#—– EARTH – MOON 1 —–

#

ert = EARTH()

M   = ert.m

imp = iMpact()

pln = MOON()

pln.a = 356400

prBase()

Ai  = 1.2553914256E+28

clImpact()

#

#—– EARTH – MOON 2 —–

#

ert = EARTH()

M   = ert.m

imp = iMpact()

pln = MOON()

pln.a = 363400

pln.margin = 0

prBase()

Ai  = 5.7748974729E+28

clImpact()

【実行結果】

<===== SATURN     IMFORMATION   =====>

Mass     =5.68319e+26kg

a        =1.34982e+09km

ρ        =6.87000e+11kg/km3

margin   =1.62900e+02秒

< IMPACT IMFORMATION >

Sa = 7.24428e+35je

Ai = 3.90190e+34je

ai = 1.42667e+09km

vi = 3.47279e+04km/h

SRP= 2.94659e+01year (2.58121e+05hour)

Tf = 2.59077e+05hour

Δm = 4.21756e+24kg

mx = 5.72537e+26kg

iE = 3.90190e+34je

<===== EARTH-MOON IMFORMATION   =====>

Mass     =7.34767e+22kg

a        =3.56400e+05km

ρ        =3.34400e+00kg/km3

margin   =1.46441e+05秒

< IMPACT IMFORMATION >

Sa = 1.07784e+30je

Ai = 1.25539e+28je

ai = 3.60600e+05km

vi = 3.80767e+03km/h

SRP= 6.79270e-02year (5.95041e+02hour)

Tf = 5.99608e+02hour

Δm = 1.13225e+21kg

mx = 7.46090e+22kg

iE = 1.25539e+28je



土星の場合
Δm = 4.21756e+24kg 質量が増えて
近点移動 1.62900e+02秒 がおこります。

月の1回目の衝突の場合
Δm = 1.13225e+21kg 質量が増えて
近点移動 1.46441e+05秒 がおこります。

が計算結果からわかります。
月の2回目の衝突の場合は、みなさんで計算してみてください。

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


最近のコメント
    Archives
    Categories