The total nuclear binding energy is the energy required to split a nucleus of an atom in its component parts: protons and neutrons, or, collectively, the nucleons. It describes how strongly nucleons are bound to each other. When a high amount of energy is needed to separate the nucleons, it means nucleus is very stable and the neutrons and protons are tightly bound to each other. The atomic number or proton number (symbol Z) is the number of protons found in the nucleus of an atom. The sum of the atomic number Z and the number of neutrons N gives the mass number A of an atom. Figure 1: Binding Energy in the Nucleus The approximate nuclear binding energy Eb in million electron volts, of an atomic nucleus with atomic number Z and mass number A is calculated using the following formula: See pictures The binding energy per nucleon (BEN) is calculated by dividing the binding energy (Eb) by the mass number (A). You are asked to write a program that requests the user for a valid atomic number (Z) then goes through all values of A from A = Z to A = 4Z. For example, if the user inputs 5 for Z then A will be all numbers from 5 (Z) to 20 (4 * Z) inclusive, see the example output in figure 2. If the user enters invalid atomic number that is not between 1 and 118, the program should give the user another chance to enter a valid input as shown in figure 2. Your main task is to find the nucleus with the highest binding energy per nucleon, which corresponds to the most stable configuration (figure 2), and writes a copy of the table to a text file named output.txt (figure3). 2. Modular Programming: Yourprogramshouldbemodular andconsistsofthefollowingfunctions: a) read(): - Ask the user for a valid atomic number (Z) b) compute_binding_energy(Z, table): - Build the table (a list of lists) of binding energy where the columns are: the mass number (A), the binding energy (Eb) and the binding energy per nucleon (BEN), while the rows range from A = Z to A = 4Z c) most_stable(table) : - Find and return the row that contains the highest binding energy per nucleon, which corresponds to the most stable configuration. d) print_table(table): - Print the table in a neat tabular format as shown in the sample run in figure 2. e) write_to_file(table, file_name): - Save the table in a text file output.txt as shown in figure 3. 4 f) main(): - The main function is set up to make the calls to the functions as specified in points a) to e)
Extracted text: Progransing Assigneents/PA4/pa4_nuclear.py, wdir='/Users/haezazidoun/ Docusents/2101/2181_52821/Progranning Assignments/PM) 2osEnter valid atomic nunber (2) [1,118): 0 >Enter valid atomic numnber (Z) [1,1101: -120 >>>Enter valid atonic nunber (2) (1, 118): 200 5>Enter valid atomic number (Z) (1,118): 5 binding energy binding energy per Nucleon -448.996 -226.623 -82.990 -3.778 47.111 64.228 70.245 55.009 35.952 1.794 -32.682 -78.825 -123.453 -177.641 -229.307 -209.143 -89.799 -37.771 -11.856 -0.472 5.235 6,423 6.386 4.584 2.766 0.128 -2.179 -4.927 -7.262 -9.869 -12.069 -14.457 15 16 17 18 19 20 The most stable nucleus has a mass number 10 Figure 2: Sample run of the program output.txt binding energy per Nuc leon energy -448.996 -226.623 -82.990 -3,778 47.111 64.228 -89.799 -37.771 -11.456 -0.472 5:235 6.423
Extracted text: A IS allculated using the following formula: (A – 2Z)?, as A 2. Eb = a, A – azA3 – az- as +. 1 A3 Z where, a, = 15.67, az = 17.23, az = 0.75, a, = 93.2 , and %3D %3D %3D Weights: 6% 2 If you fail to name your file correctly you will loose marks, see grading table. Make sure submit the.py file. Submit well ahead of the deadline to avoid possible Internet congestion and other connection problems. 1 if A ts odd if A and Z are both even if A is even and Z is Odd as = 12.0 -12.0