114 lines
3.9 KiB
Python
114 lines
3.9 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
quarks_in_spinning_nucleus.py
|
||
|
||
The nucleus as a spinning ball with quarks confined inside.
|
||
NOT planetary motion - quarks are trapped in the rotating volume.
|
||
"""
|
||
|
||
import numpy as np
|
||
import scipy.constants as const
|
||
|
||
def analyze_rotating_nucleus():
|
||
"""Analyze quarks inside a spinning nuclear ball"""
|
||
|
||
print("QUARKS IN ROTATING NUCLEUS MODEL")
|
||
print("="*60)
|
||
print("Nucleus = spinning ball, quarks = confined inside")
|
||
print()
|
||
|
||
# Constants
|
||
hbar = const.hbar
|
||
c = const.c
|
||
e = const.e
|
||
mev_to_kg = e * 1e6 / c**2
|
||
|
||
# Nuclear parameters
|
||
r_proton = 0.875e-15 # m
|
||
m_proton = const.m_p
|
||
|
||
# Quark parameters
|
||
m_quark = 336 * mev_to_kg # constituent quark mass
|
||
|
||
# If the proton spins with angular momentum ℏ/2 (spin-1/2)
|
||
L_proton = hbar / 2
|
||
I_proton = (2/5) * m_proton * r_proton**2 # solid sphere
|
||
omega_nuclear = L_proton / I_proton
|
||
|
||
print(f"Spinning proton:")
|
||
print(f" Radius: {r_proton*1e15:.3f} fm")
|
||
print(f" Angular velocity: ω = {omega_nuclear:.3e} rad/s")
|
||
print(f" Surface velocity: v = {omega_nuclear * r_proton / c:.3f}c")
|
||
|
||
# Now, quarks INSIDE this spinning ball
|
||
# They experience fictitious forces in the rotating frame!
|
||
|
||
print(f"\nFor quarks inside the rotating nucleus:")
|
||
|
||
# Centrifugal force on quark at radius r_q
|
||
r_quark = 0.5 * r_proton # quark somewhere inside
|
||
F_centrifugal = m_quark * omega_nuclear**2 * r_quark
|
||
|
||
# Coriolis force (depends on quark velocity in rotating frame)
|
||
# Maximum when quark moves perpendicular to rotation
|
||
v_quark_internal = 0.3 * c # typical quark speed
|
||
F_coriolis_max = 2 * m_quark * omega_nuclear * v_quark_internal
|
||
|
||
print(f" Quark at r = {r_quark*1e15:.3f} fm")
|
||
print(f" Centrifugal force: {F_centrifugal:.3e} N")
|
||
print(f" Max Coriolis force: {F_coriolis_max:.3e} N")
|
||
|
||
# The key insight: confinement might emerge from rotation!
|
||
# As quark tries to escape, it must overcome:
|
||
# 1. Centrifugal barrier (increases with r)
|
||
# 2. Coriolis deflection (curves trajectories)
|
||
|
||
# Effective potential in rotating frame
|
||
print(f"\nEffective confinement from rotation:")
|
||
for r_test in [0.2, 0.5, 0.8]:
|
||
r = r_test * r_proton
|
||
V_centrifugal = -0.5 * m_quark * omega_nuclear**2 * r**2
|
||
print(f" At r = {r*1e15:.3f} fm: V = {V_centrifugal/e/1e6:.3f} MeV")
|
||
|
||
# Compare to QCD string tension
|
||
sigma = 0.18 * (e * 1e9 / 1e-15) # GeV/fm to N
|
||
F_qcd = sigma * r_proton
|
||
|
||
print(f"\nComparison:")
|
||
print(f" Centrifugal force: {F_centrifugal:.3e} N")
|
||
print(f" QCD string force: {F_qcd:.3e} N")
|
||
print(f" Ratio: {F_centrifugal/F_qcd:.1%}")
|
||
|
||
def analyze_quark_trajectories():
|
||
"""What happens to quarks in rotating frame?"""
|
||
|
||
print("\n\nQUARK BEHAVIOR IN ROTATING NUCLEUS")
|
||
print("="*60)
|
||
|
||
# In rotating reference frame, quarks experience:
|
||
# F_total = F_real - m*Ω×(Ω×r) - 2m*Ω×v
|
||
# = F_real + F_centrifugal + F_coriolis
|
||
|
||
print("In the rotating nuclear reference frame:")
|
||
print("1. Centrifugal force pushes quarks outward")
|
||
print("2. Coriolis force curves their trajectories")
|
||
print("3. Together they create effective confinement!")
|
||
print()
|
||
print("Key insight: Rotation creates a 'potential well'")
|
||
print("Quarks are trapped not by a force field,")
|
||
print("but by the geometry of rotating spacetime!")
|
||
|
||
def main():
|
||
analyze_rotating_nucleus()
|
||
analyze_quark_trajectories()
|
||
|
||
print("\n" + "="*70)
|
||
print("REVOLUTIONARY IMPLICATION:")
|
||
print("QCD confinement might be a ROTATING FRAME EFFECT!")
|
||
print("The 'strong force' could be fictitious forces in spinning nuclei")
|
||
print("This explains why free quarks don't exist - ")
|
||
print("they only make sense in rotating reference frames!")
|
||
|
||
if __name__ == "__main__":
|
||
main()
|