bolverk

hydrogen larmor radiation time

Jun 26th, 2020
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.42 KB | None | 0 0
  1. def atomic_larmor_radiation():
  2.    
  3.     m = sympy.Symbol('m', positive=True) # Electron mass
  4.     h = sympy.Symbol('hbar', positive=True) # Planck constant
  5.     r_e = sympy.Symbol('r_e', positive=True) # Classical electron radius
  6.     r_b = sympy.Symbol('r_b', positive=True) # Bohr radius
  7.     c = sympy.Symbol('c', positive=True) # Speed of light
  8.     alpha = sympy.Symbol('alpha', positive=True) # Fine structure constant
  9.     q = sympy.Symbol('q', positive=True) # Elementary charge
  10.    
  11.     # Determining Bohr's radius
  12.     bohr_radius = sympy.solve(h-m*sympy.sqrt(q**2*r_b/m),r_b)[0]
  13.     print('Bohr radius')
  14.     display(bohr_radius)
  15.    
  16.     # Orbital period
  17.     orbital_period = sympy.sqrt(r_b**3*m/q**2).subs(r_b, bohr_radius)
  18.     print('orbital period')
  19.     display(orbital_period)
  20.    
  21.     # Binding energy
  22.     binding_energy = q**2/bohr_radius
  23.     print('binding energy')
  24.     display(binding_energy)
  25.    
  26.     # Larmor luminosity
  27.     luminosity = (q**2*(q**2/m/r_b**2)**2/c**3).subs(r_b, bohr_radius)
  28.     print('Larmor luminosity')
  29.     display(luminosity)
  30.    
  31.     # Radiation time
  32.     print('radiation time')
  33.     radiation_time = binding_energy/luminosity
  34.     display(radiation_time)
  35.    
  36.     # number of orbits
  37.     temp = radiation_time/orbital_period
  38.     temp = temp.subs(h, q**2/alpha/c)
  39.     temp = temp.subs(q**2, m*c**2*r_e)
  40.     print('Number of orbits')
  41.     display(temp)
  42.    
  43. atomic_larmor_radiation()
Add Comment
Please, Sign In to add comment