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. 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: Eb = ((a1*A) - (a2*(A**2/3)) - (a3*(Z**2/A**1/3)) - (a4*(((A-2Z)**2)/A )) + (a5/(A**1/2))) where, a1 = 15.67, a2 = 17.23, a3 = 0.75, a4 = 93.2 and a5 = 0 if A is odd Or a5 = 12 if A and Z are both even Or a5 = -12 if A is even and Z is odd 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). Your program should be modular and consists of the following functions: 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.
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.
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:
Eb = ((a1*A) - (a2*(A**2/3)) - (a3*(Z**2/A**1/3)) - (a4*(((A-2Z)**2)/A )) + (a5/(A**1/2)))
where, a1 = 15.67, a2 = 17.23, a3 = 0.75, a4 = 93.2 and
a5 = 0 if A is odd
Or
a5 = 12 if A and Z are both even
Or
a5 = -12 if A is even and Z is odd
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).
Your program should be modular and consists of the following functions:
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.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 4 images