diff --git a/physics/bragg_angle.py b/physics/bragg_angle.py index 928e3256b..3dbdeb224 100644 --- a/physics/bragg_angle.py +++ b/physics/bragg_angle.py @@ -1,24 +1,26 @@ import math + + def bragg_angle(distance: float, order: int, wavelength: float) -> float: """ Calculate the Bragg diffraction angle using the formula: sin(θ) = (n * λ) / (2 * d) - + Parameters: distance d (float): Distance between crystal planes (in meters). order n (int): Order of reflection. wavelength λ (float): Wavelength of the radiation (in meters). - + Examples: >>> bragg_angle(2.2e-10, 1, 2.2e-10) 30.0 - + >>> bragg_angle(5e-10, 2, 1e-10) 11.5 - + >>> bragg_angle(4e-10, 1, 4e-10) 30.0 - + # Test case for an invalid sine value (out of range) >>> bragg_angle(1e-10, 2, 3e-10) Traceback (most recent call last): @@ -32,6 +34,8 @@ def bragg_angle(distance: float, order: int, wavelength: float) -> float: theta_degrees = math.degrees(theta_radians) return round(theta_degrees, 1) + if __name__ == "__main__": import doctest + doctest.testmod(verbose=True)