2026. szeptember 5., szombat

A garavitációs elmélet ellenőrzése pythonban


Albert Einstein gravitációs elméletének (az általános relativitáselméletnek) az alapegyenlete az Einstein-egyenlet:
A program kiszámítja az Einstein-féle gravitációs állandót, ellenőrizzük hogy helyes  volt-e a számítása;
                                                            Kappa = (8 * pi * G) / (c**4)
Adott energia impulzus értékek mellett, a gravitációs téregyenlettel írja le a téridő görbültségét.
-----------------------

import scipy.constants as const
import numpy as np

def einstein_gravitacios_allando():
    """
    Kiszámítja az Einstein-féle gravitációs állandót (kappa = 8 * pi * G / c^4)
    """
    G = const.G          # Newton-féle gravitációs állandó (m^3 kg^-1 s^-2)
    c = const.c          # Fénysebesség (m/s)
    pi = const.pi
    
    # Einstein konstans kiszámítása
    kappa = (8 * pi * G) / (c**4)
    return kappa

def kiszamit_gorbulet(T_mu_nu):
    """
    Kiszámítja az Einstein-tenzort (téridő görbületét) egy adott energia-impulzus tenzorból.
    """
    kappa = einstein_gravitacios_allando()
    
    # G_mu_nu = kappa * T_mu_nu
    G_mu_nu = kappa * np.array(T_mu_nu)
    return G_mu_nu, kappa

# --- Futtatható példa ---
if __name__ == "__main__":
    # Példa: Egy egyszerűsített (4x4-es) energia-impulzus tenzor 
    # SI egységekben (J/m^3 vagy Pa)
    pelda_energia_tenzor = [
        [1.0e17, 0, 0, 0],
        [0, 1.0e5, 0, 0],
        [0, 0, 1.0e5, 0],
        [0, 0, 0, 1.0e5]
    ]
    
    gorbulet_tenzor, konstans = kiszamit_gorbulet(pelda_energia_tenzor)
    
    # Javított mértékegység: N^-1 (vagy s^2 / (kg * m))
    print(f"Einstein-féle gravitációs együttható (kappa): {konstans:.4e} N^-1\n")
    print("Az Einstein-tenzor (görbület, m^-2) értékei az adott tömeg/energia mellett:")
    print(gorbulet_tenzor)
--------------
Eredmény;

Az eredmény Einstein-féle gravitációs együttható (kappa): 2.0766e-43 N^-1

Az Einstein-tenzor (görbület, m^-2) értékei az adott tömeg/energia mellett:

[[2.07664744e-26 0.00000000e+00 0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 2.07664744e-38 0.00000000e+00 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 2.07664744e-38 0.00000000e+00]
 [0.00000000e+00 0.00000000e+00 0.00000000e+00 2.07664744e-38]]

Tehát számítása helyes!

Nincsenek megjegyzések:

Megjegyzés küldése