Photon Absorption/Ionization & Energy Level Diagrams

Photon Absorption/Ionization & Energy Level Diagrams
Loading the math board and drawing, please wait…
2016-10-29 05:48
This GeoGebra example provides an interactive visualization of photon absorption, ionization, and atomic energy level transitions. It demonstrates how an electron jumps between discrete energy levels when the photon energy matches the energy difference, and how it escapes the atom when the photon energy exceeds the ionization threshold. The core mathematical concepts include energy conservation, discrete energy levels, the relation E=hν, and the use of geometric elements (lines, circles, polygons) to represent abstract physical quantities. The construction employs GeoGebra commands such as Line, Point, Circle, Segment, Polygon for building the energy axis and electron positions, If, Intersect, OrthogonalLine, Slope for conditional logic and geometric relations, sliders to control photon energy and time, and text fields to display numerical values. This resource is suitable for high school or introductory university physics courses covering atomic physics and quantum mechanics, as well as for interdisciplinary math-physics explorations.

GeoGebra Commands & Parameters

  1. Line(R_2, M_2) → m_3
  2. Point(yAxis) → C
  3. Point(yAxis) → B
  4. Point(yAxis) → D
  5. Point(yAxis) → E
  6. Point(yAxis) → F
  7. If(t < tcollide, 0, If[t > tcollide + ttransition, ttransition, t - tcollide]) → telectron
  8. If(0 < leveli < 2, 1, 0) → testleveli1
  9. If(3 < leveli < 5, 1, 0) → testleveli4
  10. If(1 < leveli < 3, 1, 0) → testleveli2
  11. If(2 < leveli < 4, 1, 0) → testleveli3
  12. If(4 < leveli < 6, 1, 0) → testleveli5
  13. If(Energynew > (-r), 1, 0) → testA
  14. If(abs(abs(Energynew) - abs(y(E))) < r, 1, 0) → testE
  15. If(levelnumber > 5, 1, 0) → testlevel6
  16. If(abs(abs(Energynew) - abs(y(B))) < r, testlevel6, 0) → testB
  17. If(levelnumber > 4, 1, 0) → testlevel5
  18. If(abs(abs(Energynew) - abs(y(C))) < r, testlevel5, 0) → testC
  19. If(levelnumber > 3, 1, 0) → testlevel4
  20. If(abs(abs(Energynew) - abs(y(D))) < r, testlevel4, 0) → testD
  21. Line(P_2, m_3) → j_3
  22. Line(K_2, yAxis) → i_3
  23. Intersect(i_3, j_3) → T_2
  24. OrthogonalLine(M, m_3) → n
  25. Intersect(n, j_3) → P
  26. Slope(m_3) → slopephotonpath
  27. Line(A, xAxis) → f
  28. Point(f) → K
  29. OrthogonalLine(K, f) → f_2
  30. Line(C, xAxis) → h
  31. Intersect(h, f_2) → O_1
  32. Segment(C, O_1) → i_2
  33. Segment(A, K) → g_2
  34. Line(F, xAxis) → k
  35. Intersect(k, f_2) → S_2
  36. Segment(F, S_2) → l_2
  37. Line(E, xAxis) → j
  38. Intersect(j, f_2) → Q_1
  39. Segment(E, Q_1) → k_2
  40. Line(D, xAxis) → i
  41. Intersect(i, f_2) → P_1
  42. Segment(D, P_1) → j_2
  43. Line(B, xAxis) → g
  44. Intersect(g, f_2) → N_1
  45. Segment(B, N_1) → h_2
  46. If(490 < w < 510, (-((w - 510) / 20)), If[380 < w < 491, 1, 0]) → BCoeff
  47. If(440 < w < 490, (w - 440) / 50, If[580 < w < 645, (-((w - 645) / 65)), If[489 < w < 581, 1, 0]]) → GCoeff
  48. If(380 < w < 440, (w - 440) / 60, If[510 < w < 580, (w - 510) / 70, If[579 < w < 780, 1, 0]]) → RCoeff
  49. Line(I_2, L_2) → p_3
  50. OrthogonalLine(J_2, m_3) → q_3
  51. OrthogonalLine(I_2, m_3) → r_3
  52. Circle(I_2, 1) → c_3
  53. Intersect(c_3, r_3) → N_2, O_2
  54. Intersect(q_3, j_3) → W_2
  55. Circle(W_2, 1) → d_3
  56. Intersect(d_3, q_3, 1) → Z_2
  57. Midpoint(Z_2, O_2) → A_3
  58. Midpoint(I_2, W_2) → B_3
  59. Midpoint(B_3, I_2) → C_3
  60. Midpoint(C_3, I_2) → D_3
  61. Midpoint(O_2, A_3) → E_3
  62. Midpoint(E_3, A_3) → F_3
  63. Midpoint(B_3, W_2) → G_3
  64. Midpoint(I_2, O_2) → I_3
  65. Midpoint(B_3, G_3) → J_3
  66. Midpoint(A_3, Z_2) → K_3
  67. Midpoint(K_3, Z_2) → L_3
  68. Midpoint(Z_2, W_2) → M_3
  69. PolyLine(I_3, D_3, F_3, J_3, L_3, M_3) → s_3
  70. If(t > tcollide, 1, 0) → testcollide
  71. If(tcollide + ttransition < t, 1, 0) → testtimeionize
  72. Textfield(w) → InputBox1
  73. If(abs(Energyphoton) > abs(electroni), (-electroni), Energyphoton) → transitionarrow
  74. Vector(G, H) → u
  75. Segment(I, J) → l
  76. Circle(P, 1) → d
  77. Circle(L, 1) → c
  78. OrthogonalLine(L, m_3) → m
  79. Intersect(c, m, 1) → N
  80. Intersect(d, n, 1) → O
  81. Midpoint(L, P) → Q
  82. Midpoint(N, O) → R
  83. Midpoint(L, N) → S
  84. Midpoint(P, O) → T
  85. Midpoint(L, Q) → U
  86. Midpoint(L, U) → V
  87. Midpoint(N, R) → W
  88. Midpoint(W, R) → Z
  89. Midpoint(Q, P) → A_1
  90. Midpoint(Q, A_1) → B_1
  91. Midpoint(R, O) → C_1
  92. Midpoint(C_1, O) → D_1
  93. PolyLine(S, V, Z, B_1, D_1, T) → p
  94. Polygon(E_1, F_1, G_1, H_1) → poly1, e_1, f_1, g_1, h_1