11import math
22
3- def check_min_intensity (slit_width = 1 ,diff_angle = 0 , wavelength = 100 ):
3+
4+ def check_min_intensity (slit_width = 1 , diff_angle = 0 , wavelength = 100 ):
45 """
56 Checks for the condition of minimum intensity in a diffraction pattern.
6-
7+
78 Args:
89 slit_width (float): The width of the slit in millimeters.
910 diff_angle (float): The diffraction angle in radians.
1011 wavelength (float): The wavelength of light in nanometers.
11-
12+
1213 Returns:
1314 bool: True if minimum intensity is met, otherwise False.
1415
@@ -18,19 +19,20 @@ def check_min_intensity(slit_width = 1,diff_angle=0, wavelength=100):
1819 True
1920 """
2021 wavelength *= 10 ** - 6
21- n_val = round (slit_width * (diff_angle )/ wavelength ,5 )
22- r_val = ( n_val - math .floor (n_val )== 0 )
22+ n_val = round (slit_width * (diff_angle ) / wavelength , 5 )
23+ r_val = n_val - math .floor (n_val ) == 0
2324 return r_val
2425
25- def check_max_intensity (slit_width = 1 ,diff_angle = 0 ,wavelength = 100 ):
26+
27+ def check_max_intensity (slit_width = 1 , diff_angle = 0 , wavelength = 100 ):
2628 """
2729 Checks for the condition of maximum intensity in a diffraction pattern.
28-
30+
2931 Args:
3032 slit_width (float): The width of the slit in millimeters.
3133 diff_angle (float): The diffraction angle in radians.
3234 wavelength (float): The wavelength of light in nanometers.
33-
35+
3436 Returns:
3537 bool: True if maximum intensity is met, otherwise False.
3638
@@ -39,34 +41,36 @@ def check_max_intensity(slit_width=1,diff_angle=0,wavelength=100):
3941 >>> check_max_intensity(1, 0.00005, 100)
4042 True
4143 """
42- wavelength *= 10 ** - 6
43- n_val = round (((2 * slit_width * diff_angle )- wavelength )/ ( 2 * wavelength ),4 )
44- r_val = ( n_val - math .floor (n_val )== 0 )
44+ wavelength *= 10 ** - 6
45+ n_val = round (((2 * slit_width * diff_angle ) - wavelength ) / ( 2 * wavelength ), 4 )
46+ r_val = n_val - math .floor (n_val ) == 0
4547 return r_val
4648
47- def intensity_single_slit (slit_width = 1 ,diff_angle = 0 ,wavelength = 100 ):
49+
50+ def intensity_single_slit (slit_width = 1 , diff_angle = 0 , wavelength = 100 ):
4851 """
4952 Computes the intensity for a single slit diffraction pattern.
50-
53+
5154 Args:
5255 slit_width (float): The width of the slit in millimeters.
5356 diff_angle (float): The diffraction angle in radians.
5457 wavelength (float): The wavelength of light in nanometers.
55-
58+
5659 Returns:
5760 str: The intensity of the diffraction pattern.
5861
5962 >>> intensity_single_slit(1, 0.0005, 100)
6063 '0.9999999999177533 I0'
6164 """
62- beta = math .pi * slit_width * (math .sin (diff_angle )/ wavelength )
63- i_coeff = (math .sin (beta )/ beta )** 2
65+ beta = math .pi * slit_width * (math .sin (diff_angle ) / wavelength )
66+ i_coeff = (math .sin (beta ) / beta ) ** 2
6467 return f"{ i_coeff } I0"
6568
66- def intensity_double_slit (path_diff = 0 ,intensity_max = "I0" ):
69+
70+ def intensity_double_slit (path_diff = 0 , intensity_max = "I0" ):
6771 """
6872 Computes the intensity for a double slit diffraction pattern.
69-
73+
7074 Args:
7175 path_diff (float): The path difference in the two waves.
7276 intensity_max (str or int): The maximum intensity.
@@ -81,10 +85,16 @@ def intensity_double_slit(path_diff=0,intensity_max="I0"):
8185 >>> intensity_double_slit(0)
8286 '4.0 I0'
8387 """
84- r_val = 4 * intensity_max * (math .cos (path_diff / 2 ))** 2 if (type (intensity_max ) is int ) else f"{ 4 * (math .cos (path_diff / 2 )** 2 )} I0"
88+ r_val = (
89+ 4 * intensity_max * (math .cos (path_diff / 2 )) ** 2
90+ if (type (intensity_max ) is int )
91+ else f"{ 4 * (math .cos (path_diff / 2 )** 2 )} I0"
92+ )
8593 return r_val
8694
87- if (__name__ == "__main__" ):
95+
96+ if __name__ == "__main__" :
8897 import doctest
98+
8999 doctest .testmod ()
90- #pass
100+ # pass
0 commit comments