Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def atomic_larmor_radiation():
- m = sympy.Symbol('m', positive=True) # Electron mass
- h = sympy.Symbol('hbar', positive=True) # Planck constant
- r_e = sympy.Symbol('r_e', positive=True) # Classical electron radius
- r_b = sympy.Symbol('r_b', positive=True) # Bohr radius
- c = sympy.Symbol('c', positive=True) # Speed of light
- alpha = sympy.Symbol('alpha', positive=True) # Fine structure constant
- q = sympy.Symbol('q', positive=True) # Elementary charge
- # Determining Bohr's radius
- bohr_radius = sympy.solve(h-m*sympy.sqrt(q**2*r_b/m),r_b)[0]
- print('Bohr radius')
- display(bohr_radius)
- # Orbital period
- orbital_period = sympy.sqrt(r_b**3*m/q**2).subs(r_b, bohr_radius)
- print('orbital period')
- display(orbital_period)
- # Binding energy
- binding_energy = q**2/bohr_radius
- print('binding energy')
- display(binding_energy)
- # Larmor luminosity
- luminosity = (q**2*(q**2/m/r_b**2)**2/c**3).subs(r_b, bohr_radius)
- print('Larmor luminosity')
- display(luminosity)
- # Radiation time
- print('radiation time')
- radiation_time = binding_energy/luminosity
- display(radiation_time)
- # number of orbits
- temp = radiation_time/orbital_period
- temp = temp.subs(h, q**2/alpha/c)
- temp = temp.subs(q**2, m*c**2*r_e)
- print('Number of orbits')
- display(temp)
- atomic_larmor_radiation()
Add Comment
Please, Sign In to add comment