Teacher's Guide - Periodic Table

## Teacher's Guide MATLAB Periodic Table

Updated 08/12/04

```
MSDE CORE Learning Goals - Science

1. Goal 1: Skills and Processes
1. Expectation 4: The student will demonstrate that data analysis is
a vital aspect of the process of scientific inquiry and
communication
1. Indicator 6: The student will use spreadsheet, graphing, and
database programs and probeware on computers and/or graphing
calculators
2. Expectation 5: The student will use appropriate methods for
communicating in writing and orally the processses and results of
scientific investigation
1. Indicator 1: The student will demonstrate the ability to
summarize scientific concepts, processes and data through
written communications
2. Indicator 5: The student will use computers and/or graphing
calculators to produce tables, graphs and spreadsheet
calculations
2. Goal 4: Concepts of Chemistry
1. Expectation 2: The student will explain that all matter has
structure and the structure serves as a basis for the properties
of and the changes in matter
1. Indicator 2: The student will demonstrate that the
arrangement and number of electrons determines the properties
of an element and that these properties repeat in a periodic
manner illustrated by their arrangement in the periodic table

The Periodic Table program really consists of several kinds of files.
The first set, called Properties in the Contents file, are the databases.
Currently there are 21 databases available.  Each of these is an executable
file (.m) but they are really nothing more than lists.  Each file has the same
format - a few lines to explain the property and give the units, followed by
106 lines.  Each line contains the name of the variable, the atomic number of
the element and the value of the property.  Here is the first part of the
Density file:

% Density.m creates Densities of solid elements (kg/m3)
% 0 for those not available
Density(1) = 76.0;
Density(2) = 124.8;
Density(3) = 534;
Density(4) = 1847.7;
Density(5) = 2340;
Density(6) = 3513;
Density(7) = 1026;
Density(8) = 2000;
Density(9) = 1516;

Note that the first two lines are commented out (% signs tell MATLAB
not to execute those lines).  Then each line repeats the name of the property,
followed by the atomic number in parentheses and then the value for the property.
Thus "Density(2) = 124.8;  means that the Density of Helium is 124.7 kg/m3.
Some property values are unknown for some elements, and most files have a line
which explains the value substituted for the unknown value.  This is important,
as all these databases must be the same length and must have some value in them.

It is a simple matter to change data in these files.  The files can be
opened by any word processing program and edited, then saved as text files.
If a teacher desired to change this file, they would edit the appropriate line,
for example Density(2) = 133;, then save the file as a text file called dens.m,
the original name of the file.

If a teacher wants to create a new file, they can use an old file and
the find/change option of the wordprocessor to change the property names.
Then they would need to enter the values of the property.

The following properties are avaiable:

Property		Property Name 		File name
Abundance 		abund			ab.m
Boiling Point		BoilingPt		bpt.m
Discovery Date		Date			date.m
Density			Density			dens.m
Electron Affinity	ElecAff 	 	elecaf.m
Electronegativity	ElecNeg			elecneg.m
(Pauling)
Group			Group			group.m
Heat of Formation	hform			hform.m
Heat of Fusion		hfus			hfus.m
Heat of Vaporization	hvap			hvap.m
Ionization Energy	ionE			ion.m
Number of Isotopes	Iso			iso.m
Melting Point		MeltingPt 		mpt.m
Nuclear Charge 		NucChrg 		nucchrg.m
(Slater)
Isotopes
Symbol			Symbol 			symbol.m
Thermal Conductivity	TherCond 		thercon.m
Atomic Weight		AtomWt 			weight.m

In addition to the property databases, there is a file noble.dat,
which contains the data necessary to graph vertical lines at the end of each
period on the table.  This helps students to see periodicity in the properties.

Initialization Routines

There are two programs which muct be run to initialize the Periodic
Table program.  The program makeptab.m reads all the data files and saves them
as ptable.mat.  makeptab.m only needs to be run when there is a change in one
of the databases or a new database has been added.  makeptab.m  must be edited
to include the name of any new databases.  ptable.mat is a binary file which
cannot be directly read or edited.

Likewise, maketab.m read tabrec.dat and creates tabrec.mat, another
binary file which contains the data for drawing a periodic table.  Again, this
program only needs to be run once, unless there is a change to tabrec.dat.

If the versions of tabrec.mat and ptable.mat are on the computer and
are the current versions, the program initTab, loads these two files into the
current memory.  Thus the data is avaliable for the student.

In summary,  makeptab and maketab need to only be run once to establish
the files ptable.mat and tabrec.mat.  Once these two files are on the computer,
the user only needs to run initTab.  This will load the files and return a list
of the variable names.

The following programs each hold data of the listed type for the elements.
Units (if known) are given in the text at the top of the file. These can be
read directly, as they are text files.

Functions

The following "programs" are really functions which can be called for
working with the periodic table data.  These are invoked by simply typing the
appropriate command in the command window.

printp  - draws the periodic table using thtabrec.mat file
clickel - returns info about an element clicked - use this after printp
surf2 - creates a 3d plot of the desired property
This function has the format surf2(PropertyName, tabp);
When first viewed, the axis running from left to right is
period, the axis running from the left corner "into" the screen
is group and the vertical axis is the property

Programs, activities and Worksheets

Teachers can choose to have their students work with the Periodic Table
database using the commands of Matlab.  Several sample worksheets and activities
are included below to illustrate this approach.  They may also choose to use one
of the prewritten programs.  These programs are

circMelt.m
Asks the user for a group number, plots the Melting Point data
and then circles the points for that group
Plots atomic radius vs. atomic numner and plots the noble.dat
vertical lines to separate the periods
plotDate.m
Plots discovery dates vs.atomic number: highlights early
and late discoveries
mboil.m
Plots melting and boiling points - highlights max

Here are some other simple programs, which could be entered by students
(skip the lines with % in front) or entered by the teacher and saved for the
students to run later.

%plotting Heat of Vaporiczation and Boiling Point vs. Atomic Number
plot(hvap,'b');
hold on;
plot(BoilingPt,'y');
hold off;

%Plotting Melting Point and Boiling Point vs. atomic number; find Tungsten
plot(MeltingPt,'r');
hold on;
plot(BoilingPt,'y');
%make sure zoom is off at this point!
el=ginput(1);  		% ginput allows the user to click on the graph
elnum=round(el(1));  	% this rounds the x-value returned by ginput
disp(Symbol(elnum,:))	% This returns the symbol for that x-value
hold off;

%Label early
plot(Date);
hold on;
[firstD,firstE]=sort(Date);	% Sorting the data database from early to late
% circle first 14 elements discovered
plot(firstE(1:14),firstD(1:14),'oc');
% Note - Symbols can have 1 or 2 'columns' - use :
text(firstE(1:10),firstD(1:10),Symbol(firstE(1:10),:));
firstG=Group(firstE(1:12));
% circle last elements discovered
plot(firstE(80:106),firstD(80:106),'om');
disp('now use zoom');
disp('remember to turn zoom off before using ginput');

The following is a worksheet which has been used in some classes.  It
introduces students to some MatLab commands.

MatLab Periodic Table Activity - Worksheet

1. Click on the MatLab alias. After MatLab is open and the command window is
showing the prompt >>, type

initTab

2. Now try plotting a single property vs. atomic number

plot(MeltingPt,'+g');

will give a plot of Melting point vs. atomic number.

a. To find a particular group, type

hold on;  (this holds the current plot)
i=find(Group==1);  (this will find Group 1 elements)
plot(i, MeltingPt(i),'or')  (this will circle the group 1
elements in red on the plot)

b. Now try getting group 2 circled in yellow.

3. Try plotting a different property

hold off;

Now try looking at the data a different way

load noble.dat;  (a file of noble gas atomic numbers)
x=noble(:,2);
y=n*noble(:,1);
hold on;
plot(x,y,'r');

The red lines divide the graph into periods

Repeat the above steps for ionE

4. Try plotting some other properties.

5. You might try a 3 dimensional plot.

atno=[1:1:106];
grid on;

Try comparing some other properties.

And some more ideas to try :

1. Plot Ionization Energy vs. Electron affinity.  Note: Ionization Energy
is in eV and Electron affinity is in kJ/mol so you need to do some unit
conversions on one of the data files first.

2. Related to 1.  Ionization Energy and Electron Affinity are used to
develop electronegativity scales.  Can you find the relationship used to
develop the Pauling scale (which is the basis of the file here?)

3. Plot hvap and hfus on the same graph.  On a second figure, plot bp and
mp. Look for patterns.  Plot a horizontal line at 273 K on the bp, mp
graph - this indicates phases of the elements at room temp.  Which
elements will 'melt' in your hand?

4. Plot number of isotopes and number of radioactive isotopes on the same
graph.  What happens to the number of isotopes as the atomic number
increase?  Above what atomic number are only radioactive isotopes found?
Compare this to a plot of the discovery dates.

5. Compare atomic radius to covalent radius.  Then on a second graph,
compare atomic radius to ionic radius.  What do these graphs  indicated

----------------------------------------------------------------------------

Possible solutions to some of the above:

% Compare Ionization Energy, Electron Affinity and
% Electronegativity
% First convert Electron Affinity to ev
Eaf = ElecAff * 1000/(6.02e23 * 1.6e-19);
plot (Eaf,'r');
hold on;
plot (IonE, 'g');
plot (ElecNeg, 'y');

% Compare melting point and boiling point
% Add a room temperature line
% Look for low melting solids
plot (MeltingPt,'r');
hold on;
plot(BoilingPt,'y');
roomt = 298 * ones(106);
plot (roomt,'g');
zoom;
% Click on the plot near atomic number 30
% Look for low melting solids
% use ginput to try and identify

```