Scattering/0000755000175000017500000000000011615063333012156 5ustar segresegreScattering/t/0000755000175000017500000000000011615063333012421 5ustar segresegreScattering/t/test_X_S.t0000755000175000017500000000240211043203346014332 0ustar segresegre#!/usr/bin/perl -w ## -*- cperl -*- use Xray::Scattering; my $d = 3; my $symb = Xray::Scattering->get_valence('F', -1); BEGIN { $| = 1; print "1..5$/"; } END {print "not ok 1$/" unless $loaded;} use Xray::Absorption; $loaded = 1; $i = 0; print "ok ", ++$i, $/; if ($symb eq q{F1-}) { print "ok ", ++$i, $/ } else { print "not ok ", ++$i, $/ }; #printf "Cromer-Mann: %s %s %s\n", # $symb, $d, Xray::Scattering->get_f($symb, $d); #print join(" ", Xray::Scattering->get_coefficients($symb)), $/; if (abs(7.619 - Xray::Scattering->get_f($symb, $d)) < 0.01) { print "ok ", ++$i, $/ } else { print "not ok ", ++$i, $/ }; Xray::Scattering -> load('waaskirf'); #printf "Waasmaier-Kirfel: %s %s %s\n", # $symb, $d, Xray::Scattering->get_f($symb, $d); #print join(" ", Xray::Scattering->get_coefficients($symb)), $/; if (abs(7.620 - Xray::Scattering->get_f($symb, $d)) < 0.01) { print "ok ", ++$i, $/ } else { print "not ok ", ++$i, $/ }; Xray::Scattering -> load('none'); #printf "None: %s %s %s\n", # $symb, $d, Xray::Scattering->get_f($symb, $d); #print join(" ", Xray::Scattering->get_coefficients($symb)), $/; if (Xray::Scattering->get_f($symb, $d) == 0) { print "ok ", ++$i, $/ } else { print "not ok ", ++$i, $/ }; Scattering/lib/0000755000175000017500000000000011153431232012716 5ustar segresegreScattering/lib/Xray/0000755000175000017500000000000011615063333013647 5ustar segresegreScattering/lib/Xray/Scattering/0000755000175000017500000000000011615063333015752 5ustar segresegreScattering/lib/Xray/Scattering/CromerMann.pm0000644000175000017500000002144611300251542020350 0ustar segresegre## Time-stamp: <16-Nov-2009 08:17:52 bruce> ###################################################################### ## This module is copyright (c) 1998-2008 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exafs/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## $Id: CromerMann.pm,v 1.3 1999/06/11 22:19:59 bruce Exp $ ###################################################################### ## Code: package Xray::Scattering::CromerMann; use strict; use warnings; use version; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; @ISA = qw(Exporter AutoLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT_OK = qw(get_f get_valence in_CromerMann get_CromerMann_coefficients); # Preloaded methods go here. use Storable; use Chemistry::Elements qw(get_symbol); use File::Spec; $VERSION = version->new("3.0.0"); my $dbfile = File::Spec->catfile($Xray::Scattering::data_dir, "cromann.db"); my $r_cromann = retrieve($dbfile); sub _identify_self { my @caller = caller; use File::Basename qw(dirname); return dirname($caller[1]); }; sub tabulated { my $sym = lc($_[0]); return exists $$r_cromann{$sym} ? ucfirst($sym) : 0; }; { no warnings 'once'; # alternate names *has = \ &tabulated; }; #----------------------------------------------------------------------- # the formula for reconstruction of f0 is: # 4 # f0(s) = sum [ ai*exp(-bi*s^2) ] + c , s = sin(theta) / lambda # i=1 ==> (lambda*s / 2pi) is the # momentum transfer #----------------------------------------------------------------------- # coef: 1..9 corresponding to a1,b1,a2,b2,a3,b3,a4,b4,c #----------------------------------------------------------------------- # call spcing(qvect,cell,d) # s = one / (2*d) ## given a symbol and the d-spacing, return the Thomson scattering ## (F0). The symbol is one of the valence state symbols from the ## Cromer-Mann tables, or a Z number, or a normal element symbol, or ## the full name of the element. sub get_f { shift; my $sym = lc($_[0]); my $s = (1/(2*$_[1]))**2; ## a few special cases return 0 if ($sym =~ /nu/i); # "null" return 0 if ($sym =~ /^\s*$/i); # blank ($sym =~ /^\d+$/) and $sym = lc(get_symbol($sym)); # a number (length($sym)>4) and $sym = lc(get_symbol($sym)); # an element name ## fall back to the element if the ion isn't tabulated $sym = substr($sym, 0, 2) if (not exists $$r_cromann{$sym}); $sym = substr($sym, 0, 1) if (not exists $$r_cromann{$sym}); exists $$r_cromann{$sym} or return 0; # oops! not a symbol my $sum = $r_cromann->{$sym}->[8]; foreach my $i (0..3) { $sum += $r_cromann->{$sym}->[2*$i] * exp(-1 * $s * $r_cromann->{$sym}->[2*$i+1]); }; return $sum; }; sub get_coefficients { shift; my $sym = lc($_[0]); my @null = (0,0,0,0,0,0,0,0,0); return @null if ($sym =~ /nu/i); # "null" return @null if ($sym =~ /^\s*$/i); # blank ($sym =~ /^\d+$/) and $sym = lc(get_symbol($sym)); # a number (length($sym)>4) and $sym = lc(get_symbol($sym)); # an element name ## fall back to the element if the ion isn't tabulated $sym = substr($sym, 0, 2) if (not exists $$r_cromann{$sym}); $sym = substr($sym, 0, 1) if (not exists $$r_cromann{$sym}); exists $$r_cromann{$sym} or return @null; # oops! not a symbol return @{$$r_cromann{$sym}}; }; 1; __END__ =head1 NAME Xray::Scattering::CromerMann - Perl interface to Thomspon scattering factors =head1 SYNOPSIS use Xray::Scattering; Xray::Scattering->load('CroMann'); $fnot = Xray::Scattering->get_f($symb, $d); =head1 DESCRIPTION This module provides a functional interface to the Cromer-Mann table of coefficients for calculating the Thomson (kinematical) scattering factors of the elements and common valence states. The coefficients are stored externally in the cromann.db database file. The coefficients are for an Aikman expansion, which is of this form: 4 f0 = sum [ ai*exp(-bi*s^2) ] + c i=1 Thus there are 9 coefficients for each of the 213 tabulated element/valence symbols. C is C. C<(lambda*s)/2pi> is the momentum transfer. C is simply related to the crystal d-spacing by C. The data for these tables can be found in Volume C of the International Tables of Crystallography, ed. A.J.C. Wilson, published by IUCr and Kluwer Academic Publishers (1992). The table starts on page 500 and a discussion can be found on page 487. These tables are known to be inaccurate, particularly at high angles. This module is a toy. It is suitable for a student or for the sort of quick-n-dirty crystallographic hackery that the author indulges in. =head1 CLASS METHODS =over 4 =item C This function calculates the Thomson scattering for a given symbol and d-spacing. The Thomson scattering depends only on the momentum transfer. The d-spacing of the scattering planes is a closely related quantity and is easily calculated from the crystal structure, see L. $symb = "Ce3+"; $fnot = Xray::Scattering->get_f($symb, $d); If the symbol cannot be found in the table, C returns 0. It also returns 0 when C<$symbol> consists of whitespace or is "null" or "nu". If C<$symbol> is a number or the name of an element, then it assumes you want the Thomson scattering for the neutral element. The absolute value of C<$d_spacing> is used by this function. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the scattering factor for the 0 valent atom. =item C This returns the 9 element list containing the coefficients for the given symbol. @coefs = Xray::Scattering->get_coefficients($elem) Returns the array a1,b1,a2,b2,a3,b3,a4,b4,c. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the coefficients for the 0 valent atom. =item C This is a test of whether a given symbol is tabulated in the Cromer-Mann table. It returns the symbol itself if found in the table or 0 if it is not in the table. $symb = "Ce3+"; $is_tabulated = Xray::Scattering->has($symb); =back =head1 ELEMENTS AND VALENCE STATES The following is a list of symbols for the tabulated elements and valence states. The final two are ways of refering to an empty site (i.e. a null or blank atom). H H. H1- He Li Li1+ Be Be2+ B C C. N O O1- F F1- Ne Na Na1+ Mg Mg2+ Al Al3+ Si Si. Si4+ S P Cl Cl1- Ar K K1+ Ca Ca2+ Sc Sc3+ Ti Ti2+ Ti3+ Ti4+ V V2+ V3+ V5+ Cr Cr2+ Cr3+ Mn Mn2+ Mn3+ Mn4+ Fe Fe2+ Fe3+ Co Co2+ Co3+ Ni Ni2+ Ni3+ Cu Cu1+ Cu2+ Zn Zn2+ Ga Ga3+ Ge Ge4+ As Se Br Br1- Kr Rb Rb1+ Sr Sr2+ Y Y3+ Zr Zr4+ Nb Nb3+ Nb5+ Mo Mo3+ Mo5+ Mo6+ Tc Ru Ru3+ Ru4+ Rh Rh3+ Rh4+ Pd Pd2+ Pd4+ Ag Ag1+ Ag2+ Cd Cd2+ In In3+ Sn Sn2+ Sn4+ Sb Sb3+ Sb5+ Te I I1- Xe Cs Cs1+ Ba Ba2+ La La3+ Ce Ce3+ Ce4+ Pr Pr3+ Pr4+ Nd Nd3+ Pm Pm3+ Sm Sm3+ Eu Eu2+ Eu3+ Gd Gd3+ Tb Tb3+ Dy Dy3+ Ho Ho3+ Er Er3+ Tm Tm3+ Yb Yb2+ Yb3+ Lu Lu3+ Hf Hf4+ Ta Ta5+ W W6+ Re Os Os4+ Ir Ir3+ Ir4+ Pt Pt2+ Pt4+ Au Au1+ Au3+ Hg Hg1+ Hg2+ Tl Tl1+ Tl3+ Pb Pb2+ Pb4+ Bi Bi3+ Bi5+ Po At Rn Fr Ra Ra2+ Ac Ac3+ Th Th4+ Pa U U3+ U4+ U6+ Np Np3+ Np4+ Np6+ Pu Pu3+ Pu4+ Pu6+ Am Cm Bk Cf O2-. ' ' Nu =head1 AUTHOR Bruce Ravel, bravel AT bnl DOT gov http://cars9.uchicago.edu/~ravel/software/exafs/ =cut Scattering/lib/Xray/Scattering/WaasKirf.pm0000644000175000017500000002056611300251542020020 0ustar segresegre## Time-stamp: <16-Nov-2009 08:17:50 bruce> ###################################################################### ## This module is copyright (c) 2005-2008 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exafs/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## $Id: CromerMann.pm,v 1.3 1999/06/11 22:19:59 bruce Exp $ ###################################################################### ## Code: package Xray::Scattering::WaasKirf; use strict; use warnings; use version; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; @ISA = qw(Exporter AutoLoader); @EXPORT_OK = qw(); use Chemistry::Elements qw(get_symbol); use File::Spec; use Storable; $VERSION = version->new("3.0.0"); my $dbfile = File::Spec->catfile($Xray::Scattering::data_dir, "waaskirf.db"); my $r_waaskirf = retrieve($dbfile); sub _identify_self { my @caller = caller; use File::Basename qw(dirname); return dirname($caller[1]); }; sub tabulated { shift; my $sym = lc($_[0]); return exists $$r_waaskirf{$sym} ? ucfirst($sym) : 0; }; { no warnings 'once'; # alternate names *has = \ &tabulated; }; #----------------------------------------------------------------------- # the formula for reconstruction of f0 is: # 5 # f0(s) = sum [ ai*exp(-bi*s^2) ] + c , s = sin(theta) / lambda # i=1 ==> (lambda*s / 2pi) is the # momentum transfer #----------------------------------------------------------------------- # coef: 1..11 corresponding to a1,a2,a3,a4,a5,c,b1,b2,b3,b4,b5 #----------------------------------------------------------------------- # call spcing(qvect,cell,d) # s = one / (2*d) ## given a symbol and the d-spacing, return the Thomson scattering (F0). The ## symbol is one of the valence state symbols from the Waaskirf-Kirfel tables, ## or a Z number, or a normal element symbol, or the full name of the element. sub get_f { shift; my $sym = lc($_[0]); my $s = (1/(2*$_[1]))**2; ## a few special cases return 0 if ($sym =~ /nu/i); # "null" return 0 if ($sym =~ /^\s*$/i); # blank ($sym =~ /^\d+$/) and $sym = lc(get_symbol($sym)); # a number (length($sym)>4) and $sym = lc(get_symbol($sym)); # an element name ## fall back to the element if the ion isn't tabulated $sym = substr($sym, 0, 2) if (not exists $$r_waaskirf{$sym}); $sym = substr($sym, 0, 1) if (not exists $$r_waaskirf{$sym}); exists $$r_waaskirf{$sym} or return 0; # oops! not a symbol my $sum = $r_waaskirf->{$sym}->[5]; foreach my $i (0..4) { $sum += $r_waaskirf->{$sym}->[$i] * exp(-1 * $s * $r_waaskirf->{$sym}->[$i+6]); }; return $sum; }; sub get_coefficients { shift; my $sym = lc($_[0]); my @null = (0,0,0,0,0,0,0,0,0,0,0); return @null if ($sym =~ /nu/i); # "null" return @null if ($sym =~ /^\s*$/i); # blank ($sym =~ /^\d+$/) and $sym = lc(get_symbol($sym)); # a number (length($sym)>4) and $sym = lc(get_symbol($sym)); # an element name ## fall back to the element if the ion isn't tabulated $sym = substr($sym, 0, 2) if (not exists $$r_waaskirf{$sym}); $sym = substr($sym, 0, 1) if (not exists $$r_waaskirf{$sym}); exists $$r_waaskirf{$sym} or return @null; # oops! not a symbol return @{$$r_waaskirf{$sym}}; }; 1; __END__ =head1 NAME Xray::Scattering::WassKirf - Perl interface to the Waaskirf-Kirfel tables =head1 SYNOPSIS use Xray::Scattering; Xray::Scattering->load('WaasKirf'); $fnot = Xray::Scattering->get_f($symb, $d); =head1 DESCRIPTION This module provides a functional interface to the Waasmaier-Kirfel tables of coefficients for calculating the Thomson (kinematical) scattering factors of the elements and common valence states. The coefficients are stored externally in the waaskirf.db database file. The coefficients are for an Aikman expansion, which is of this form: 5 f0 = sum [ ai*exp(-bi*s^2) ] + c i=1 Thus there are 11 coefficients for each of the 211 tabulated element/valence symbols. C is C. C<(lambda*s)/2pi> is the momentum transfer. C is simply related to the crystal d-spacing by C. The reference for these tables is "New Analytical Scattering Factor Functions for Free Atoms and Ions for Free Atoms and Ions", D. Waasmaier & A. Kirfel, Acta Cryst. (1995) A51, pp. 416-413. [doi:10.1107/S0108767394013292] These data, computed for neutral atoms and ions, are valid for the full range of sin(theta)/lambda from 0.0 to 6.0 A-1. The actual data used in the W-K Aikman expansion can be found in a few places on the web. Here is where I obtained the file used with this module: http://ftp.esrf.fr/pub/scisoft/xop/DabaxFiles/f0_WaasKirf.dat =head1 METHODS =over 4 =item C This function calculates the Thomson scattering for a given symbol and d-spacing. The Thomson scattering depends only on the momentum transfer. The d-spacing of the scattering planes is a closely related quantity and is easily calculated from the crystal structure, see L. $symb = "Ce3+"; $fnot = Xray::Scattering->get_f($symb, $d); If the symbol cannot be found in the table, C returns 0. It also returns 0 when C<$symbol> consists of whitespace or is "null" or "nu". If C<$symbol> is a number or the name of an element, then it assumes you want the Thomson scattering for the neutral element. The absolute value of C<$d_spacing> is used by this function. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the scattering factor for the 0 valent atom. =item C This returns the 11 element list containing the coefficients for the given symbol. @coefs = Xray::Scattering->get_coefficients($symb) This returns a1,b1,a2,b2,a3,b3,a4,b4,c. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the coefficients for the 0 valent atom. =item C This is a test of whether a given symbol is tabulated in the Waasmaier-Kirfel table. It returns the symbol itself if found in the table or 0 if it is not in the table. $symb = "Ce3+"; $is_tabulated = Xray::Scattering->has($symb); =back =head1 ELEMENTS AND VALENCE STATES The following is a list of symbols for the tabulated elements and valence states. The final two are ways of refering to an empty site (i.e. a null or blank atom). H H1- He Li Li1+ Be Be2+ B C Cval N O O1- O2- F F1- Ne Na Na1+ Mg Mg2+ Al Al3+ Si Siva Si4+ P S Cl Cl1- Ar K K1+ Ca Ca2+ Sc Sc3+ Ti Ti2+ Ti3+ Ti4+ V V2+ V3+ V5+ Cr Cr2+ Cr3+ Mn Mn2+ Mn3+ Mn4+ Fe Fe2+ Fe3+ Co Co2+ Co3+ Ni Ni2+ Ni3+ Cu Cu1+ Cu2+ Zn Zn2+ Ga Ga3+ Ge Ge4+ As Se Br Br1- Kr Rb Rb1+ Sr Sr2+ Y Zr Zr4+ Nb Nb3+ Nb5+ Mo Mo3+ Mo5+ Mo6+ Tc Ru Ru3+ Ru4+ Rh Rh3+ Rh4+ Pd Pd2+ Pd4+ Ag Ag1+ Ag2+ Cd Cd2+ In In3+ Sn Sn2+ Sn4+ Sb Sb3+ Sb5+ Te I I1- Xe Cs Cs1+ Ba Ba2+ La La3+ Ce Ce3+ Ce4+ Pr Pr3+ Pr4+ Nd Nd3+ Pm Pm3+ Sm Sm3+ Eu Eu2+ Eu3+ Gd Gd3+ Tb Tb3+ Dy Dy3+ Ho Ho3+ Er Er3+ Tm Tm3+ Yb Yb2+ Yb3+ Lu Lu3+ Hf Hf4+ Ta Ta5+ W W6+ Re Os Os4+ Ir Ir3+ Ir4+ Pt Pt2+ Pt4+ Au Au1+ Au3+ Hg Hg1+ Hg2+ Tl Tl1+ Tl3+ Pb Pb2+ Pb4+ Bi Bi3+ Bi5+ Po At Rn Fr Ra Ra2+ Ac Ac3+ Th Th4+ Pa U U3+ U4+ U6+ Np Np3+ Np4+ Np6+ Pu Pu3+ Pu4+ Pu6+ Am Cm Bk Cf ' ' Nu =head1 AUTHOR Bruce Ravel, bravel AT bnl DOT gov http://cars9.uchicago.edu/~ravel/software/exafs/ =cut Scattering/lib/Xray/Scattering/None.pm0000644000175000017500000000434411300251542017204 0ustar segresegre## Time-stamp: <16-Nov-2009 08:17:52 bruce> ###################################################################### ## This module is copyright (c) 2005-2008 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exafs/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## $Id: CromerMann.pm,v 1.3 1999/06/11 22:19:59 bruce Exp $ ###################################################################### ## Code: package Xray::Scattering::None; use strict; use warnings; use version; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); use Chemistry::Elements qw(get_symbol); use File::Spec; use Storable; require Exporter; @ISA = qw(Exporter AutoLoader); @EXPORT_OK = qw(); $VERSION = version->new("3.0.0"); sub tabulated { shift; my $sym = lc($_[0]); return ucfirst($sym); }; { no warnings 'once'; # alternate names *has = \ &tabulated; }; sub get_f { shift; return 0; }; sub get_coefficients { shift; my $sym = lc($_[0]); my @null = (0,0,0,0,0,0,0,0,0,0,0); return @null; }; 1; __END__ =head1 NAME Xray::Scattering::None - Fallback methods for Xray::Scattering =head1 SYNOPSIS use Xray::Scattering; Xray::Scattering->load('None'); $fnot = Xray::Scattering->get_f($symb, $d); =head1 DESCRIPTION This module provides a fallback subclass for the Xray::Scattering methods. It provides all the methods of the real subclasses, but returns fallback values. =head1 METHODS =over 4 =item C Retruns 0. =item C returns an array of 11 zeros. =item C Always returns the symbol itself. =back =head1 AUTHOR Bruce Ravel, bravel AT bnl DOT gov http://cars9.uchicago.edu/~ravel/software/exafs/ =cut Scattering/lib/Xray/Scattering.pm0000644000175000017500000001564411370625157016330 0ustar segresegre## Time-stamp: <2010-05-06 16:39:51 bruce> ###################################################################### ## This module is copyright (c) 1999-2010 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exafs/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## Code: package Xray::Scattering; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw($resource $verbose); use strict; use vars qw(@ISA $VERSION $resource $verbose $data_dir); use Carp; use Chemistry::Elements qw(get_Z get_symbol); use File::Spec; use version; $VERSION = version->new("3.0.1"); $resource = "cromermann"; $verbose = 0; my $is_windows = (($^O eq 'MSWin32') or ($^O eq 'cygwin')); sub identify_self { my @caller = caller; use File::Basename qw(dirname); return dirname($caller[1]); }; $data_dir = q{}; if ($is_windows and defined($ENV{IFEFFIT_DIR})) { eval "use Ifeffit::FindFile; $data_dir = Ifeffit::FindFile->find('other', 'scattering')"; } else { $data_dir = File::Spec->catfile(identify_self(), 'Scattering'); }; sub load { shift; $resource = $_[0] || $resource; $resource = lc($resource); @ISA = load_database('Xray::Scattering', $resource); }; sub load_database { my($class,$resource) = (shift, lc(shift)); if ($resource =~ /^cro/) { require Xray::Scattering::CromerMann; 'Xray::Scattering::CromerMann'; } elsif ($resource =~ /^waas/) { require Xray::Scattering::WaasKirf; 'Xray::Scattering::WaasKirf'; } elsif ($resource eq 'none') { require Xray::Scattering::None; 'Xray::Scattering::None'; } else { croak "$resource is an unknown Xray::Absorption resource"; } }; sub available { shift; my @list = ("Cromer-Mann", "Waasmaier-Kirfel", "None"); return @list; }; ## what's the dot thing? sub get_valence { shift; my ($elem, $val) = @_; $elem = ucfirst($elem); if ($val eq '.') { return $elem . $val } elsif (lc($val) eq 'va') { return $elem . lc($val); }; $val = _nint($val); if ($val > 0) { return $elem . $val . "+"; } elsif ($val < 0) { return $elem . abs($val) . "-"; } else { return $elem; } }; sub _nint { my $v = $_[0]; my $i = int($v); if ($v >= 0) { ( ($v-$i) == 0.5 ) and (not $i % 2) and return $i+1; ( ($v-$i) > 0.5 ) and return $i+1; return $i; } else { ( ($i-$v) == 0.5 ) and (not $i % 2) and return $i-1; ( ($i-$v) > 0.5 ) and return $i-1; return $i; }; }; Xray::Scattering->load($resource); 1; __END__ =head1 NAME Xray::Scattering - X-ray scattering data for the elements =head1 SYNOPSIS use Xray::Scattering; Xray::Scattering->load('CroMann'); $fnot = Xray::Scattering->get_f($symb, $d); Xray::Scattering->load('WaasKirt'); $fnot = Xray::Scattering->get_f($symb, $d); =head1 DESCRIPTION This module supports access to X-ray scattering data for atoms and ions. It is designed to be a transparent interface to scattering data from a variety of sources. Currently, the only sources of data are the Cromer-Mann tables from the International Tables of Crystallography and the 1995 Waasmaier-Kirfel tables. More resources can be added easily. =head1 METHODS =over 4 =item C This method returns a list of data resources available to this module. Currently this returns an array consisting of these strings: Cromer-Mann Waasmaier-Kirfel None The first two are functional interfaces to those databases. The third is a fallback subclass which returns default values for all methods. =item C This returns the element/valence symbol in the proper form for use with other methods. C<$elem> is a two-letter atomic symbol, and C<$valence> is the valence of the ion. C<$valence> can be an integer, a float, a dot or the string "va". $symbol = Xray::Scattering->get_valence($elem, $valence) Unless the valence is a dot or the string "va", the nearest integer to C<$valence> is used with the element symbol to construct the element/valence symbol. As an example, C<$symbol eq "Cu2+"> if C<$elem eq "Cu"> and C<$valence == 2>. =back =head1 SUBCLASS METHODS All the available subclasses corresponding to the data resources provide their own versions of the following methods: =over 4 =item C This function calculates the Thomson scattering for a given symbol and d-spacing. The Thomson scattering depends only on the momentum transfer. The d-spacing of the scattering planes is a closely related quantity and is easily calculated from the crystal structure, see L. $symb = "Ce3+"; $fnot = Xray::Scattering->get_f($symb, $d); If the symbol cannot be found in the table, C returns 0. It also returns 0 when C<$symbol> consists of whitespace or is "null" or "nu". If C<$symbol> is a number or the name of an element, then it assumes you want the Thomson scattering for the neutral element. The absolute value of C<$d_spacing> is used by this function. The C subclass always returns 0. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the scattering factor for the 0 valent atom. =item C This returns the 9 (Cromer-Mann) or 11 (Waasmaier-Kirfel) element list containing the coefficients for the given symbol. @coefs = Xray::Scattering->get_coefficients($symb) See the documents for the subclasses for the order of the coefficients. The None subclass always returns a list of 11 zeros. If you ask for a valence state that is not in the table but for an element whose 0+ state is in the table, this method returns the coefficients for the 0 valent atom. =item C This is a test of whether a given symbol is tabulated in the selected data resource table. It returns the symbol itself if found in the table or 0 if it is not in the table. $symb = "Ce3+"; $has = Xray::Scattering->has($symb); The None subclass returns the symbol itself. =back =head1 AUTHOR Bruce Ravel, bravel AT bnl DOT gov http://cars9.uchicago.edu/~ravel/software/exafs/ =head1 LICENCE AND COPYRIGHT Copyright (c) 2006-2008 Bruce Ravel (bravel AT bnl DOT gov). All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See L. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =cut Scattering/data/0000755000175000017500000000000011615063333013067 5ustar segresegreScattering/data/f0_WaasKirf.dat0000644000175000017500000012302610733227532015664 0ustar segresegre#F f0_WaasKirf.dat #UT Elastic Photon-Atom Scattering, relativistic form factors. #UIDL xf0 #U3W Sheet_f0 #C This file has been created using f0_WaasKirf.tcl on #C This file belongs to the DABAX library. More information on #C DABAX can be found at: #C http://www.esrf.fr/computing/expg/subgroups/theory/DABAX/dabax.html #UD Elastic Photon-Atom Scattering, relativistic form factors. #UD #UD This data set contains data calculated by D. Waasmaier & A. Kirfel. #UD The original data is available from : #UD ftp://wrzx02.rz.uni-wuerzburg.de/pub/local/Crystallography #UD ftp://www-phys.llnl.gov/rayleigh #UD These data, computed for neutral atoms and ions are valid for the full #UD range of sin(theta)/lambda from 0.0 to 6.0 A-1.This table have been #UD developped from fits of o linear combination of five Gaussians to the #UD values of the scattering factors tabulated in "International tables for #UD Crystallography (1992) [Vol. C. Dordrecht: Kluwer Academic Publishers]. #UD For a detailed discussion of the underlying validity of the #UD information contained in these directories see, for example: #UD #UD New Analytical Scattering Factor Functions for Free Atoms #UD and Ions for Free Atoms and Ions #UD D. Waasmaier & A. Kirfel #UD Acta Cryst. (1995). A51, 416-413 #UD #UD fo the non-dispersive part of the atomic scattering factor is a #UD function of the selected element and of sin(theta)/lambda, where #UD lambda is the photon wavelengh and theta is incident angle. #UD This function can be approximated by a function: #UD #UD f0[k] = c + [SUM a_i*EXP(-b_i*(k^2)) ] #UD i=1,5 #UD #UD where k = sin(theta) / lambda and c, a_i and b_i #UD are the coefficients tabulated in this file (in columns: #UD a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 #C #C The original README fime from D. Waasmaier & A. Kirfel follows here : #C #UO April, 1995 #UO #UO This directory contains the results of the publication: #UO #UO New Analytical Scattering Factor Functions for Free Atoms and Ions #UO D. Waasmaier & A. Kirfel #UO Acta Cryst. (1995). A51, 416-413 #UO #UO - *.zip: A detailed compilation of all relevant results (one page per #UO atom or ion) has been prepared in form of an 'atlas'. This atlas is #UO stored in the postscript-files #UO sfac10.zip - sfac98.zip for atoms with increasing atom number and #UO sfaci1.zip - sfaci6.zip for ions, again with increasing atom number. #UO #UO - abstract.ps contains an extract of the publication refering to the atlas. #UO #UO - sfac.dat contains the new parameters ai, bi and c for all atoms and ions. #UO #UO Fitparameters of all atoms/ions (with the excepetion of O1-) #UO from publication "New Analytical Scattering Factor Functions for #UO Free Atoms and Ions", D. Waasmaier & A. Kirfel, Acta Cryst. A 95 #UO #UO Fit for O1- based on the tabulated values of Table 2 (D.REZ, #UO P.REZ & I.GRANT, Acta Cryst. (1994), A50, 481-497). #UO #UO Fits for all other atoms/ions based on the tabulated values #UO of Table 6.1.1.1 (atoms) and Table 6.1.1.3 (ions) #UO (International Tables for Crystallography, Vol. C, 1992). #S 1 H #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.413048 0.294953 0.187491 0.080701 0.023736 0.000049 15.569946 32.398468 5.711404 61.889874 1.334118 #S 1 H1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.702260 0.763666 0.248678 0.261323 0.023017 0.000425 23.945604 74.897919 6.773289 233.583450 1.337531 #S 2 He #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.732354 0.753896 0.283819 0.190003 0.039139 0.000487 11.553918 4.595831 1.546299 26.463964 0.377523 #S 3 Li #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.974637 0.158472 0.811855 0.262416 0.790108 0.002542 4.334946 0.342451 97.102966 201.363831 1.409234 #S 3 Li1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.432724 0.549257 0.376575 -0.336481 0.976060 0.001764 0.260367 1.042836 7.885294 0.260368 3.042539 #S 4 Be #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.533712 0.638283 0.601052 0.106139 1.118414 0.002511 42.662079 0.595420 99.106499 0.151340 1.843093 #S 4 Be2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.055430 -2.372617 1.044914 0.544233 0.381737 -0.653773 0.001226 0.001227 1.542106 0.456279 4.047479 #S 5 B #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 2.085185 1.064580 1.062788 0.140515 0.641784 0.003823 23.494068 1.137894 61.238976 0.114886 0.399036 #S 6 C #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 2.657506 1.078079 1.490909 -4.241070 0.713791 4.297983 14.780758 0.776775 42.086842 -0.000294 0.239535 #S 6 Cval #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.258489 0.728215 1.119856 2.168133 0.705239 0.019722 10.683769 0.208177 0.836097 24.603704 58.954273 #S 7 N #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.893780 3.277479 1.858092 0.858927 0.912985 -11.804902 0.000158 10.232723 30.344690 0.656065 0.217287 #S 8 O #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 2.960427 2.508818 0.637853 0.722838 1.142756 0.027014 14.182259 5.936858 0.112726 34.958481 0.390240 #S 8 O1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.106934 3.235142 1.148886 0.783981 0.676953 0.046136 19.868080 6.960252 0.170043 65.693512 0.630757 #S 8 O2- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.990247 2.300563 0.607200 1.907882 1.167080 0.025429 16.639956 5.636819 0.108493 47.299709 0.379984 #S 9 F #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.511943 2.772244 0.678385 0.915159 1.089261 0.032557 10.687859 4.380466 0.093982 27.255203 0.313066 #S 9 F1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 0.457649 3.841561 1.432771 0.801876 3.395041 0.069525 0.917243 5.507803 0.164955 51.076206 15.821679 #S 10 Ne #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.183749 2.905726 0.520513 1.135641 1.228065 0.025576 8.175457 3.252536 0.063295 21.813910 0.224952 #S 11 Na #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.910127 3.081783 1.262067 1.098938 0.560991 0.079712 3.281434 9.119178 0.102763 132.013947 0.405878 #S 11 Na1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.148690 4.073989 0.767888 0.995612 0.968249 0.045300 2.594987 6.046925 0.070139 14.122657 0.217037 #S 12 Mg #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.708971 1.194814 1.558157 1.170413 3.239403 0.126842 4.875207 108.506081 0.111516 48.292408 1.928171 #S 12 Mg2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.062918 4.135106 0.853742 1.036792 0.852520 0.058851 2.015803 4.417941 0.065307 9.669710 0.187818 #S 13 Al #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.730796 2.313951 1.541980 1.117564 3.154754 0.139509 3.628931 43.051167 0.095960 108.932388 1.555918 #S 13 Al3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.132015 0.912049 1.102425 0.614876 3.219136 0.019397 3.528641 7.378344 0.133708 0.039065 1.644728 #S 14 Si #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 5.275329 3.191038 1.511514 1.356849 2.519114 0.145073 2.631338 33.730728 0.081119 86.288643 1.170087 #S 14 Siva #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 2.879033 3.072960 1.515981 1.390030 4.995051 0.146030 1.239713 38.706276 0.081481 93.616333 2.770293 #S 14 Si4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 3.676722 3.828496 1.258033 0.419024 0.720421 0.097266 1.446851 3.013144 0.064397 0.206254 5.970222 #S 15 P #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.950541 4.146930 1.494560 1.522042 5.729711 0.155233 0.908139 27.044952 0.071280 67.520187 1.981173 #S 16 S #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.372157 5.154568 1.473732 1.635073 1.209372 0.154722 1.514347 22.092527 0.061373 55.445175 0.646925 #S 17 Cl #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.446071 6.870609 6.151801 1.750347 0.634168 0.146773 0.052357 1.193165 18.343416 46.398396 0.401005 #S 17 Cl1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.061802 7.139886 6.524271 2.355626 35.829403 -34.916603 0.144727 1.171795 19.467655 60.320301 0.000436 #S 18 Ar #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.188004 6.638454 0.454180 1.929593 1.523654 0.265954 0.956221 15.339877 15.339862 39.043823 0.062409 #S 19 K #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 8.163991 7.146945 1.070140 0.877316 1.486434 0.253614 12.816323 0.808945 210.327011 39.597652 0.052821 #S 19 K1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 -17.609339 1.494873 7.150305 10.899569 15.808228 0.257164 18.840979 0.053453 0.812940 22.264105 14.351593 #S 20 Ca #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 8.593655 1.477324 1.436254 1.182839 7.113258 0.196255 10.460644 0.041891 81.390381 169.847839 0.688098 #S 20 Ca2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 8.501441 12.880483 9.765095 7.156669 0.711160 -21.013187 10.525848 -0.004033 0.010692 0.684443 27.231771 #S 21 Sc #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 1.476566 1.487278 1.600187 9.177463 7.099750 0.157765 53.131023 0.035325 137.319489 9.098031 0.602102 #S 21 Sc3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.104348 1.511488-53.669773 38.404816 24.532240 0.118642 0.601957 0.033386 12.572138 10.859736 14.125230 #S 22 Ti #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 9.818524 1.522646 1.703101 1.768774 7.082555 0.102473 8.001879 0.029763 39.885422 120.157997 0.532405 #S 22 Ti2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.040119 1.496285 9.657304 0.006534 1.649561 0.150362 0.537072 0.031914 8.009958201.800293 24.039482 #S 22 Ti3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 36.587933 7.230255 -9.086077 2.084594 17.294008 -35.111282 0.000681 0.522262 5.262317 15.881716 6.149805 #S 22 Ti4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 45.355537 7.092900 7.483858-43.498817 1.678915 -0.110628 9.252186 0.523046 13.082852 10.193876 0.023064 #S 23 V #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 10.473575 1.547881 1.986381 1.865616 7.056250 0.067744 7.081940 0.026040 31.909672 108.022842 0.474882 #S 23 V2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.754356 2.064100 2.576998 2.011404 7.126177 -0.533379 7.066315 0.014993 7.066308 22.055786 0.467568 #S 23 V3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 9.958480 1.596350 1.483442 -10.846044 17.332867 0.474921 6.763041 0.056895 17.750029 0.328826 0.388013 #S 23 V5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.575018 8.448095 1.612040 -9.721855 1.534029 0.552676 0.682708 5.566640 10.527077 0.907961 0.066667 #S 24 Cr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.007069 1.555477 2.985293 1.347855 7.034779 0.065510 6.366281 0.023987 23.244839 105.774498 0.429369 #S 24 Cr2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 10.598877 1.565858 2.728280 0.098064 6.959321 0.049870 6.151846 0.023519 17.432816 54.002388 0.426301 #S 24 Cr3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.989310 1.765079 2.627125 1.829380 6.980908 -0.192123 6.068867 0.018342 6.068887 16.309284 0.420864 #S 25 Mn #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.709542 1.733414 2.673141 2.023368 7.003180 -0.147293 5.597120 0.017800 21.788420 89.517914 0.383054 #S 25 Mn2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.287712 26.042414 3.058096 0.090258 7.088306 -24.566132 5.506225 0.000774 16.158575 54.766354 0.375580 #S 25 Mn3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.926972 2.081342 11.128379 2.375107 -0.419287 -0.093713 0.378315 0.015054 5.379957 14.429586 0.004939 #S 25 Mn4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 12.409131 7.466993 1.809947 -12.138477 10.780248 0.672146 0.300400 0.112814 12.520756 0.168653 5.173237 #S 26 Fe #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 12.311098 1.876623 3.066177 2.070451 6.975185 -0.304931 5.009415 0.014461 18.743040 82.767876 0.346506 #S 26 Fe2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.776765 11.165097 3.533495 0.165345 7.036932 -9.676919 4.912232 0.001748 14.166556 42.381958 0.341324 #S 26 Fe3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 9.721638 63.403847 2.141347 2.629274 7.033846 -61.930725 4.869297 0.000293 4.867602 13.539076 0.338520 #S 27 Co #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 12.914510 2.481908 3.466894 2.106351 6.960892 -0.936572 4.507138 0.009126 16.438129 76.987320 0.314418 #S 27 Co2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.993840 26.285812 12.254289 0.246114 4.017407 -24.796852 0.310779 0.000684 4.400528 35.741447 12.536393 #S 27 Co3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.861739 2.678570 12.281889 3.501741 -0.179384 -1.147345 0.309794 0.008142 4.331703 11.914167 11.914167 #S 28 Ni #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 13.521865 6.947285 3.866028 2.135900 4.284731 -2.762697 4.077277 0.286763 14.622634 71.966080 0.004437 #S 28 Ni2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 12.519017 37.832058 4.387257 0.661552 6.949072 -36.344471 3.933053 0.000442 10.449184 23.860998 0.283723 #S 28 Ni3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 13.579366 1.902844 12.859268 3.811005 -6.838595 -0.317618 0.313140 0.012621 3.906407 10.894311 0.344379 #S 29 Cu #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 14.014192 4.784577 5.056806 1.457971 6.932996 -3.254477 3.738280 0.003744 13.034982 72.554794 0.265666 #S 29 Cu1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 12.960763 16.342150 1.110102 5.520682 6.915452 -14.849320 3.576010 0.000975 29.523218 10.114283 0.261326 #S 29 Cu2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 11.895569 16.344978 5.799817 1.048804 6.789088 -14.878383 3.378519 0.000924 8.133653 20.526524 0.254741 #S 30 Zn #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 14.741002 6.907748 4.642337 2.191766 38.424042 -36.915829 3.388232 0.243315 11.903689 63.312130 0.000397 #S 30 Zn2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 13.340772 10.428857 5.544489 0.762295 6.869172 -8.945248 3.215913 0.001413 8.542680 21.891756 0.239215 #S 31 Ga #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.758946 6.841123 4.121016 2.714681 2.395246 -0.847395 3.121754 0.226057 12.482196 66.203621 0.007238 #S 31 Ga3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 13.123875 35.288189 6.126979 0.611551 6.724807 -33.875122 2.809960 0.000323 6.831534 16.784311 0.212002 #S 32 Ge #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.540613 1.567900 3.727829 3.345098 6.785079 0.018726 2.866618 0.012198 13.432163 58.866047 0.210974 #S 32 Ge4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.876636 6.779091 9.969591 3.135857 0.152389 1.086542 2.025174 0.176650 3.573822 7.685848 16.677574 #S 33 As #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.025642 4.503441 3.715904 3.937200 6.790175 -2.984117 2.597739 0.003012 14.272119 50.437996 0.193015 #S 34 Se #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.354071 4.653248 4.259489 4.136455 6.749163 -3.160982 2.349787 0.002550 15.579460 45.181202 0.177432 #S 35 Br #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.550570 5.411882 3.937180 3.880645 6.707793 -2.492088 2.119226 16.557184 0.002481 42.164009 0.162121 #S 35 Br1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.714310 6.466926 6.947385 4.402674 -0.697279 1.152674 2.122554 19.050768 0.152708 58.690361 58.690372 #S 36 Kr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.655279 6.848105 4.171004 3.446760 6.685200 -2.810592 1.908231 16.606236 0.001598 39.917473 0.146896 #S 37 Rb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 8.123134 2.138042 6.761702 1.156051 17.679546 1.139548 15.142385 33.542667 0.129372 224.132507 1.713368 #S 37 Rb1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.684320 7.761588 6.680874 2.668883 0.070974 1.133263 1.710209 14.919863 0.128542 31.654478 0.128543 #S 38 Sr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.730219 9.795867 6.099763 2.620025 0.600053 1.140251 1.563060 14.310868 0.120574 135.771317 0.120574 #S 38 Sr2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.694973 1.275762 6.154252 9.234786 0.515995 1.125309 1.550888 30.133041 0.118774 13.821799 0.118774 #S 39 Y #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.792040 10.253252 5.714949 3.170516 0.918251 1.131787 1.429691 13.132816 0.112173 108.197029 0.112173 #S 40 Zr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.859772 10.911038 5.821115 3.512513 0.746965 1.124859 1.310692 12.319285 0.104353 91.777542 0.104353 #S 40 Zr4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.802956 17.699253 10.650647 -0.248108 0.250338 0.827902 0.096228 1.296127 11.240715 -0.219259 -0.219021 #S 41 Nb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.958399 12.063054 5.007015 3.287667 1.531019 1.123452 1.211590 12.246687 0.098615 75.011948 0.098615 #S 41 Nb3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.714323 1.675213 7.483963 8.322464 11.143573 -8.339573 1.172419 30.102791 0.080255 -0.002983 10.456687 #S 41 Nb5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.580206 7.633277 10.793497 0.180884 67.837921 -68.024780 1.165852 0.078558 9.507652 31.621656 -0.000438 #S 42 Mo #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.236218 17.987711 12.973127 3.451426 0.210899 1.108770 0.090780 1.108310 11.468720 66.684151 0.090780 #S 42 Mo3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.447050 17.778122 11.886068 1.997905 1.789626 -1.898764 0.072000 1.073145 9.834720 28.221746 -0.011674 #S 42 Mo5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 7.929879 17.667669 11.515987 0.500402 77.444084 -78.056595 0.068856 1.068064 9.046229 26.558945 -0.000473 #S 42 Mo6+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 34.757683 9.653037 6.584769 -18.628115 2.490594 1.141916 1.301770 7.123843 0.094097 1.617443 12.335434 #S 43 Tc #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.840963 3.428236 1.373012 12.947364 6.335469 1.074784 1.005729 41.901382 119.320541 9.781542 0.083391 #S 44 Ru #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.271624 17.906738 14.123269 3.746008 0.908235 1.043992 0.077040 0.928222 9.555345 35.860680 123.552246 #S 44 Ru3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.894758 13.579529 10.729251 2.474095 48.227997 -51.905243 0.902827 8.740579 0.045125 24.764954 -0.001699 #S 44 Ru4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.845776 13.455084 10.229087 1.653524 14.059795 -17.241762 0.901070 8.482392 0.045972 23.015272 -0.004889 #S 45 Rh #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.216648 17.919739 3.854252 0.840326 15.173498 0.995452 0.070789 0.856121 33.889484 121.686691 9.029517 #S 45 Rh3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.758621 14.569813 5.298320 2.533579 0.879753 0.960843 0.841779 8.319533 0.069050 23.709131 0.069050 #S 45 Rh4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.716188 14.446654 5.185801 1.703448 0.989992 0.959941 0.840572 8.100647 0.068995 22.357307 0.068995 #S 46 Pd #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.121511 4.784063 16.631683 4.318258 13.246773 0.883099 0.062549 0.784031 8.751391 34.489983 0.784031 #S 46 Pd2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.122282 15.651012 3.513508 9.060790 8.771199 0.879336 0.062424 8.018296 24.784275 0.776457 0.776457 #S 46 Pd4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.152421 -96.069023 31.622141 81.578255 17.801403 0.915874 0.063951 11.090354 13.466152 9.758302 0.783014 #S 47 Ag #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.073874 17.155437 4.173344 0.852238 17.988686 0.756603 0.055333 7.896512 28.443739 110.376106 0.716809 #S 47 Ag1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.091192 4.019526 16.948174 4.258638 13.889437 0.785127 0.056305 0.719340 7.758938 27.368349 0.719340 #S 47 Ag2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.401808 48.699802 4.799859 -32.332523 16.356710 1.068247 0.068167 0.942270 20.639496 1.100365 6.883131 #S 48 Cd #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.080986 18.019468 4.018197 1.303510 17.974669 0.603504 0.048990 7.273646 29.119284 95.831207 0.661231 #S 48 Cd2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.093711 43.909691 17.041306 -39.675117 17.958918 0.664795 0.050624 8.654143 15.621396 11.082067 0.667591 #S 49 In #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.196477 18.816183 4.050479 1.638929 17.962912 0.333097 0.042072 6.695665 31.009790 103.284348 0.610714 #S 49 In3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.206277 18.497746 3.078131 10.524613 7.401234 0.293677 0.041357 6.605563 18.792250 0.608082 0.608082 #S 50 Sn #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.325171 6.281571 4.498866 1.856934 17.917318 0.119024 6.118104 0.036915 32.529045 95.037186 0.565651 #S 50 Sn2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.353672 4.770377 14.672025 4.235959 18.002131 -0.042519 0.034720 6.167891 6.167879 29.006456 0.561774 #S 50 Sn4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.445732 6.420892 4.562980 1.713385 18.033537 -0.172219 6.280898 0.033144 6.280899 17.983601 0.557980 #S 51 Sb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 5.394956 6.549570 19.650681 1.827820 17.867832 -0.290506 33.326523 0.030974 5.564929 87.130966 0.523992 #S 51 Sb3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 10.189171 57.461918 19.356573 4.862206 -45.394096 1.516108 0.089485 0.375256 5.357987 22.153736 0.297768 #S 51 Sb5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.920622 6.647932 12.724075 1.555545 7.600591 -0.445371 0.522315 0.029487 5.718210 16.433775 5.718204 #S 52 Te #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 6.660302 6.940756 19.847015 1.557175 17.802427 -0.806668 33.031654 0.025750 5.065547 84.101616 0.487660 #S 53 I #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.884502 6.736593 8.110516 1.170953 17.548716 -0.448811 4.628591 0.027754 31.849096 84.406387 0.463550 #S 53 I1- #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 20.010330 17.835524 8.104130 2.231118 9.158548 -3.341004 4.565931 0.444266 32.430672 95.149040 0.014906 #S 54 Xe #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.978920 11.774945 9.332182 1.244749 17.737501 -6.065902 4.143356 0.010142 28.796200 75.280685 0.413616 #S 55 Cs #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.418674 8.314444 10.323193 1.383834 19.876251 -2.322802 0.399828 0.016872 25.605827 233.339676 3.826915 #S 55 Cs1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.939056 24.967621 10.375884 0.454243 17.660248 -19.394306 3.770511 0.004040 25.311275 76.537766 0.384730 #S 56 Ba #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.747343 17.368477 10.465718 2.592602 11.003653 -5.183497 3.481823 0.371224 21.226641 173.834274 0.010719 #S 56 Ba2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.750200 17.513683 10.884892 0.321585 65.149834 -59.618172 3.430748 0.361590 21.358307 70.309402 0.001418 #S 57 La #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.966019 27.329655 11.018425 3.086696 17.335455 -21.745489 3.197408 0.003446 19.955492 141.381973 0.341817 #S 57 La3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 19.688887 17.345703 11.356296 0.099418 82.358124 -76.846909 3.146211 0.339586 18.753832 90.345459 0.001072 #S 58 Ce #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.355122 43.988499 20.546650 3.130670 11.353665 -38.386017 0.328369 0.002047 3.088196 134.907654 18.832960 #S 58 Ce3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 26.593231 85.866432 -6.677695 12.111847 17.401903 -80.313423 3.280381 0.001012 4.313575 17.868504 0.326962 #S 58 Ce4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.457533 25.659941 11.691037 19.695251 -16.994749 -3.515096 0.311812 -0.003793 16.568687 2.886395 -0.008931 #S 59 Pr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 21.551311 17.161730 11.903859 2.679103 9.564197 -3.871068 2.995675 0.312491 17.716705 152.192825 0.010468 #S 59 Pr3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 20.879841 36.035797 12.135341 0.283103 17.167803 -30.500784 2.870897 0.002364 16.615236 53.909359 0.306993 #S 59 Pr4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.496082 21.538509 20.403114 12.062211 -7.492043 -9.016722 0.294457 -0.002742 2.772886 15.804613 -0.013556 #S 60 Nd #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.331244 62.783924 12.160097 2.663483 22.239950 -57.189842 0.300269 0.001320 17.026001 148.748993 2.910268 #S 60 Nd3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.120077 56.038139 21.468307 10.000671 2.905866 -50.541992 0.291295 0.001421 2.743681 14.581367 22.485098 #S 61 Pm #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.286388 51.560162 12.478557 2.675515 22.960947 -45.973682 0.286620 0.001550 16.223755 143.984512 2.796480 #S 61 Pm3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 22.221066 17.068142 12.805423 0.435687 52.238770 -46.767181 2.635767 0.277039 14.927315 45.768017 0.001455 #S 62 Sm #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 23.700363 23.072214 12.777782 2.684217 17.204367 -17.452166 2.689539 0.003491 15.495437 139.862473 0.274536 #S 62 Sm3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.618565 19.538092 13.398946 -4.358811 24.490461 -9.714854 0.006001 0.306379 14.979594 0.748825 2.454492 #S 63 Eu #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.186195 37.156837 13.103387 2.707246 24.419271 -31.586687 0.261678 0.001995 14.787360 134.816299 2.581883 #S 63 Eu2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 23.899035 31.657497 12.955752 1.700576 16.992199 -26.204315 2.467332 0.002230 13.625002 35.089481 0.253136 #S 63 Eu3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.758327 33.498665 24.067188 13.436883 -9.019134 -19.768026 0.244474 -0.003901 2.487526 14.568011 -0.015628 #S 64 Gd #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 24.898117 17.104952 13.222581 3.266152 48.995213 -43.505684 2.435028 0.246961 13.996325 110.863091 0.001383 #S 64 Gd3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 24.344999 16.945311 13.866931 0.481674 93.506378 -88.147179 2.333971 0.239215 12.982995 43.876347 0.000673 #S 65 Tb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 25.910013 32.344139 13.765117 2.751404 17.064405 -26.851971 2.373912 0.002034 13.481969 125.836510 0.236916 #S 65 Tb3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 24.878252 16.856016 13.663937 1.279671 39.271294 -33.950317 2.223301 0.227290 11.812528 29.910065 0.001527 #S 66 Dy #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 26.671785 88.687576 14.065445 2.768497 17.067781 -83.279831 2.282593 0.000665 12.920230 121.937187 0.225531 #S 66 Dy3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.864344 90.383461 13.675473 1.687078 25.540651 -85.150650 0.216275 0.000593 11.121207 26.250975 2.135930 #S 67 Ho #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 27.150190 16.999819 14.059334 3.386979 46.546471 -41.165253 2.169660 0.215414 12.213148 100.506783 0.001211 #S 67 Ho3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.837524 63.221336 13.703766 2.061602 26.202621 -58.026505 0.206873 0.000796 10.500283 24.031883 2.055060 #S 68 Er #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.174887 82.493271 14.624002 2.802756 17.018515 -77.135223 2.120995 0.000640 11.915256 114.529938 0.207519 #S 68 Er3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.810127 22.681061 13.864114 2.294506 26.864477 -17.513460 0.198293 0.002126 9.973341 22.836388 1.979442 #S 69 Tm #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.925894 76.173798 14.904704 2.814812 16.998117 -70.839813 2.046203 0.000656 11.465375 111.411980 0.199376 #S 69 Tm3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.787500 15.350905 14.182357 2.299111 27.573771 -10.192087 0.190852 0.003036 9.602934 22.526880 1.912862 #S 70 Yb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 29.676760 65.624069 15.160854 2.830288 16.997850 -60.313812 1.977630 0.000720 11.044622 108.139153 0.192110 #S 70 Yb2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.443794 16.849527 14.165081 3.445311 28.308853 -23.214935 1.863896 0.183811 9.225469 23.691355 0.001463 #S 70 Yb3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.191629 16.828087 14.167848 2.744962 23.171774 -18.103676 1.842889 0.182788 9.045957 20.799847 0.001759 #S 71 Lu #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 30.122866 15.099346 56.314899 3.540980 16.943729 -51.049416 1.883090 10.342764 0.000780 89.559250 0.183849 #S 71 Lu3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.828693 16.823227 14.247617 3.079559 25.647667 -20.626528 1.776641 0.175560 8.575531 19.693701 0.001453 #S 72 Hf #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 30.617033 15.145351 54.933548 4.096253 16.896156 -49.719837 1.795613 9.934469 0.000739 76.189705 0.175914 #S 72 Hf4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 29.267378 16.792543 14.785310 2.184128 23.791996 -18.820383 1.697911 0.168313 8.190025 18.277578 0.001431 #S 73 Ta #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.066359 15.341823 49.278297 4.577665 16.828321 -44.119026 1.708732 9.618455 0.000760 66.346199 0.168002 #S 73 Ta5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 29.539469 16.741854 15.182070 1.642916 16.437447 -11.542459 1.612934 0.160460 7.654408 17.070732 0.001858 #S 74 W #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.507900 15.682498 37.960129 4.885509 16.792112 -32.864574 1.629485 9.446448 0.000898 59.980675 0.160798 #S 74 W6+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 29.729357 17.247808 15.184488 1.154652 0.739335 3.945157 1.501648 0.140803 6.880573 14.299601 14.299618 #S 75 Re #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.888456 16.117104 42.390297 5.211669 16.767591 -37.412682 1.549238 9.233474 0.000689 54.516373 0.152815 #S 76 Os #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.210297 16.678440 48.559906 5.455839 16.735533 -43.677956 1.473531 9.049695 0.000519 50.210201 0.145771 #S 76 Os4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 17.113485 15.792370 23.342392 4.090271 7.671292 3.988390 0.131850 7.288542 1.389307 19.629425 1.389307 #S 77 Ir #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.004436 1.975454 17.070105 15.939454 5.990003 4.018893 1.353767 81.014175 0.128093 7.661196 26.659403 #S 77 Ir3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.537575 16.363338 15.597141 5.051404 1.436935 4.009459 1.334144 7.451918 0.127514 21.705648 0.127515 #S 77 Ir4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 30.391249 16.146996 17.019068 4.458904 0.975372 4.006865 1.328519 7.181766 0.127337 19.060146 1.328519 #S 78 Pt #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.273891 18.445440 17.063745 5.555933 1.575270 4.050394 1.316992 8.797154 0.124741 40.177994 1.316997 #S 78 Pt2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.986849 17.249048 15.269374 5.760234 1.694079 4.032512 1.281143 7.625512 0.123571 24.190826 0.123571 #S 78 Pt4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 41.932713 16.339224 17.653894 6.012420-12.036877 4.094551 1.111409 6.466086 0.128917 16.954155 0.778721 #S 79 Au #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.777390 19.317156 32.979683 5.595453 10.576854 -6.279078 0.122737 8.621570 1.256902 38.008820 0.000601 #S 79 Au1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.124306 16.716476 16.814100 7.311565 0.993064 4.040792 1.216073 7.165378 0.118715 20.442486 53.095985 #S 79 Au3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 31.704271 17.545767 16.819551 5.522640 0.361725 4.042679 1.215561 7.220506 0.118812 20.050970 1.215562 #S 80 Hg #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.839890 20.023823 28.428564 5.881564 4.714706 4.076478 0.115905 8.256927 1.195250 39.247227 1.195250 #S 80 Hg1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 28.866837 19.277540 16.776051 6.281459 3.710289 4.068430 1.173967 7.583842 0.115351 29.055994 1.173968 #S 80 Hg2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.411079 18.690371 16.711773 9.974835 -3.847611 4.052869 1.162980 7.329806 0.114518 22.009489 22.009493 #S 81 Tl #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.630795 19.386616 32.808571 1.747191 6.356862 4.066939 0.110704 7.181401 1.119730 90.660263 26.014978 #S 81 Tl1+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.295044 16.570049 17.991013 1.535355 7.554591 4.054030 1.101544 0.110020 6.528559 52.495068 20.338634 #S 81 Tl3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.525639 19.139185 17.100321 5.891115 12.599463 -9.256075 1.094966 6.900992 0.103667 18.489614 -0.001401 #S 82 Pb #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.419567 32.738590 6.530247 2.342742 19.916475 4.049824 0.105499 1.055049 25.025890 80.906593 6.664449 #S 82 Pb2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 27.392647 16.496822 19.984501 6.813923 5.233910 4.065623 1.058874 0.106305 6.708123 24.395554 1.058874 #S 82 Pb4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.505657 20.014240 14.645661 5.029499 1.760138 4.044678 1.047035 6.670321 0.105279 16.525040 0.105279 #S 83 Bi #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.282274 32.725136 6.678302 2.694750 20.576559 4.040914 0.101180 1.002287 25.714146 77.057549 6.291882 #S 83 Bi3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.461437 19.438683 16.302486 7.322662 0.431704 4.043703 0.997930 6.038867 0.101338 18.371586 46.361046 #S 83 Bi5+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.734028 20.580494 9.452623 61.155834 -34.041023 4.113663 0.105076 4.773282 11.762162 1.211775 1.619408 #S 84 Po #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.289164 32.807171 21.095163 2.505901 7.254589 4.046556 0.098121 0.966265 6.046622 76.598068 28.096128 #S 85 At #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.011461 32.615547 8.113899 2.884082 21.377867 3.995684 0.092639 0.904416 26.543257 68.372963 5.499512 #S 86 Rn #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.070229 32.641106 21.489658 2.299218 9.480184 4.020977 0.090437 0.876409 5.239687 69.188477 27.632641 #S 87 Fr #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 16.007385 32.663830 21.594351 1.598497 11.121192 4.003472 0.087031 0.840187 4.954467 199.805801 26.905106 #S 88 Ra #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.563690 21.396671 11.298093 2.834688 15.914965 3.981773 0.801980 4.590666 22.758972 160.404388 0.083544 #S 88 Ra2+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 4.986228 32.474945 21.947443 11.800013 10.807292 3.956572 0.082597 0.791468 4.608034 24.792431 0.082597 #S 89 Ac #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.914053 32.535042 21.553976 11.433394 3.612409 3.939212 0.080511 0.770669 4.352206 21.381622 130.500748 #S 89 Ac3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.584983 32.022125 21.456327 0.757593 12.341252 3.838984 0.077438 0.739963 4.040735 47.525002 19.406845 #S 90 Th #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.784024 32.454899 21.849222 4.239077 11.736191 3.922533 0.077067 0.735137 4.097976 109.464111 20.512138 #S 90 Th4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.515445 32.090691 13.996399 12.918157 7.635514 3.831122 0.074499 0.711663 3.871044 18.596891 3.871044 #S 91 Pa #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.740208 21.973675 12.957398 3.683832 15.744058 3.886066 0.709545 4.050881 19.231543 117.255005 0.074040 #S 92 U #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.679275 32.824306 13.660459 3.687261 22.279434 3.854444 0.071206 0.681177 18.236156 112.500038 3.930325 #S 92 U3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.360309 32.395657 21.961290 1.325894 14.251453 3.706622 0.067815 0.654643 3.643409 39.604965 16.330570 #S 92 U4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.355091 32.235306 0.557745 14.396367 21.751173 3.705863 0.067789 0.652613 42.354237 15.908239 3.553231 #S 92 U6+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.333844 31.770849 21.274414 13.872636 0.048519 3.700591 0.067644 0.646384 3.317894 14.650250 75.339699 #S 93 Np #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 32.999901 22.638077 14.219973 3.672950 15.683245 3.769391 0.657086 3.854918 17.435474 109.464485 0.068033 #S 93 Np3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.378152 32.572132 22.206125 1.413295 14.828381 3.603370 0.064613 0.631420 3.561936 37.875511 15.546129 #S 93 Np4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.373926 32.423019 21.969994 0.662078 14.969350 3.603039 0.064597 0.629658 3.476389 39.438942 15.135764 #S 93 Np6+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.359986 31.992825 21.412458 0.066574 14.568174 3.600942 0.064528 0.624505 3.253441 67.658318 13.980832 #S 94 Pu #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 33.281178 23.148544 15.153755 3.031492 15.704215 3.664200 0.634999 3.856168 16.849735 121.292038 0.064857 #S 94 Pu3+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.356004 32.769127 22.680210 1.351055 15.416232 3.428895 0.060590 0.604663 3.491509 37.260635 14.981921 #S 94 Pu4+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.416219 32.610569 22.256662 0.719495 15.518152 3.480408 0.061456 0.607938 3.411848 37.628792 14.464360 #S 94 Pu6+ #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.436506 32.289719 14.726737 15.012391 7.024677 3.502325 0.061815 0.606541 3.245363 13.616438 3.245364 #S 95 Am #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 33.435162 23.657259 15.576339 3.027023 15.746100 3.541160 0.612785 3.792942 16.195778 117.757004 0.061755 #S 96 Cm #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.804837 33.480801 24.150198 3.655563 15.499866 3.390840 0.058619 0.590160 3.674720 100.736191 15.408296 #S 97 Bk #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 15.889072 33.625286 24.710381 3.707139 15.839268 3.213169 0.055503 0.569571 3.615472 97.694786 14.754303 #S 98 Cf #N 11 #L a1 a2 a3 a4 a5 c b1 b2 b3 b4 b5 33.794075 25.467693 16.048487 3.657525 16.008982 3.005326 0.550447 3.581973 14.357388 96.064972 0.052450 Scattering/data/waaskirf.PL0000755000175000017500000001007210733234646015145 0ustar segresegre#!/usr/bin/perl -w ###################################################################### ## Time-stamp: <06/01/02 11:46:41 bruce> ###################################################################### ## This program is copyright (c) 2005-2006 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exafs/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## This program generates the Waasmaier-Kirfel data from a flat text ## database for use with the Xray::Scattering module. The data is ## simply an electronic form of those coefficients. The output is ## stored as a Storable binary database. The data is stored in ## "network" order so it can be accessed over a network and across ## disparate platforms. ## ## New analytical scattering-factor functions for free atoms and ions ## D. Waasmaier and A. Kirfel ## Acta Cryst. (1995). A51, 416-431 ## [ doi:10.1107/S0108767394013292 ] ###################################################################### ## Code: use strict; use Storable qw/nstore/; use File::Spec; use Chemistry::Elements qw(get_symbol); ##data (s(i),i=1,214) / my @symbols = qw(H H1- He Li Li1+ Be Be2+ B C Cval N O O1- O2- F F1- Ne Na Na1+ Mg Mg2+ Al Al3+ Si Siva Si4+ P S Cl Cl1- Ar K K1+ Ca Ca2+ Sc Sc3+ Ti Ti2+ Ti3+ Ti4+ V V2+ V3+ V5+ Cr Cr2+ Cr3+ Mn Mn2+ Mn3+ Mn4+ Fe Fe2+ Fe3+ Co Co2+ Co3+ Ni Ni2+ Ni3+ Cu Cu1+ Cu2+ Zn Zn2+ Ga Ga3+ Ge Ge4+ As Se Br Br1- Kr Rb Rb1+ Sr Sr2+ Y Zr Zr4+ Nb Nb3+ Nb5+ Mo Mo3+ Mo5+ Mo6+ Tc Ru Ru3+ Ru4+ Rh Rh3+ Rh4+ Pd Pd2+ Pd4+ Ag Ag1+ Ag2+ Cd Cd2+ In In3+ Sn Sn2+ Sn4+ Sb Sb3+ Sb5+ Te I I1- Xe Cs Cs1+ Ba Ba2+ La La3+ Ce Ce3+ Ce4+ Pr Pr3+ Pr4+ Nd Nd3+ Pm Pm3+ Sm Sm3+ Eu Eu2+ Eu3+ Gd Gd3+ Tb Tb3+ Dy Dy3+ Ho Ho3+ Er Er3+ Tm Tm3+ Yb Yb2+ Yb3+ Lu Lu3+ Hf Hf4+ Ta Ta5+ W W6+ Re Os Os4+ Ir Ir3+ Ir4+ Pt Pt2+ Pt4+ Au Au1+ Au3+ Hg Hg1+ Hg2+ Tl Tl1+ Tl3+ Pb Pb2+ Pb4+ Bi Bi3+ Bi5+ Po At Rn Fr Ra Ra2+ Ac Ac3+ Th Th4+ Pa U U3+ U4+ U6+ Np Np3+ Np4+ Np6+ Pu Pu3+ Pu4+ Pu6+ Am Cm Bk Cf); #----------------------------------------------------------------------- # the formula for reconstruction of f0 is: # 5 # f0(s) = sum [ ai*exp(-bi*s^2) ] + c , s = sin(theta) / lambda # i=1 ==> (lambda*s / 2pi) is the # momentum transfer #----------------------------------------------------------------------- # coef: 1..9 corresponding to a1,b1,a2,b2,a3,b3,a4,b4,c #----------------------------------------------------------------------- my $version = '1.0'; print "Waasmaier-Kirfel data conversion tool $version$/"; $| = 1; my $thisdir = &identify_self; my $infile = File::Spec -> catfile($thisdir, "f0_WaasKirf.dat"); open CM, $infile or die $!; my %cromann = (); print " Reading Waasmaier-Kirfel data "; my @data = (); while () { next if (/^\s*\#([CFN]|U([DOT]|IDL|3W))/); next if (/^\s*$/); if (/^\#S/) { chomp; my $key = lc((split)[2]); $_ = ; # read the #N line $_ = ; # read the #L line $_ = ; # this is the data chomp $_; $cromann{$key} = [split]; }; }; print "\n"; my $outfile = File::Spec -> catfile($thisdir, "waaskirf.db"); if (-e $outfile) { print " Removing old waaskirf.db.\n"; unlink($outfile); }; print " Writing waaskirf.db\n"; nstore(\%cromann, $outfile) or die "can't store hash: $!\n"; ## use Data::Dumper; ## print Data::Dumper->Dump([\%cromann], [qw/*cromann/]); sub identify_self { my @caller = caller; use File::Basename qw(dirname); return dirname($caller[1]); }; Scattering/data/cromann.dat0000644000175000017500000004032210733227532015222 0ustar segresegre # Aikman polynomial coefficients for the Cromer-Mann data. # The structure of this file is: # # Four character Element/valence symbol # a1 b1 a2 b2 a3 b3 a4 b4 c #----------------------------------------------------------------------- # the formula for reconstruction of f0 is: # 4 # f0(s) = sum [ ai*exp(-bi*s^2) ] + c , s = sin(theta) / lambda # i=1 ==> (lambda*s / 2pi) is the # momentum transfer # s = 1/2d where d=the d-spacing #----------------------------------------------------------------------- H .493002 10.5109 .322912 26.1257 .140191 3.14236 .040810 57.7997 .003038 H. .489918 20.6593 .262003 7.74039 .196767 49.5519 .049879 2.20159 .001305 H1- .897661 53.1368 .565616 15.1870 .415815 186.576 .116973 3.56709 .002389 He .8734 9.1037 .6309 3.3568 .3112 22.9276 .1780 .9821 .0064 Li 1.1282 3.9546 .7508 1.0524 .6175 85.3905 .4653 168.261 .0377 Li1+ .6968 4.6237 .7888 1.9557 .3414 .6316 .1563 10.0953 .0167 Be 1.5919 43.6427 1.1278 1.8623 .5391 103.483 .7029 .5420 .0385 Be2+ 6.2603 .0027 .8849 .8313 .7993 2.2758 .1647 5.1146 -6.1092 B 2.0545 23.2185 1.3326 1.0210 1.0979 60.3498 .7068 .1403 -.1932 C 2.3100 20.8439 1.0200 10.2075 1.5886 .5687 .8650 51.6512 .2156 C. 2.26069 22.6907 1.56165 .656665 1.05075 9.75618 .839259 55.5949 .286977 N 12.2126 .0057 3.1322 9.8933 2.0125 28.9975 1.1663 .5826 -11.529 O 3.0485 13.2771 2.2868 5.7011 1.5463 .3239 .8670 32.9089 .2508 O1- 4.19160 12.8573 1.63969 4.17236 1.52673 47.0179 -20.307 -.01404 21.9412 F 3.5392 10.2825 2.6412 4.2944 1.5170 .2615 1.0243 26.1476 .2776 F1- 3.63220 5.27756 3.51057 14.7353 1.26064 .442258 .940706 47.3437 .653396 Ne 3.9553 8.4042 3.1125 3.4262 1.4546 .2306 1.1251 21.7184 .3515 Na 4.7626 3.2850 3.1736 8.8422 1.2674 .3136 1.1128 129.424 .6760 Na1+ 3.2565 2.6671 3.9362 6.1153 1.3998 .2001 1.0032 14.0390 .4040 Mg 5.4204 2.8275 2.1735 79.2611 1.2269 .3808 2.3073 7.1937 .8584 Mg2+ 3.4988 2.1676 3.8378 4.7542 1.3284 .1850 .8497 10.1411 .4853 Al 6.4202 3.0387 1.9002 .7426 1.5936 31.5472 1.9646 85.0886 1.1151 Al3+ 4.17448 1.93816 3.38760 4.14553 1.20296 .228753 .528137 8.28524 .706786 Si 6.2915 2.4386 3.0353 32.3337 1.9891 .6785 1.5410 81.6937 1.1407 Si. 5.66269 2.66520 3.07164 38.6634 2.62446 .916946 1.39320 93.5458 1.24707 Si4+ 4.43918 1.64167 3.20345 3.43757 1.19453 .214900 .416530 6.65365 .746297 S 6.9053 1.4679 5.2034 22.2151 1.4379 .2536 1.5863 56.1720 .8669 P 6.4345 1.9067 4.1791 27.1570 1.7800 .5260 1.4908 68.1645 1.1149 Cl 11.4604 .0104 7.1964 1.1662 6.2556 18.5194 1.6455 47.7784 -9.5574 Cl1- 18.2915 .0066 7.2084 1.1717 6.5337 19.5424 2.3386 60.4486 -16.378 Ar 7.4845 .9072 6.7723 14.8407 .6539 43.8983 1.6442 33.3929 1.4445 K 8.2186 12.7949 7.4398 .7748 1.0519 213.187 .8659 41.6841 1.4228 K1+ 7.9578 12.6331 7.4917 .7674 6.3590 -.0020 1.1915 31.9128 -4.9978 Ca 8.6266 10.4421 7.3873 .6599 1.5899 85.7484 1.0211 178.437 1.3751 Ca2+ 15.6348 -.0074 7.9518 .6089 8.4372 10.3116 .8537 25.9905 -14.875 Sc 9.1890 9.0213 7.3679 .5729 1.6409 136.108 1.4680 51.3531 1.3329 Sc3+ 13.4008 .298540 8.02730 7.96290 1.65943 -.28604 1.57936 16.0662 -6.6667 Ti 9.7595 7.8508 7.3558 .5000 1.6991 35.6338 1.9021 116.105 1.2807 Ti2+ 9.11423 7.52430 7.62174 .457585 2.27930 19.5361 .087899 61.6558 .897155 Ti3+ 17.7344 .220610 8.73816 7.04716 5.25691 -.15762 1.92134 15.9768 -14.652 Ti4+ 19.5114 .178847 8.23473 6.67018 2.01341 -.29263 1.52080 12.9464 -13.280 V 10.2971 6.8657 7.3511 .4385 2.0703 26.8938 2.0571 102.478 1.2199 V2+ 10.1060 6.8818 7.3541 .4409 2.2884 20.3004 .0223 115.122 1.2298 V3+ 9.43141 6.39535 7.74190 .383349 2.15343 15.1908 .016865 63.9690 .656565 V5+ 15.6887 .679003 8.14208 5.40135 2.03081 9.97278 -9.5760 .940464 1.71430 Cr 10.6406 6.1038 7.3537 .3920 3.3240 20.2626 1.4922 98.7399 1.1832 Cr2+ 9.54034 5.66078 7.75090 .344261 3.58274 13.3075 .509107 32.4224 .616898 Cr3+ 9.68090 5.59463 7.81136 .334393 2.87603 12.8288 .113575 32.8761 .518275 Mn 11.2819 5.3409 7.3573 .3432 3.0193 17.8674 2.2441 83.7543 1.0896 Mn2+ 10.8061 5.2796 7.3620 .3435 3.5268 14.3430 .2184 41.3235 1.0874 Mn3+ 9.84521 4.91797 7.87194 .294393 3.56531 10.8171 .323613 24.1281 .393974 Mn4+ 9.96253 4.84850 7.97057 .283303 2.76067 10.4852 .054447 27.5730 .251877 Fe 11.7695 4.7611 7.3573 .3072 3.5222 15.3535 2.3045 76.8805 1.0369 Fe2+ 11.0424 4.6538 7.3740 .3053 4.1346 12.0546 .4399 31.2809 1.0097 Fe3+ 11.1764 4.6147 7.3863 .3005 3.3948 11.6729 .0724 38.5566 .9707 Co 12.2841 4.2791 7.3409 .2784 4.0034 13.5359 2.3488 71.1692 1.0118 Co2+ 11.2296 4.1231 7.3883 .2726 4.7393 10.2443 .7108 25.6466 .9324 Co3+ 10.3380 3.90969 7.88173 .238668 4.76795 8.35583 .725591 18.3491 .286667 Ni 12.8376 3.8785 7.2920 .2565 4.4438 12.1763 2.3800 66.3421 1.0341 Ni2+ 11.4166 3.6766 7.4005 .2449 5.3442 8.8730 .9773 22.1626 .8614 Ni3+ 10.7806 3.54770 7.75868 .223140 5.22746 7.64468 .847114 16.9673 .386044 Cu 13.3380 3.5828 7.1676 .2470 5.6158 11.3966 1.6735 64.8126 1.1910 Cu1+ 11.9475 3.3669 7.3573 .2274 6.2455 8.6625 1.5578 25.8487 .8900 Cu2+ 11.8168 3.37484 7.11181 .244078 5.78135 7.98760 1.14523 19.8970 1.14431 Zn 14.0743 3.2655 7.0318 .2333 5.1652 10.3163 2.4100 58.7097 1.3041 Zn2+ 11.9719 2.9946 7.3862 .2031 6.4668 7.0826 1.3940 18.0995 .7807 Ga 15.2354 3.0669 6.7006 .2412 4.3591 10.7805 2.9623 61.4135 1.7189 Ga3+ 12.6920 2.81262 6.69883 .227890 6.06692 6.36441 1.00660 14.4122 1.53545 Ge 16.0816 2.8509 6.3747 .2516 3.7068 11.4468 3.6830 54.7625 2.1313 Ge4+ 12.9172 2.53718 6.70003 .205855 6.06791 5.47913 .859041 11.6030 1.45572 As 16.6723 2.6345 6.0701 .2647 3.4313 12.9479 4.2779 47.7972 2.5310 Se 17.0006 2.4098 5.8196 .2726 3.9731 15.2372 4.3543 43.8163 2.8409 Br 17.1789 2.1723 5.2358 16.5796 5.6377 .2609 3.9851 41.4328 2.9557 Br1- 17.1718 2.2059 6.3338 19.3345 5.5754 .2871 3.7272 58.1535 3.1776 Kr 17.3555 1.9384 6.7286 16.5623 5.5493 .2261 3.5375 39.3972 2.8250 Rb 17.1784 1.7888 9.6435 17.3151 5.1399 .2748 1.5292 164.934 3.4873 Rb1+ 17.5816 1.7139 7.6598 14.7957 5.8981 .1603 2.7817 31.2087 2.0782 Sr 17.5663 1.5564 9.8184 14.0988 5.4220 .1664 2.6694 132.376 2.5064 Sr2+ 18.0874 1.4907 8.1373 12.6963 2.5654 24.5651 -34.193 -.0138 41.4025 Y 17.7760 1.40290 10.2946 12.8006 5.72629 .125599 3.26588 104.354 1.91213 Y3+ 17.9268 1.35417 9.15310 11.2145 1.76795 22.6599 -33.108 -.01319 40.2602 Zr 17.8765 1.27618 10.9480 11.9160 5.41732 .117622 3.65721 87.6627 2.06929 Zr4+ 18.1668 1.21480 10.0562 10.1483 1.01118 21.6054 -2.6479 -.10276 9.41454 Nb 17.6142 1.18865 12.0144 11.7660 4.04183 .204785 3.53346 69.7957 3.75591 Nb3+ 19.8812 .019175 18.0653 1.13305 11.0177 10.1621 1.94715 28.3389 -12.912 Nb5+ 17.9163 1.12446 13.3417 .028781 10.7990 9.28206 .337905 25.7228 -6.3934 Mo 3.7025 .2772 17.2356 1.0958 12.8876 11.0040 3.7429 61.6584 4.3875 Mo3+ 21.1664 .014734 18.2017 1.03031 11.7423 9.53659 2.30951 26.6307 -14.421 Mo5+ 21.0149 .014345 18.0992 1.02238 11.4632 8.78809 .740625 23.3452 -14.316 Mo6+ 17.8871 1.03649 11.1750 8.48061 6.57891 .058881 0.0 0.0 .344941 Tc 19.1301 .864132 11.0948 8.14487 4.64901 21.5707 2.71263 86.8472 5.40428 Ru 19.2674 .808520 12.9182 8.43467 4.86337 24.7997 1.56756 94.2928 5.37874 Ru3+ 18.5638 .847329 13.2885 8.37164 9.32602 .017662 3.00964 22.8870 -3.1892 Ru4+ 18.5003 .844582 13.1787 8.12534 4.71304 .036495 2.18535 20.8504 1.42357 Rh 19.2957 .751536 14.3501 8.21758 4.73425 25.8749 1.28918 98.6062 5.32800 Rh3+ 18.8785 .764252 14.1259 7.84438 3.32515 21.2487 -6.1989 -.01036 11.8678 Rh4+ 18.8545 .760825 13.9806 7.62436 2.53464 19.3317 -5.6526 -.01020 11.2835 Pd 19.3319 .698655 15.5017 7.98929 5.29537 25.2052 .605844 76.8986 5.26593 Pd2+ 19.1701 .696219 15.2096 7.55573 4.32234 22.5057 0.0 0.0 5.29160 Pd4+ 19.2493 .683839 14.7900 7.14833 2.89289 17.9144 -7.9492 .005127 13.0174 Ag 19.2808 .6446 16.6885 7.4726 4.8045 24.6605 1.0463 99.8156 5.1790 Ag1+ 19.1812 .646179 15.9719 7.19123 5.27475 21.7326 .357534 66.1147 5.21572 Ag2+ 19.1643 .645643 16.2456 7.18544 4.37090 21.4072 0.0 0.0 5.21404 Cd 19.2214 .5946 17.6444 6.9089 4.4610 24.7008 1.6029 87.4825 5.0694 Cd2+ 19.1514 .597922 17.2535 6.80639 4.47128 20.2521 0.0 0.0 5.11937 In 19.1624 .5476 18.5596 6.3776 4.2948 25.8499 2.0396 92.8029 4.9391 In3+ 19.1045 .551522 18.1108 6.32470 3.78897 17.3595 0.0 0.0 4.99635 Sn 19.1889 5.8303 19.1005 .5031 4.4585 26.8909 2.4663 83.9571 4.7821 Sn2+ 19.1094 .5036 19.0548 5.8378 4.5648 23.3752 .4870 62.2061 4.7861 Sn4+ 18.9333 5.7640 19.7131 .4655 3.4182 14.0049 .0193 -.7583 3.9182 Sb 19.6418 5.3034 19.0455 .4607 5.0371 27.9074 2.6827 75.2825 4.5909 Sb3+ 18.9755 .467196 18.9330 5.22126 5.10789 19.5902 .288753 55.5113 4.69626 Sb5+ 19.8685 5.44853 19.0302 .467973 2.41253 14.1259 0.0 0.0 4.69263 Te 19.9644 4.81742 19.0138 .420885 6.14487 28.5284 2.52390 70.8403 4.35200 I 20.1472 4.3470 18.9949 .3814 7.5138 27.7660 2.2735 66.8776 4.0712 I1- 20.2332 4.3579 18.9970 .3815 7.8069 29.5259 2.8868 84.9304 4.0714 Xe 20.2933 3.9282 19.0298 .3440 8.9767 26.4659 1.9900 64.2658 3.7118 Cs 20.3892 3.5690 19.1062 .3107 10.6620 24.3879 1.4953 213.904 3.3352 Cs1+ 20.3524 3.5520 19.1278 .3086 10.2821 23.7128 .9615 59.4565 3.2791 Ba 20.3361 3.2160 19.2970 .2756 10.8880 20.2073 2.6959 167.202 2.7731 Ba2+ 20.1807 3.21367 19.1136 .283310 10.9054 20.0558 .773634 51.7460 3.02902 La 20.5780 2.94817 19.5990 .244475 11.3727 18.7726 3.28719 133.124 2.14678 La3+ 20.2489 2.92070 19.3763 .250698 11.6323 17.8211 .336048 54.9453 2.40860 Ce 21.1671 2.81219 19.7695 .226836 11.8513 17.6083 3.33049 127.113 1.86264 Ce3+ 20.8036 2.77691 19.5590 .231540 11.9369 16.5408 .612376 43.1692 2.09013 Ce4+ 20.3235 2.65941 19.8186 .218850 12.1233 15.7992 .144583 62.2355 1.59180 Pr 22.0440 2.77393 19.6697 .222087 12.3856 16.7669 2.82428 143.644 2.05830 Pr3+ 21.3727 2.64520 19.7491 .214299 12.1329 15.3230 .975180 36.4065 1.77132 Pr4+ 20.9413 2.54467 20.0539 .202481 12.4668 14.8137 .296689 45.4643 1.24285 Nd 22.6845 2.66248 19.6847 .210628 12.7740 15.8850 2.85137 137.903 1.98486 Nd3+ 21.9610 2.52722 19.9339 .199237 12.1200 14.1783 1.51031 30.8717 1.47588 Pm 23.3405 2.56270 19.6095 .202088 13.1235 15.1009 2.87516 132.721 2.02876 Pm3+ 22.5527 2.41740 20.1108 .185769 12.0671 13.1275 2.07492 27.4491 1.19499 Sm 24.0042 2.47274 19.4258 .196451 13.4396 14.3996 2.89604 128.007 2.20963 Sm3+ 23.1504 2.31641 20.2599 .174081 11.9202 12.1571 2.71488 24.8242 .954586 Eu 24.6274 2.3879 19.0886 .1942 13.7603 13.7546 2.9227 123.174 2.5745 Eu2+ 24.0063 2.27783 19.9504 .173530 11.8034 11.6096 3.87243 26.5156 1.36389 Eu3+ 23.7497 2.22258 20.3745 .163940 11.8509 11.3110 3.26503 22.9966 .759344 Gd 25.0709 2.25341 19.0798 .181951 13.8518 12.9331 3.54545 101.398 2.41960 Gd3+ 24.3466 2.13553 20.4208 .155525 11.8708 10.5782 3.71490 21.7029 .645089 Tb 25.8976 2.24256 18.2185 .196143 14.3167 12.6648 2.95354 115.362 3.58324 Tb3+ 24.9559 2.05601 20.3271 .149525 12.2471 10.0499 3.77300 21.2773 .691967 Dy 26.5070 2.18020 17.6383 .202172 14.5596 12.1899 2.96577 111.874 4.29728 Dy3+ 25.5395 1.98040 20.2861 .143384 11.9812 9.34972 4.50073 19.5810 .689690 Ho 26.9049 2.07051 17.2940 .197940 14.5583 11.4407 3.63837 92.6566 4.56796 Ho3+ 26.1296 1.91072 20.0994 .139358 11.9788 8.80018 4.93676 18.5908 .852795 Er 27.6563 2.07356 16.4285 .223545 14.9779 11.3604 2.98233 105.703 5.92046 Er3+ 26.7220 1.84659 19.7748 .137290 12.1506 8.36225 5.17379 17.8974 1.17613 Tm 28.1819 2.02859 15.8851 .238849 15.1542 10.9975 2.98706 102.961 6.75621 Tm3+ 27.3083 1.78711 19.3320 .136974 12.3339 7.96778 5.38348 17.2922 1.63929 Yb 28.6641 1.98890 15.4345 .257119 15.3087 10.6647 2.98963 100.417 7.56672 Yb2+ 28.1209 1.78503 17.6817 .159970 13.3335 8.18304 5.14657 20.3900 3.70983 Yb3+ 27.8917 1.73272 18.7614 .138790 12.6072 7.64412 5.47647 16.8153 2.26001 Lu 28.9476 1.90182 15.2208 9.98519 15.1000 .261033 3.71601 84.3298 7.97628 Lu3+ 28.4628 1.68216 18.1210 .142292 12.8429 7.33727 5.59415 16.3535 2.97573 Hf 29.1440 1.83262 15.1726 9.59990 14.7586 .275116 4.30013 72.0290 8.58154 Hf4+ 28.8131 1.59136 18.4601 .128903 12.7285 6.76232 5.59927 14.0366 2.39699 Ta 29.2024 1.77333 15.2293 9.37046 14.5135 .295977 4.76492 63.3644 9.24354 Ta5+ 29.1587 1.50711 18.8407 .116741 12.8268 6.31524 5.38695 12.4244 1.78555 W 29.0818 1.72029 15.4300 9.22590 14.4327 .321703 5.11982 57.0560 9.88750 W6+ 29.4936 1.42755 19.3763 .104621 13.0544 5.93667 5.06412 11.1972 1.01074 Re 28.7621 1.67191 15.7189 9.09227 14.5564 .350500 5.44174 52.0861 10.4720 Os 28.1894 1.62903 16.1550 8.97948 14.9305 .382661 5.67589 48.1647 11.0005 Os4+ 30.4190 1.37113 15.2637 6.84706 14.7458 .165191 5.06795 18.0030 6.49804 Ir 27.3049 1.59279 16.7296 8.86553 15.6115 .417916 5.83377 45.0011 11.4722 Ir3+ 30.4156 1.34323 15.8620 7.10909 13.6145 .204633 5.82008 20.3254 8.27903 Ir4+ 30.7058 1.30923 15.5512 6.71983 14.2326 .167252 5.53672 17.4911 6.96824 Pt 27.0059 1.51293 17.7639 8.81174 15.7131 .424593 5.78370 38.6103 11.6883 Pt2+ 29.8429 1.32927 16.7224 7.38979 13.2153 .263297 6.35234 22.9426 9.85329 Pt4+ 30.9612 1.24813 15.9829 6.60834 13.7348 .168640 5.92034 16.9392 7.39534 Au 16.8819 .4611 18.5913 8.6216 25.5582 1.4826 5.8600 36.3956 12.0658 Au1+ 28.0109 1.35321 17.8204 7.73950 14.3359 .356752 6.58077 26.4043 11.2299 Au3+ 30.6886 1.21990 16.9029 6.82872 12.7801 .212867 6.52354 18.6590 9.09680 Hg 20.6809 .5450 19.0417 8.4484 21.6575 1.5729 5.9676 38.3246 12.6089 Hg1+ 25.0853 1.39507 18.4973 7.65105 16.8883 .443378 6.48216 28.2262 12.0205 Hg2+ 29.5641 1.21152 18.0600 7.05639 12.8374 .284738 6.89912 20.7482 10.6268 Tl 27.5446 .655150 19.1584 8.70751 15.5380 1.96347 5.52593 45.8149 13.1746 Tl1+ 21.3985 1.47110 20.4723 .517394 18.7478 7.43463 6.82847 28.8482 12.5258 Tl3+ 30.8695 1.10080 18.3841 6.53852 11.9328 .219074 7.00574 17.2114 9.80270 Pb 31.0617 .6902 13.0637 2.3576 18.4420 8.6180 5.9696 47.2579 13.4118 Pb2+ 21.7886 1.33660 19.5682 .488383 19.1406 6.77270 7.01107 23.8132 12.4734 Pb4+ 32.1244 1.00566 18.8003 6.10926 12.0175 .147041 6.96886 14.7140 8.08428 Bi 33.3689 .7040 12.9510 2.9238 16.5877 8.7937 6.4692 48.0093 13.5782 Bi3+ 21.8053 1.23560 19.5026 6.24149 19.1053 .469999 7.10295 20.3185 12.4711 Bi5+ 33.5364 .916540 25.0946 .039042 19.2497 5.71414 6.91555 12.8285 -6.7994 Po 34.6726 .700999 15.4733 3.55078 13.1138 9.55642 7.02588 47.0045 13.6770 At 35.3163 .685870 19.0211 3.97458 9.49887 11.3824 7.42518 45.4715 13.7108 Rn 35.5631 .6631 21.2816 4.0691 8.0037 14.0422 7.4433 44.2473 13.6905 Fr 35.9299 .646453 23.0547 4.17619 12.1439 23.1052 2.11253 150.645 13.7247 Ra 35.7630 .616341 22.9064 3.87135 12.4739 19.9887 3.21097 142.325 13.6211 Ra2+ 35.2150 .604909 21.6700 3.57670 7.91342 12.6010 7.65078 29.8436 13.5431 Ac 35.6597 .589092 23.1032 3.65155 12.5977 18.5990 4.08655 117.020 13.5266 Ac3+ 35.1736 .579689 22.1112 3.41437 8.19216 12.9187 7.05545 25.9443 13.4637 Th 35.5645 .563359 23.4219 3.46204 12.7473 17.8309 4.80703 99.1722 13.4314 Th4+ 35.1007 .555054 22.4418 3.24498 9.78554 13.4661 5.29444 23.9533 13.3760 Pa 35.8847 .547751 23.2948 3.41519 14.1891 16.9235 4.17287 105.251 13.4287 U 36.0228 .5293 23.4128 3.3253 14.9491 16.0927 4.1880 100.613 13.3966 U3+ 35.5747 .520480 22.5259 3.12293 12.2165 12.7148 5.37073 26.3394 13.3092 U4+ 35.3715 .516598 22.5326 3.05053 12.0291 12.5723 4.79840 23.4582 13.2671 U6+ 34.8509 .507079 22.7584 2.89030 14.0099 13.1767 1.21457 25.2017 13.1665 Np 36.1874 .511929 23.5964 3.25396 15.6402 15.3622 4.18550 97.4908 13.3573 Np3+ 35.0136 .489810 22.7286 2.81099 14.3884 12.3300 1.75669 22.6581 13.1130 Np4+ 36.5254 .499384 23.8083 3.26371 16.7707 14.9455 3.47947 105.980 13.3812 Np6+ 35.7074 .502322 22.6130 3.03807 12.9898 12.1449 5.43227 25.4928 13.2544 Pu 35.5103 .498626 22.5787 2.96627 12.7766 11.9484 4.92159 22.7502 13.2116 Pu3+ 35.8400 .484938 22.7169 2.96118 13.5807 11.5331 5.66016 24.3992 13.1991 Pu4+ 35.6493 .481422 22.6460 2.89020 13.3595 11.3160 5.18831 21.8301 13.1555 Pu6+ 35.1736 .473204 22.7181 2.73848 14.7635 11.5530 2.28678 20.9303 13.0582 Am 36.6706 .483629 24.0992 3.20647 17.3415 14.3136 3.49331 102.273 13.3592 Cm 36.6488 .465154 24.4096 3.08997 17.3990 13.4346 4.21665 88.4834 13.2887 Bk 36.7881 .451018 24.7736 3.04619 17.8919 12.8946 4.23284 86.0030 13.2754 Cf 36.9185 0.437533 25.1995 3.00775 18.3317 12.4044 4.24391 83.7881 13.2674 O2-. 4.758 7.831 3.637 30.05 0. 0. 0. 0. 1.594 Scattering/data/cromann.PL0000755000175000017500000001171310733227532014772 0ustar segresegre#!/usr/bin/perl -w ###################################################################### ## Time-stamp: <06/01/02 11:46:09 bruce> ###################################################################### ## This program is copyright (c) 1999-2006 Bruce Ravel ## ## http://cars9.uchicago.edu/~ravel/software/exfas/ ## ## ------------------------------------------------------------------- ## All rights reserved. This program is free software; you can ## redistribute it and/or modify it under the same terms as Perl ## itself. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## Artistic License for more details. ## ------------------------------------------------------------------- ###################################################################### ## This program generates the Cromer-Mann data from a flat text ## database for use with the Xray::Scattering module. The data is ## simply an electronic form of the coefficients in the International ## Tables of Crystallography. The output is stored as a Storable ## binary database. The data is stored in "network" order so it can ## be accessed over a network and across disparate platforms. ###################################################################### ## Code: use strict; use Storable qw/nstore/; use File::Spec; use Chemistry::Elements qw(get_symbol); ##data (s(i),i=1,214) / my @symbols = ( 'h', 'h.', 'h1-', 'he', 'li', 'li1+', 'be', 'be2+', 'b', 'c', 'c.', 'n', 'o', 'o1-', 'f', 'f1-', 'ne', 'na', 'na1+', 'mg', 'mg2+', 'al', 'al3+', 'si', 'si.', 'si4+', 's', 'p', 'cl', 'cl1-', 'ar', 'k', 'k1+', 'ca', 'ca2+', 'sc', 'sc3+', 'ti', 'ti2+', 'ti3+', 'ti4+', 'v', 'v2+', 'v3+', 'v5+', 'cr', 'cr2+', 'cr3+', 'mn', 'mn2+', 'mn3+', 'mn4+', 'fe', 'fe2+', 'fe3+', 'co', 'co2+', 'co3+', 'ni', 'ni2+', 'ni3+', 'cu', 'cu1+', 'cu2+', 'zn', 'zn2+', 'ga', 'ga3+', 'ge', 'ge4+', 'as', 'se', 'br', 'br1-', 'kr', 'rb', 'rb1+', 'sr', 'sr2+', 'y', 'y3+', 'zr', 'zr4+', 'nb', 'nb3+', 'nb5+', 'mo', 'mo3+', 'mo5+', 'mo6+', 'tc', 'ru', 'ru3+', 'ru4+', 'rh', 'rh3+', 'rh4+', 'pd', 'pd2+', 'pd4+', 'ag', 'ag1+', 'ag2+', 'cd', 'cd2+', 'in', 'in3+', 'sn', 'sn2+', 'sn4+', 'sb', 'sb3+', 'sb5+', 'te', 'i', 'i1-', 'xe', 'cs', 'cs1+', 'ba', 'ba2+', 'la', 'la3+', 'ce', 'ce3+', 'ce4+', 'pr', 'pr3+', 'pr4+', 'nd', 'nd3+', 'pm', 'pm3+', 'sm', 'sm3+', 'eu', 'eu2+', 'eu3+', 'gd', 'gd3+', 'tb', 'tb3+', 'dy', 'dy3+', 'ho', 'ho3+', 'er', 'er3+', 'tm', 'tm3+', 'yb', 'yb2+', 'yb3+', 'lu', 'lu3+', 'hf', 'hf4+', 'ta', 'ta5+', 'w', 'w6+', 're', 'os', 'os4+', 'ir', 'ir3+', 'ir4+', 'pt', 'pt2+', 'pt4+', 'au', 'au1+', 'au3+', 'hg', 'hg1+', 'hg2+', 'tl', 'tl1+', 'tl3+', 'pb', 'pb2+', 'pb4+', 'bi', 'bi3+', 'bi5+', 'po', 'at', 'rn', 'fr', 'ra', 'ra2+', 'ac', 'ac3+', 'th', 'th4+', 'pa', 'u', 'u3+', 'u4+', 'u6+', 'np', 'np3+', 'np4+', 'np6+', 'pu', 'pu3+', 'pu4+', 'pu6+', 'am', 'cm', 'bk', 'cf', 'o2-.', ' ', 'nu', ); #----------------------------------------------------------------------- # the formula for reconstruction of f0 is: # 4 # f0(s) = sum [ ai*exp(-bi*s^2) ] + c , s = sin(theta) / lambda # i=1 ==> (lambda*s / 2pi) is the # momentum transfer #----------------------------------------------------------------------- # coef: 1..9 corresponding to a1,b1,a2,b2,a3,b3,a4,b4,c #----------------------------------------------------------------------- my $cvs_info = '$Id: cromann.PL,v 1.3 1999/06/11 22:16:53 bruce Exp $ '; my $version = (split(' ', $cvs_info))[2] || "pre_release"; print "Cromer-Mann data conversion tool $version$/"; $| = 1; my $thisdir = &identify_self; my $infile = File::Spec -> catfile($thisdir, "cromann.dat"); open CM, $infile or die $!; my %cromann = (); print " Reading Cromer-Mann data "; my @data = (); while () { next if (/^\s*\#/); next if (/^\s*$/); if (/^[^ ]/) { chomp; my $key = lc((split)[0]); $_ = ; chomp $_; $cromann{$key} = [split]; }; }; print "\n"; my $outfile = File::Spec -> catfile($thisdir, "cromann.db"); if (-e $outfile) { print " Removing old cromann.db.\n"; unlink($outfile); }; print " Writing cromann.db\n"; nstore(\%cromann, $outfile) or die "can't store hash: $!\n"; ## use Data::Dumper; ## print Data::Dumper->Dump([\%cromann], [qw/*cromann/]); sub identify_self { my @caller = caller; use File::Basename qw(dirname); return dirname($caller[1]); }; Scattering/INSTALL0000644000175000017500000000117310734535007013214 0ustar segresegreQuick installation instructions for Xray::Scattering Do these three steps at the command line: perl Build.PL ./Build sudo ./Build install If you are on a system that uses root, you should become root before doing the last step, then simply type ./Build install The first step will warn you if you have any missing dependencies. If you obtained this from the SVN repository, then you will find a script called "install_prereqs" in the directory above this one. Running it will install all the missing pre-requisites, including the Module::Build, which is used to build and install this module. BR (26 December, 2007)Scattering/MANIFEST0000644000175000017500000000041011370625157013310 0ustar segresegreBuild.PL data/cromann.dat data/cromann.PL data/f0_WaasKirf.dat data/waaskirf.PL INSTALL lib/Xray/Scattering.pm lib/Xray/Scattering/CromerMann.pm lib/Xray/Scattering/None.pm lib/Xray/Scattering/WaasKirf.pm MANIFEST This list of files t/test_X_S.t README META.yml Scattering/Build.PL0000644000175000017500000000163411440775605013466 0ustar segresegreuse strict; use warnings; use Module::Build; my $build = Module::Build -> new( create_readme => 1, ##create_makefile_pl => 'traditional', license => 'perl', module_name => 'Xray::Scattering', dist_author => 'Bruce Ravel ', dist_abstract => "Class methods for X-ray scattering data of the elements", requires => { 'Chemistry::Elements' => 0, 'Math::Derivative' => 0, 'Math::Spline' => 0, }, PL_files => { 'data/cromann.PL' => 'data/cromann.db', 'data/waaskirf.PL' => 'data/waaskirf.db', }, db_files => { 'data/cromann.db' => 'lib/Xray/Scattering/cromann.db', 'data/waaskirf.db' => 'lib/Xray/Scattering/waaskirf.db', }, recommends => {}, sign => 0, ); $build->add_build_element('db'); $build->create_build_script; Scattering/MANIFEST.SKIP0000644000175000017500000000112011370625157014054 0ustar segresegre# Avoid version control files. \bRCS\b \bCVS\b ,v$ \B\.svn\b \B\.cvsignore$ # Avoid Makemaker generated and utility files. \bMakefile$ \bblib \bMakeMaker-\d \bpm_to_blib$ \bblibdirs$ ^MANIFEST\.SKIP$ # Avoid Module::Build generated and utility files. \bBuild$ \bBuild.bat$ \b_build # Avoid Devel::Cover generated files \bcover_db # Avoid temp and backup files. ~$ \.tmp$ \.old$ \.bak$ \#$ \.# \.rej$ # Avoid OS-specific files/dirs # Mac OSX metadata \B\.DS_Store # Mac OSX SMB mount metadata files \B\._ # Avoid archives of this distribution \bXray-Scattering-[\d\.\_]+ ^MYMETA.yml$ Scattering/private-install0000755000175000017500000000335511370623061015226 0ustar segresegre#!/bin/sh -x ###################################################################### ## This simple shell script is a replacement for the `make install' ## stage of the standard perl module installation sequence. If you ## are installing as a private user, you do not have write access to ## the system level directories where perl wants to install modules. ## It is possible to override these locations from the command line, ## but that requires a large number of awkward command line ## arguments. In this script, I have attempted to make good guesses ## for where things should be installed. These guesses are: ## ## modules: install to the location in the PERL5LIB or PERLLIB ## environment variable ## scripts: $HOME/bin -- a reasonable guess for where a normal user ## might keep personal programs and scripts ## man pages: into this directory -- this is roughly equivalent to ## not installing the man pages. most normal users do ## not keep personal man pages ## architecture dependent files: ## the auto/ directory under PERL5LIB or PERLLIB ## ## If this doesn't work for you, just edit this file as appropriate. ###################################################################### if [ $PERL5LIB ] then PLIB=`echo $PERL5LIB | sed ' s/\([^:]*\):.*/\1/'` elif [ $PERLLIB ] then PLIB=`echo $PERLLIB | sed ' s/\([^:]*\):.*/\1/'` else echo "Neither PERL5LIB nor PERLLIB are set. Private installation halting." exit fi ./Build --install_path lib=$PLIB \ --install_path arch=$PLIB \ --install_path bin=$HOME/bin \ --install_path script=$HOME/bin \ --install_path bindoc=`pwd`/man/ \ --install_path libdoc=`pwd`/man/ \ install